[
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\nissuehunt: farbelous\ncustom: https://www.paypal.me/metaunicorn/20\n"
  },
  {
    "path": ".gitignore",
    "content": "*~\n.DS_Store\n.DS_Store*\nehthumbs.db\nThumbs.db\n*.log\n/ignore/\n/ignored/\n/node_modules/\n/bower_components/\n/nbproject/\n.idea/\nprod/\n.icons.temp\n*.zip"
  },
  {
    "path": ".npmignore",
    "content": "extension\n*.zip\n*.psd\ncomposer.json\n.*\nnode_modules\nCODE_OF_CONDUCT.md"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nnode_js:\n  - \"0.10\"\nbefore_script:\n  - npm install -g grunt-cli\n\nscript: grunt --verbose --force"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team members through their social media sites or at _git @ itsjavi.com_.\nThe project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "## Submitting issues\nFor feature requests, suggestions or ideas, add `[SUGGESTION]` before the title of the issue, for anything else follow the following guidelines.\n\n### Guidelines\n- Try to reproduce your problem in a separated environment, like in JSFiddle, [here is a template for it](http://jsfiddle.net/itsjavi/6aLndfgq/), that you can fork in the same page.\n- Before posting your issue, consider adding this information:\n  * Expected behaviour: what should happen?\n  * Actual behaviour: what happens instead?\n  * Your context: Where it happens? In which browser and version (if applicable)?\n  * Plugin version (and/or commit reference).\n  * jQuery version you use and list of all other plugins/scripts you are using with this one and may cause some conflict.\n  * A link to your JSFiddle (or similar tool) demo where you reproduced the problem\n  \n## Contributing to Source Code\n\nThanks for wanting to contribute source code to this project. That's great!\n\n- Before starting developing the plugin, you need to run `npm install` and `bower install` inside the plugin folder.\n- Before your commits run always `grunt` inside the plugin folders, to update the dist files (don't modify them manually).\n- Do not change the plugin coding style.\n- Check that the index.html demos aren't broken (modify if necessary).\n- Test your code at least in Chrome, Firefox and IE >= 10.\n"
  },
  {
    "path": "Gruntfile.js",
    "content": "'use strict';\n\nconst FONTAWESOME_VERSION = '5.5.0';\nconst jsBanner = `/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * @author Javi Aguilar, itsjavi.com\n * @license MIT License\n * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n */\n `;\n\nmodule.exports = function(grunt) {\n    const parsedIconPicker = 'prod/src/js/iconpicker.js';\n    const tempIconsFile = '.icons.temp';\n    grunt.initConfig({\n        download: {\n            somefile: {\n                src: [\n                    'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/' +\n                    FONTAWESOME_VERSION +\n                    '/advanced-options/metadata/icons.yml'\n                ],\n                dest: tempIconsFile\n            },\n        },\n        yaml: {\n            getIcons: {\n                options: {\n                    space: 2,\n                    disableDest: true,\n                    middleware: function(response, sourceJSON, src, dest) {\n                        let targetJSON = {\n                            icons: []\n                        };\n                        sourceJSON = JSON.parse(sourceJSON);\n                        Object.keys(sourceJSON).forEach(function(key) {\n                            let ele = sourceJSON[key];\n                            let icon = 'fa-' + key;\n                            ele.styles.forEach(function(style) {\n                                style = style.toLowerCase();\n                                if (style.startsWith('brand')) {\n                                    targetJSON.icons.push({\n                                        title: 'fab ' + icon,\n                                        searchTerms: ele.search.terms\n                                    });\n                                } else if (style.startsWith('solid')) {\n                                    targetJSON.icons.push({\n                                        title: 'fas ' + icon,\n                                        searchTerms: ele.search.terms\n                                    });\n                                } else if (style.startsWith('regular')) {\n                                    targetJSON.icons.push({\n                                        title: 'far ' + icon,\n                                        searchTerms: ele.search.terms\n                                    });\n                                } else if (style.startsWith('light')) {\n                                    targetJSON.icons.push({\n                                        title: 'fal ' + icon,\n                                        searchTerms: ele.search.terms\n                                    });\n                                }\n                            });\n                        });\n                        grunt.file.write(dest, JSON.stringify(targetJSON));\n                    }\n                },\n                files: [{\n                    expand: false,\n                    src: [tempIconsFile],\n                    dest: tempIconsFile\n                }]\n            },\n        },\n        'string-replace': {\n            dist: {\n                files: {\n                    'prod/': ['src/js/iconpicker.js'],\n                },\n                options: {\n                    replacements: [{\n                        pattern: '//###REPLACE-WITH-FONT-AWESOME-5-FONTS###',\n                        replacement: \"<%= grunt.file.read('\" + tempIconsFile + \"') %>\"\n                    }]\n                }\n            }\n        },\n        less: {\n            dist: {\n                options: {\n                    compile: true,\n                    compress: false\n                },\n                files: {\n                    'dist/css/fontawesome-iconpicker.css': [\n                        'src/less/iconpicker.less'\n                    ]\n                }\n            },\n            distMin: {\n                options: {\n                    compile: true,\n                    compress: true\n                },\n                files: {\n                    'dist/css/fontawesome-iconpicker.min.css': [\n                        'src/less/iconpicker.less'\n                    ]\n                }\n            }\n        },\n        jsbeautifier: {\n            files: ['Gruntfile.js', 'src/js/*.js', parsedIconPicker]\n        },\n        uglify: {\n            distMin: {\n                options: {\n                    compress: {},\n                    beautify: false,\n                    comments: 'some',\n                    banner: jsBanner\n                },\n                files: {\n                    'dist/js/fontawesome-iconpicker.min.js': [\n                        'src/js/jquery.ui.pos.js',\n                        parsedIconPicker\n                    ]\n                }\n            },\n            dist: {\n                options: {\n                    compress: false,\n                    beautify: true,\n                    comments: 'some',\n                    banner: jsBanner\n                },\n                files: {\n                    'dist/js/fontawesome-iconpicker.js': [\n                        'src/js/jquery.ui.pos.js',\n                        parsedIconPicker\n                    ]\n                }\n            }\n        },\n        watch: {\n            less: {\n                files: [\n                    'src/less/*.less'\n                ],\n                tasks: ['less']\n            },\n            js: {\n                files: [\n                    'src/js/*.js'\n                ],\n                tasks: ['uglify']\n            }\n        },\n        clean: {\n            dist: [\n                'dist/css',\n                'dist/js/*.js'\n            ],\n            temp: [\n                tempIconsFile,\n                'prod/'\n            ]\n        }\n    });\n\n    // Load tasks\n    grunt.loadNpmTasks('grunt-contrib-clean');\n    grunt.loadNpmTasks('grunt-contrib-uglify');\n    grunt.loadNpmTasks('grunt-contrib-watch');\n    grunt.loadNpmTasks('grunt-contrib-less');\n    grunt.loadNpmTasks('grunt-jsbeautifier');\n    grunt.loadNpmTasks('grunt-yaml');\n    grunt.loadNpmTasks('grunt-http-download');\n    grunt.loadNpmTasks('grunt-string-replace');\n\n    // Register tasks\n    grunt.registerTask('default', [\n        'download',\n        'yaml',\n        'string-replace',\n        'clean:dist',\n        'less',\n        'jsbeautifier',\n        'uglify',\n        'clean:temp'\n    ]);\n    grunt.registerTask('dev', [\n        'watch'\n    ]);\n\n};\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Javi Aguilar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "fontawesome-iconpicker\n========================\n\n<!--[![Build Status](https://img.shields.io/travis/itsjavi/fontawesome-iconpicker/master.svg?style=flat-square)](https://travis-ci.org/itsjavi/fontawesome-iconpicker)-->\n<!--[![npm@next](https://img.shields.io/npm/v/fontawesome-iconpicker/next.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker?activeTab=versions)-->\n[![npm](https://img.shields.io/npm/v/fontawesome-iconpicker.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker)\n\n\nFont Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,\nwith a powerful base API, based on [bootstrap-popover-picker](https://itsjavi.github.io/bootstrap-popover-picker/)\n\nYou can use Font Awesome 5 or another font icon set of your choice (icon list is totally customizable).\n\n[View demos](https://itsjavi.github.io/fontawesome-iconpicker/)\n\n## Instantiation\n\nYou can call the plugin in several ways:\n\n```javascript\n// Create instance if not exists (returns a jQuery object)\n$('.my').iconpicker();\n$('.my').iconpicker({ /*options*/ }); // you can also specify options via data-* attributes\n\n// For the first matched element, access to a plugin property value\n$('.my').data('iconpicker').iconpickerProperty;\n\n// For the first matched element, call a plugin instance method with the given args\n$('.my').data('iconpicker').iconpickerMethod('methodArg1', 'methodArg2' /* , other args */);\n\n// Call and apply a plugin method to EACH matched element.\n$.iconpicker.batch('.my', 'iconpickerMethod', 'methodArg1', 'methodArg2' /* , other args */); ->\n```\n\n## Triggered Events\n\nAll of them exposes the plugin instance through event.iconpickerInstance\n\nIn order of call:\n\n* iconpickerCreate\n* iconpickerCreated\n* iconpickerShow\n* iconpickerShown\n* iconpickerSelect (also exposes event.iconpickerItem and event.iconpickerValue)\n* iconpickerUpdate\n* iconpickerInvalid (also exposes event.iconpickerValue)\n* iconpickerSetValue (also exposes event.iconpickerValue)\n* iconpickerSetSourceValue (also exposes event.iconpickerValue)\n* iconpickerUpdated\n* iconpickerSelected (also exposes event.iconpickerItem and event.iconpickerValue)\n* iconpickerHide\n* iconpickerHidden\n* iconpickerDestroy\n* iconpickerDestroyed\n\n```javascript\n// Bind iconpicker events to the element\n$('.my').on('iconpickerSelected', function(event){\n  /* event.iconpickerValue */\n});\n```\n\n## Popover placement extensions\n\nThis plugin comes with more placement options than the original Bootstrap Popover.\nHere are all the possibilities in detail:\n\n            1 2 3 4 5\n            G       6\n            F       7\n            E       8\n            D C B A 9\n\n    0.      inline (no placement, display as inline-block)\n    1.      topLeftCorner\n    2.      topLeft\n    3.      top (center)\n    4.      topRight\n    5.      topRightCorner\n    6.      rightTop\n    7.      right (center)\n    8.      rightBottom\n    9.      bottomRightCorner\n    A.      bottomRight\n    B.      bottom (center)\n    C.      bottomLeft\n    D.      bottomLeftCorner\n    E.      leftBottom\n    F.      left (center)\n    G.      leftTop\n\n\n## Available options\n\n```javascript\nvar options = {\n    title: false, // Popover title (optional) only if specified in the template\n    selected: false, // use this value as the current item and ignore the original\n    defaultValue: false, // use this value as the current item if input or element value is empty\n    placement: 'bottom', // (has some issues with auto and CSS). auto, top, bottom, left, right\n    collision: 'none', // If true, the popover will be repositioned to another position when collapses with the window borders\n    animation: true, // fade in/out on show/hide ?\n    //hide iconpicker automatically when a value is picked. it is ignored if mustAccept is not false and the accept button is visible\n    hideOnSelect: false,\n    showFooter: false,\n    searchInFooter: false, // If true, the search will be added to the footer instead of the title\n    mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer\n    selectedCustomClass: 'bg-primary', // Appends this class when to the selected item\n    icons: [], // list of icon objects [{title:String, searchTerms:String}]. By default, all Font Awesome icons are included.\n    fullClassFormatter: function(val) {\n        return 'fa ' + val;\n    },\n    input: 'input,.iconpicker-input', // children input selector\n    inputSearch: false, // use the input as a search box too?\n    container: false, //  Appends the popover to a specific element. If not set, the selected element or element parent is used\n    component: '.input-group-addon,.iconpicker-component', // children component jQuery selector or object, relative to the container element\n    // Plugin templates:\n    templates: {\n        popover: '<div class=\"iconpicker-popover popover\"><div class=\"arrow\"></div>' +\n            '<div class=\"popover-title\"></div><div class=\"popover-content\"></div></div>',\n        footer: '<div class=\"popover-footer\"></div>',\n        buttons: '<button class=\"iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm\">Cancel</button>' +\n            ' <button class=\"iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm\">Accept</button>',\n        search: '<input type=\"search\" class=\"form-control iconpicker-search\" placeholder=\"Type to filter\" />',\n        iconpicker: '<div class=\"iconpicker\"><div class=\"iconpicker-items\"></div></div>',\n        iconpickerItem: '<a role=\"button\" href=\"#\" class=\"iconpicker-item\"><i></i></a>',\n    }\n};\n```\n"
  },
  {
    "path": "composer.json",
    "content": "{\n  \"name\": \"itsjavi/fontawesome-iconpicker\",\n  \"description\": \"Font Awesome Icon Picker plugin for Twitter Bootstrap\",\n  \"keywords\": [\n    \"bootstrap\",\n    \"fontawesome\",\n    \"iconpicker\",\n    \"popover\",\n    \"picker\"\n  ],\n  \"homepage\": \"https://farbelous.github.io/fontawesome-iconpicker/\",\n  \"minimum-stability\": \"stable\",\n  \"repositories\": [{\n    \"type\": \"vcs\",\n    \"url\": \"https://github.com/farbelous/fontawesome-iconpicker\"\n  }],\n  \"license\": \"MIT\",\n  \"authors\": [\n    {\n      \"name\": \"Javi Aguilar\",\n      \"role\": \"Developer\"\n    }\n  ],\n  \"support\": {\n    \"issues\": \"https://github.com/farbelous/fontawesome-iconpicker/issues\",\n    \"source\": \"https://github.com/farbelous/fontawesome-iconpicker\"\n  }\n}\n"
  },
  {
    "path": "dist/css/fontawesome-iconpicker.css",
    "content": "/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * @author Javi Aguilar, itsjavi.com\n * @license MIT License\n * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n */\n.iconpicker-popover.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: none;\n  max-width: none;\n  padding: 1px;\n  text-align: left;\n  width: 234px;\n  background: #f7f7f7;\n  z-index: 9;\n}\n.iconpicker-popover.popover.top,\n.iconpicker-popover.popover.topLeftCorner,\n.iconpicker-popover.popover.topLeft,\n.iconpicker-popover.popover.topRight,\n.iconpicker-popover.popover.topRightCorner {\n  margin-top: -10px;\n}\n.iconpicker-popover.popover.right,\n.iconpicker-popover.popover.rightTop,\n.iconpicker-popover.popover.rightBottom {\n  margin-left: 10px;\n}\n.iconpicker-popover.popover.bottom,\n.iconpicker-popover.popover.bottomRightCorner,\n.iconpicker-popover.popover.bottomRight,\n.iconpicker-popover.popover.bottomLeft,\n.iconpicker-popover.popover.bottomLeftCorner {\n  margin-top: 10px;\n}\n.iconpicker-popover.popover.left,\n.iconpicker-popover.popover.leftBottom,\n.iconpicker-popover.popover.leftTop {\n  margin-left: -10px;\n}\n.iconpicker-popover.popover.inline {\n  margin: 0 0 12px 0;\n  position: relative;\n  display: inline-block;\n  opacity: 1;\n  top: auto;\n  left: auto;\n  bottom: auto;\n  right: auto;\n  max-width: 100%;\n  box-shadow: none;\n  z-index: auto;\n  vertical-align: top;\n}\n.iconpicker-popover.popover.inline > .arrow {\n  display: none;\n}\n.dropdown-menu .iconpicker-popover.inline {\n  margin: 0;\n  border: none;\n}\n.dropdown-menu.iconpicker-container {\n  padding: 0;\n}\n.iconpicker-popover.popover .popover-title {\n  padding: 12px;\n  font-size: 13px;\n  line-height: 15px;\n  border-bottom: 1px solid #ebebeb;\n  background-color: #f7f7f7;\n}\n.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search {\n  margin: 0 0 2px 0;\n}\n.iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {\n  margin-top: 12px;\n}\n.iconpicker-popover.popover .popover-content {\n  padding: 0px;\n  text-align: center;\n}\n.iconpicker-popover .popover-footer {\n  float: none;\n  clear: both;\n  padding: 12px;\n  text-align: right;\n  margin: 0;\n  border-top: 1px solid #ebebeb;\n  background-color: #f7f7f7;\n}\n.iconpicker-popover .popover-footer:before,\n.iconpicker-popover .popover-footer:after {\n  content: \" \";\n  display: table;\n}\n.iconpicker-popover .popover-footer:after {\n  clear: both;\n}\n.iconpicker-popover .popover-footer .iconpicker-btn {\n  margin-left: 10px;\n}\n.iconpicker-popover .popover-footer input[type=search].iconpicker-search {\n  /*width:auto;\n    float:left;*/\n  margin-bottom: 12px;\n}\n.iconpicker-popover.popover > .arrow,\n.iconpicker-popover.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.iconpicker-popover.popover > .arrow {\n  border-width: 11px;\n}\n.iconpicker-popover.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.iconpicker-popover.popover.top > .arrow,\n.iconpicker-popover.popover.topLeft > .arrow,\n.iconpicker-popover.popover.topRight > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.iconpicker-popover.popover.top > .arrow:after,\n.iconpicker-popover.popover.topLeft > .arrow:after,\n.iconpicker-popover.popover.topRight > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.iconpicker-popover.popover.topLeft > .arrow {\n  left: 8px;\n  margin-left: 0;\n}\n.iconpicker-popover.popover.topRight > .arrow {\n  left: auto;\n  right: 8px;\n  margin-left: 0;\n}\n.iconpicker-popover.popover.right > .arrow,\n.iconpicker-popover.popover.rightTop > .arrow,\n.iconpicker-popover.popover.rightBottom > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.iconpicker-popover.popover.right > .arrow:after,\n.iconpicker-popover.popover.rightTop > .arrow:after,\n.iconpicker-popover.popover.rightBottom > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.iconpicker-popover.popover.rightTop > .arrow {\n  top: auto;\n  bottom: 8px;\n  margin-top: 0;\n}\n.iconpicker-popover.popover.rightBottom > .arrow {\n  top: 8px;\n  margin-top: 0;\n}\n.iconpicker-popover.popover.bottom > .arrow,\n.iconpicker-popover.popover.bottomRight > .arrow,\n.iconpicker-popover.popover.bottomLeft > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.iconpicker-popover.popover.bottom > .arrow:after,\n.iconpicker-popover.popover.bottomRight > .arrow:after,\n.iconpicker-popover.popover.bottomLeft > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.iconpicker-popover.popover.bottomLeft > .arrow {\n  left: 8px;\n  margin-left: 0;\n}\n.iconpicker-popover.popover.bottomRight > .arrow {\n  left: auto;\n  right: 8px;\n  margin-left: 0;\n}\n.iconpicker-popover.popover.left > .arrow,\n.iconpicker-popover.popover.leftBottom > .arrow,\n.iconpicker-popover.popover.leftTop > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.iconpicker-popover.popover.left > .arrow:after,\n.iconpicker-popover.popover.leftBottom > .arrow:after,\n.iconpicker-popover.popover.leftTop > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.iconpicker-popover.popover.leftBottom > .arrow {\n  top: 8px;\n  margin-top: 0;\n}\n.iconpicker-popover.popover.leftTop > .arrow {\n  top: auto;\n  bottom: 8px;\n  margin-top: 0;\n}\n.iconpicker {\n  position: relative;\n  text-align: left;\n  text-shadow: none;\n  line-height: 0;\n  display: block;\n  margin: 0;\n  overflow: hidden;\n}\n.iconpicker * {\n  -webkit-box-sizing: content-box;\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  position: relative;\n}\n.iconpicker:before,\n.iconpicker:after {\n  content: \" \";\n  display: table;\n}\n.iconpicker:after {\n  clear: both;\n}\n.iconpicker .iconpicker-items {\n  position: relative;\n  clear: both;\n  float: none;\n  padding: 12px 0 0 12px;\n  background: #fff;\n  margin: 0;\n  overflow: hidden;\n  overflow-y: auto;\n  min-height: 49px;\n  max-height: 246px;\n}\n.iconpicker .iconpicker-items:before,\n.iconpicker .iconpicker-items:after {\n  content: \" \";\n  display: table;\n}\n.iconpicker .iconpicker-items:after {\n  clear: both;\n}\n.iconpicker .iconpicker-item {\n  float: left;\n  width: 14px;\n  height: 14px;\n  padding: 12px;\n  margin: 0 12px 12px 0;\n  text-align: center;\n  cursor: pointer;\n  border-radius: 3px;\n  font-size: 14px;\n  box-shadow: 0 0 0 1px #ddd;\n  color: inherit;\n  /*&:nth-child(4n+4) {\n        margin-right: 0;\n    }\n    &:nth-last-child(-n+4) {\n        margin-bottom: 0;\n    }*/\n}\n.iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {\n  background-color: #eee;\n}\n.iconpicker .iconpicker-item.iconpicker-selected {\n  box-shadow: none;\n  color: #fff;\n  background: #000;\n}\n.iconpicker-component {\n  cursor: pointer;\n}\n"
  },
  {
    "path": "dist/js/fontawesome-iconpicker.js",
    "content": "/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * @author Javi Aguilar, itsjavi.com\n * @license MIT License\n * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n */\n\n\n(function(e) {\n    if (typeof define === \"function\" && define.amd) {\n        define([ \"jquery\" ], e);\n    } else {\n        e(jQuery);\n    }\n})(function(j) {\n    j.ui = j.ui || {};\n    var e = j.ui.version = \"1.12.1\";\n    (function() {\n        var r, y = Math.max, x = Math.abs, s = /left|center|right/, i = /top|center|bottom/, f = /[\\+\\-]\\d+(\\.[\\d]+)?%?/, l = /^\\w+/, c = /%$/, a = j.fn.pos;\n        function q(e, a, t) {\n            return [ parseFloat(e[0]) * (c.test(e[0]) ? a / 100 : 1), parseFloat(e[1]) * (c.test(e[1]) ? t / 100 : 1) ];\n        }\n        function C(e, a) {\n            return parseInt(j.css(e, a), 10) || 0;\n        }\n        function t(e) {\n            var a = e[0];\n            if (a.nodeType === 9) {\n                return {\n                    width: e.width(),\n                    height: e.height(),\n                    offset: {\n                        top: 0,\n                        left: 0\n                    }\n                };\n            }\n            if (j.isWindow(a)) {\n                return {\n                    width: e.width(),\n                    height: e.height(),\n                    offset: {\n                        top: e.scrollTop(),\n                        left: e.scrollLeft()\n                    }\n                };\n            }\n            if (a.preventDefault) {\n                return {\n                    width: 0,\n                    height: 0,\n                    offset: {\n                        top: a.pageY,\n                        left: a.pageX\n                    }\n                };\n            }\n            return {\n                width: e.outerWidth(),\n                height: e.outerHeight(),\n                offset: e.offset()\n            };\n        }\n        j.pos = {\n            scrollbarWidth: function() {\n                if (r !== undefined) {\n                    return r;\n                }\n                var e, a, t = j(\"<div \" + \"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>\" + \"<div style='height:100px;width:auto;'></div></div>\"), s = t.children()[0];\n                j(\"body\").append(t);\n                e = s.offsetWidth;\n                t.css(\"overflow\", \"scroll\");\n                a = s.offsetWidth;\n                if (e === a) {\n                    a = t[0].clientWidth;\n                }\n                t.remove();\n                return r = e - a;\n            },\n            getScrollInfo: function(e) {\n                var a = e.isWindow || e.isDocument ? \"\" : e.element.css(\"overflow-x\"), t = e.isWindow || e.isDocument ? \"\" : e.element.css(\"overflow-y\"), s = a === \"scroll\" || a === \"auto\" && e.width < e.element[0].scrollWidth, r = t === \"scroll\" || t === \"auto\" && e.height < e.element[0].scrollHeight;\n                return {\n                    width: r ? j.pos.scrollbarWidth() : 0,\n                    height: s ? j.pos.scrollbarWidth() : 0\n                };\n            },\n            getWithinInfo: function(e) {\n                var a = j(e || window), t = j.isWindow(a[0]), s = !!a[0] && a[0].nodeType === 9, r = !t && !s;\n                return {\n                    element: a,\n                    isWindow: t,\n                    isDocument: s,\n                    offset: r ? j(e).offset() : {\n                        left: 0,\n                        top: 0\n                    },\n                    scrollLeft: a.scrollLeft(),\n                    scrollTop: a.scrollTop(),\n                    width: a.outerWidth(),\n                    height: a.outerHeight()\n                };\n            }\n        };\n        j.fn.pos = function(h) {\n            if (!h || !h.of) {\n                return a.apply(this, arguments);\n            }\n            h = j.extend({}, h);\n            var m, p, d, u, T, e, g = j(h.of), b = j.pos.getWithinInfo(h.within), k = j.pos.getScrollInfo(b), w = (h.collision || \"flip\").split(\" \"), v = {};\n            e = t(g);\n            if (g[0].preventDefault) {\n                h.at = \"left top\";\n            }\n            p = e.width;\n            d = e.height;\n            u = e.offset;\n            T = j.extend({}, u);\n            j.each([ \"my\", \"at\" ], function() {\n                var e = (h[this] || \"\").split(\" \"), a, t;\n                if (e.length === 1) {\n                    e = s.test(e[0]) ? e.concat([ \"center\" ]) : i.test(e[0]) ? [ \"center\" ].concat(e) : [ \"center\", \"center\" ];\n                }\n                e[0] = s.test(e[0]) ? e[0] : \"center\";\n                e[1] = i.test(e[1]) ? e[1] : \"center\";\n                a = f.exec(e[0]);\n                t = f.exec(e[1]);\n                v[this] = [ a ? a[0] : 0, t ? t[0] : 0 ];\n                h[this] = [ l.exec(e[0])[0], l.exec(e[1])[0] ];\n            });\n            if (w.length === 1) {\n                w[1] = w[0];\n            }\n            if (h.at[0] === \"right\") {\n                T.left += p;\n            } else if (h.at[0] === \"center\") {\n                T.left += p / 2;\n            }\n            if (h.at[1] === \"bottom\") {\n                T.top += d;\n            } else if (h.at[1] === \"center\") {\n                T.top += d / 2;\n            }\n            m = q(v.at, p, d);\n            T.left += m[0];\n            T.top += m[1];\n            return this.each(function() {\n                var t, e, f = j(this), l = f.outerWidth(), c = f.outerHeight(), a = C(this, \"marginLeft\"), s = C(this, \"marginTop\"), r = l + a + C(this, \"marginRight\") + k.width, i = c + s + C(this, \"marginBottom\") + k.height, o = j.extend({}, T), n = q(v.my, f.outerWidth(), f.outerHeight());\n                if (h.my[0] === \"right\") {\n                    o.left -= l;\n                } else if (h.my[0] === \"center\") {\n                    o.left -= l / 2;\n                }\n                if (h.my[1] === \"bottom\") {\n                    o.top -= c;\n                } else if (h.my[1] === \"center\") {\n                    o.top -= c / 2;\n                }\n                o.left += n[0];\n                o.top += n[1];\n                t = {\n                    marginLeft: a,\n                    marginTop: s\n                };\n                j.each([ \"left\", \"top\" ], function(e, a) {\n                    if (j.ui.pos[w[e]]) {\n                        j.ui.pos[w[e]][a](o, {\n                            targetWidth: p,\n                            targetHeight: d,\n                            elemWidth: l,\n                            elemHeight: c,\n                            collisionPosition: t,\n                            collisionWidth: r,\n                            collisionHeight: i,\n                            offset: [ m[0] + n[0], m[1] + n[1] ],\n                            my: h.my,\n                            at: h.at,\n                            within: b,\n                            elem: f\n                        });\n                    }\n                });\n                if (h.using) {\n                    e = function(e) {\n                        var a = u.left - o.left, t = a + p - l, s = u.top - o.top, r = s + d - c, i = {\n                            target: {\n                                element: g,\n                                left: u.left,\n                                top: u.top,\n                                width: p,\n                                height: d\n                            },\n                            element: {\n                                element: f,\n                                left: o.left,\n                                top: o.top,\n                                width: l,\n                                height: c\n                            },\n                            horizontal: t < 0 ? \"left\" : a > 0 ? \"right\" : \"center\",\n                            vertical: r < 0 ? \"top\" : s > 0 ? \"bottom\" : \"middle\"\n                        };\n                        if (p < l && x(a + t) < p) {\n                            i.horizontal = \"center\";\n                        }\n                        if (d < c && x(s + r) < d) {\n                            i.vertical = \"middle\";\n                        }\n                        if (y(x(a), x(t)) > y(x(s), x(r))) {\n                            i.important = \"horizontal\";\n                        } else {\n                            i.important = \"vertical\";\n                        }\n                        h.using.call(this, e, i);\n                    };\n                }\n                f.offset(j.extend(o, {\n                    using: e\n                }));\n            });\n        };\n        j.ui.pos = {\n            _trigger: function(e, a, t, s) {\n                if (a.elem) {\n                    a.elem.trigger({\n                        type: t,\n                        position: e,\n                        positionData: a,\n                        triggered: s\n                    });\n                }\n            },\n            fit: {\n                left: function(e, a) {\n                    j.ui.pos._trigger(e, a, \"posCollide\", \"fitLeft\");\n                    var t = a.within, s = t.isWindow ? t.scrollLeft : t.offset.left, r = t.width, i = e.left - a.collisionPosition.marginLeft, f = s - i, l = i + a.collisionWidth - r - s, c;\n                    if (a.collisionWidth > r) {\n                        if (f > 0 && l <= 0) {\n                            c = e.left + f + a.collisionWidth - r - s;\n                            e.left += f - c;\n                        } else if (l > 0 && f <= 0) {\n                            e.left = s;\n                        } else {\n                            if (f > l) {\n                                e.left = s + r - a.collisionWidth;\n                            } else {\n                                e.left = s;\n                            }\n                        }\n                    } else if (f > 0) {\n                        e.left += f;\n                    } else if (l > 0) {\n                        e.left -= l;\n                    } else {\n                        e.left = y(e.left - i, e.left);\n                    }\n                    j.ui.pos._trigger(e, a, \"posCollided\", \"fitLeft\");\n                },\n                top: function(e, a) {\n                    j.ui.pos._trigger(e, a, \"posCollide\", \"fitTop\");\n                    var t = a.within, s = t.isWindow ? t.scrollTop : t.offset.top, r = a.within.height, i = e.top - a.collisionPosition.marginTop, f = s - i, l = i + a.collisionHeight - r - s, c;\n                    if (a.collisionHeight > r) {\n                        if (f > 0 && l <= 0) {\n                            c = e.top + f + a.collisionHeight - r - s;\n                            e.top += f - c;\n                        } else if (l > 0 && f <= 0) {\n                            e.top = s;\n                        } else {\n                            if (f > l) {\n                                e.top = s + r - a.collisionHeight;\n                            } else {\n                                e.top = s;\n                            }\n                        }\n                    } else if (f > 0) {\n                        e.top += f;\n                    } else if (l > 0) {\n                        e.top -= l;\n                    } else {\n                        e.top = y(e.top - i, e.top);\n                    }\n                    j.ui.pos._trigger(e, a, \"posCollided\", \"fitTop\");\n                }\n            },\n            flip: {\n                left: function(e, a) {\n                    j.ui.pos._trigger(e, a, \"posCollide\", \"flipLeft\");\n                    var t = a.within, s = t.offset.left + t.scrollLeft, r = t.width, i = t.isWindow ? t.scrollLeft : t.offset.left, f = e.left - a.collisionPosition.marginLeft, l = f - i, c = f + a.collisionWidth - r - i, o = a.my[0] === \"left\" ? -a.elemWidth : a.my[0] === \"right\" ? a.elemWidth : 0, n = a.at[0] === \"left\" ? a.targetWidth : a.at[0] === \"right\" ? -a.targetWidth : 0, h = -2 * a.offset[0], m, p;\n                    if (l < 0) {\n                        m = e.left + o + n + h + a.collisionWidth - r - s;\n                        if (m < 0 || m < x(l)) {\n                            e.left += o + n + h;\n                        }\n                    } else if (c > 0) {\n                        p = e.left - a.collisionPosition.marginLeft + o + n + h - i;\n                        if (p > 0 || x(p) < c) {\n                            e.left += o + n + h;\n                        }\n                    }\n                    j.ui.pos._trigger(e, a, \"posCollided\", \"flipLeft\");\n                },\n                top: function(e, a) {\n                    j.ui.pos._trigger(e, a, \"posCollide\", \"flipTop\");\n                    var t = a.within, s = t.offset.top + t.scrollTop, r = t.height, i = t.isWindow ? t.scrollTop : t.offset.top, f = e.top - a.collisionPosition.marginTop, l = f - i, c = f + a.collisionHeight - r - i, o = a.my[1] === \"top\", n = o ? -a.elemHeight : a.my[1] === \"bottom\" ? a.elemHeight : 0, h = a.at[1] === \"top\" ? a.targetHeight : a.at[1] === \"bottom\" ? -a.targetHeight : 0, m = -2 * a.offset[1], p, d;\n                    if (l < 0) {\n                        d = e.top + n + h + m + a.collisionHeight - r - s;\n                        if (d < 0 || d < x(l)) {\n                            e.top += n + h + m;\n                        }\n                    } else if (c > 0) {\n                        p = e.top - a.collisionPosition.marginTop + n + h + m - i;\n                        if (p > 0 || x(p) < c) {\n                            e.top += n + h + m;\n                        }\n                    }\n                    j.ui.pos._trigger(e, a, \"posCollided\", \"flipTop\");\n                }\n            },\n            flipfit: {\n                left: function() {\n                    j.ui.pos.flip.left.apply(this, arguments);\n                    j.ui.pos.fit.left.apply(this, arguments);\n                },\n                top: function() {\n                    j.ui.pos.flip.top.apply(this, arguments);\n                    j.ui.pos.fit.top.apply(this, arguments);\n                }\n            }\n        };\n        (function() {\n            var e, a, t, s, r, i = document.getElementsByTagName(\"body\")[0], f = document.createElement(\"div\");\n            e = document.createElement(i ? \"div\" : \"body\");\n            t = {\n                visibility: \"hidden\",\n                width: 0,\n                height: 0,\n                border: 0,\n                margin: 0,\n                background: \"none\"\n            };\n            if (i) {\n                j.extend(t, {\n                    position: \"absolute\",\n                    left: \"-1000px\",\n                    top: \"-1000px\"\n                });\n            }\n            for (r in t) {\n                e.style[r] = t[r];\n            }\n            e.appendChild(f);\n            a = i || document.documentElement;\n            a.insertBefore(e, a.firstChild);\n            f.style.cssText = \"position: absolute; left: 10.7432222px;\";\n            s = j(f).offset().left;\n            j.support.offsetFractions = s > 10 && s < 11;\n            e.innerHTML = \"\";\n            a.removeChild(e);\n        })();\n    })();\n    var a = j.ui.position;\n});\n\n(function(e) {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n        define([ \"jquery\" ], e);\n    } else if (window.jQuery && !window.jQuery.fn.iconpicker) {\n        e(window.jQuery);\n    }\n})(function(c) {\n    \"use strict\";\n    var f = {\n        isEmpty: function(e) {\n            return e === false || e === \"\" || e === null || e === undefined;\n        },\n        isEmptyObject: function(e) {\n            return this.isEmpty(e) === true || e.length === 0;\n        },\n        isElement: function(e) {\n            return c(e).length > 0;\n        },\n        isString: function(e) {\n            return typeof e === \"string\" || e instanceof String;\n        },\n        isArray: function(e) {\n            return c.isArray(e);\n        },\n        inArray: function(e, a) {\n            return c.inArray(e, a) !== -1;\n        },\n        throwError: function(e) {\n            throw \"Font Awesome Icon Picker Exception: \" + e;\n        }\n    };\n    var t = function(e, a) {\n        this._id = t._idCounter++;\n        this.element = c(e).addClass(\"iconpicker-element\");\n        this._trigger(\"iconpickerCreate\", {\n            iconpickerValue: this.iconpickerValue\n        });\n        this.options = c.extend({}, t.defaultOptions, this.element.data(), a);\n        this.options.templates = c.extend({}, t.defaultOptions.templates, this.options.templates);\n        this.options.originalPlacement = this.options.placement;\n        this.container = f.isElement(this.options.container) ? c(this.options.container) : false;\n        if (this.container === false) {\n            if (this.element.is(\".dropdown-toggle\")) {\n                this.container = c(\"~ .dropdown-menu:first\", this.element);\n            } else {\n                this.container = this.element.is(\"input,textarea,button,.btn\") ? this.element.parent() : this.element;\n            }\n        }\n        this.container.addClass(\"iconpicker-container\");\n        if (this.isDropdownMenu()) {\n            this.options.placement = \"inline\";\n        }\n        this.input = this.element.is(\"input,textarea\") ? this.element.addClass(\"iconpicker-input\") : false;\n        if (this.input === false) {\n            this.input = this.container.find(this.options.input);\n            if (!this.input.is(\"input,textarea\")) {\n                this.input = false;\n            }\n        }\n        this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);\n        if (this.component.length === 0) {\n            this.component = false;\n        } else {\n            this.component.find(\"i\").addClass(\"iconpicker-component\");\n        }\n        this._createPopover();\n        this._createIconpicker();\n        if (this.getAcceptButton().length === 0) {\n            this.options.mustAccept = false;\n        }\n        if (this.isInputGroup()) {\n            this.container.parent().append(this.popover);\n        } else {\n            this.container.append(this.popover);\n        }\n        this._bindElementEvents();\n        this._bindWindowEvents();\n        this.update(this.options.selected);\n        if (this.isInline()) {\n            this.show();\n        }\n        this._trigger(\"iconpickerCreated\", {\n            iconpickerValue: this.iconpickerValue\n        });\n    };\n    t._idCounter = 0;\n    t.defaultOptions = {\n        title: false,\n        selected: false,\n        defaultValue: false,\n        placement: \"bottom\",\n        collision: \"none\",\n        animation: true,\n        hideOnSelect: false,\n        showFooter: false,\n        searchInFooter: false,\n        mustAccept: false,\n        selectedCustomClass: \"bg-primary\",\n        icons: [],\n        fullClassFormatter: function(e) {\n            return e;\n        },\n        input: \"input,.iconpicker-input\",\n        inputSearch: false,\n        container: false,\n        component: \".input-group-addon,.iconpicker-component\",\n        templates: {\n            popover: '<div class=\"iconpicker-popover popover\"><div class=\"arrow\"></div>' + '<div class=\"popover-title\"></div><div class=\"popover-content\"></div></div>',\n            footer: '<div class=\"popover-footer\"></div>',\n            buttons: '<button class=\"iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm\">Cancel</button>' + ' <button class=\"iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm\">Accept</button>',\n            search: '<input type=\"search\" class=\"form-control iconpicker-search\" placeholder=\"Type to filter\" />',\n            iconpicker: '<div class=\"iconpicker\"><div class=\"iconpicker-items\"></div></div>',\n            iconpickerItem: '<a role=\"button\" href=\"javascript:;\" class=\"iconpicker-item\"><i></i></a>'\n        }\n    };\n    t.batch = function(e, a) {\n        var t = Array.prototype.slice.call(arguments, 2);\n        return c(e).each(function() {\n            var e = c(this).data(\"iconpicker\");\n            if (!!e) {\n                e[a].apply(e, t);\n            }\n        });\n    };\n    t.prototype = {\n        constructor: t,\n        options: {},\n        _id: 0,\n        _trigger: function(e, a) {\n            a = a || {};\n            this.element.trigger(c.extend({\n                type: e,\n                iconpickerInstance: this\n            }, a));\n        },\n        _createPopover: function() {\n            this.popover = c(this.options.templates.popover);\n            var e = this.popover.find(\".popover-title\");\n            if (!!this.options.title) {\n                e.append(c('<div class=\"popover-title-text\">' + this.options.title + \"</div>\"));\n            }\n            if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {\n                e.append(this.options.templates.search);\n            } else if (!this.options.title) {\n                e.remove();\n            }\n            if (this.options.showFooter && !f.isEmpty(this.options.templates.footer)) {\n                var a = c(this.options.templates.footer);\n                if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {\n                    a.append(c(this.options.templates.search));\n                }\n                if (!f.isEmpty(this.options.templates.buttons)) {\n                    a.append(c(this.options.templates.buttons));\n                }\n                this.popover.append(a);\n            }\n            if (this.options.animation === true) {\n                this.popover.addClass(\"fade\");\n            }\n            return this.popover;\n        },\n        _createIconpicker: function() {\n            var t = this;\n            this.iconpicker = c(this.options.templates.iconpicker);\n            var e = function(e) {\n                var a = c(this);\n                if (a.is(\"i\")) {\n                    a = a.parent();\n                }\n                t._trigger(\"iconpickerSelect\", {\n                    iconpickerItem: a,\n                    iconpickerValue: t.iconpickerValue\n                });\n                if (t.options.mustAccept === false) {\n                    t.update(a.data(\"iconpickerValue\"));\n                    t._trigger(\"iconpickerSelected\", {\n                        iconpickerItem: this,\n                        iconpickerValue: t.iconpickerValue\n                    });\n                } else {\n                    t.update(a.data(\"iconpickerValue\"), true);\n                }\n                if (t.options.hideOnSelect && t.options.mustAccept === false) {\n                    t.hide();\n                }\n            };\n            var a = c(this.options.templates.iconpickerItem);\n            var s = [];\n            for (var r in this.options.icons) {\n                if (typeof this.options.icons[r].title === \"string\") {\n                    var i = a.clone();\n                    i.find(\"i\").addClass(this.options.fullClassFormatter(this.options.icons[r].title));\n                    i.data(\"iconpickerValue\", this.options.icons[r].title).on(\"click.iconpicker\", e);\n                    i.attr(\"title\", \".\" + this.options.icons[r].title);\n                    if (this.options.icons[r].searchTerms.length > 0) {\n                        var f = \"\";\n                        for (var l = 0; l < this.options.icons[r].searchTerms.length; l++) {\n                            f = f + this.options.icons[r].searchTerms[l] + \" \";\n                        }\n                        i.attr(\"data-search-terms\", f);\n                    }\n                    s.push(i);\n                }\n            }\n            this.iconpicker.find(\".iconpicker-items\").append(s);\n            this.popover.find(\".popover-content\").append(this.iconpicker);\n            return this.iconpicker;\n        },\n        _isEventInsideIconpicker: function(e) {\n            var a = c(e.target);\n            if ((!a.hasClass(\"iconpicker-element\") || a.hasClass(\"iconpicker-element\") && !a.is(this.element)) && a.parents(\".iconpicker-popover\").length === 0) {\n                return false;\n            }\n            return true;\n        },\n        _bindElementEvents: function() {\n            var a = this;\n            this.getSearchInput().on(\"keyup.iconpicker\", function() {\n                a.filter(c(this).val().toLowerCase());\n            });\n            this.getAcceptButton().on(\"click.iconpicker\", function() {\n                var e = a.iconpicker.find(\".iconpicker-selected\").get(0);\n                a.update(a.iconpickerValue);\n                a._trigger(\"iconpickerSelected\", {\n                    iconpickerItem: e,\n                    iconpickerValue: a.iconpickerValue\n                });\n                if (!a.isInline()) {\n                    a.hide();\n                }\n            });\n            this.getCancelButton().on(\"click.iconpicker\", function() {\n                if (!a.isInline()) {\n                    a.hide();\n                }\n            });\n            this.element.on(\"focus.iconpicker\", function(e) {\n                a.show();\n                e.stopPropagation();\n            });\n            if (this.hasComponent()) {\n                this.component.on(\"click.iconpicker\", function() {\n                    a.toggle();\n                });\n            }\n            if (this.hasInput()) {\n                this.input.on(\"keyup.iconpicker\", function(e) {\n                    if (!f.inArray(e.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {\n                        a.update();\n                    } else {\n                        a._updateFormGroupStatus(a.getValid(this.value) !== false);\n                    }\n                    if (a.options.inputSearch === true) {\n                        a.filter(c(this).val().toLowerCase());\n                    }\n                });\n            }\n        },\n        _bindWindowEvents: function() {\n            var e = c(window.document);\n            var a = this;\n            var t = \".iconpicker.inst\" + this._id;\n            c(window).on(\"resize.iconpicker\" + t + \" orientationchange.iconpicker\" + t, function(e) {\n                if (a.popover.hasClass(\"in\")) {\n                    a.updatePlacement();\n                }\n            });\n            if (!a.isInline()) {\n                e.on(\"mouseup\" + t, function(e) {\n                    if (!a._isEventInsideIconpicker(e) && !a.isInline()) {\n                        a.hide();\n                    }\n                });\n            }\n        },\n        _unbindElementEvents: function() {\n            this.popover.off(\".iconpicker\");\n            this.element.off(\".iconpicker\");\n            if (this.hasInput()) {\n                this.input.off(\".iconpicker\");\n            }\n            if (this.hasComponent()) {\n                this.component.off(\".iconpicker\");\n            }\n            if (this.hasContainer()) {\n                this.container.off(\".iconpicker\");\n            }\n        },\n        _unbindWindowEvents: function() {\n            c(window).off(\".iconpicker.inst\" + this._id);\n            c(window.document).off(\".iconpicker.inst\" + this._id);\n        },\n        updatePlacement: function(e, a) {\n            e = e || this.options.placement;\n            this.options.placement = e;\n            a = a || this.options.collision;\n            a = a === true ? \"flip\" : a;\n            var t = {\n                at: \"right bottom\",\n                my: \"right top\",\n                of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,\n                collision: a === true ? \"flip\" : a,\n                within: window\n            };\n            this.popover.removeClass(\"inline topLeftCorner topLeft top topRight topRightCorner \" + \"rightTop right rightBottom bottomRight bottomRightCorner \" + \"bottom bottomLeft bottomLeftCorner leftBottom left leftTop\");\n            if (typeof e === \"object\") {\n                return this.popover.pos(c.extend({}, t, e));\n            }\n            switch (e) {\n              case \"inline\":\n                {\n                    t = false;\n                }\n                break;\n\n              case \"topLeftCorner\":\n                {\n                    t.my = \"right bottom\";\n                    t.at = \"left top\";\n                }\n                break;\n\n              case \"topLeft\":\n                {\n                    t.my = \"left bottom\";\n                    t.at = \"left top\";\n                }\n                break;\n\n              case \"top\":\n                {\n                    t.my = \"center bottom\";\n                    t.at = \"center top\";\n                }\n                break;\n\n              case \"topRight\":\n                {\n                    t.my = \"right bottom\";\n                    t.at = \"right top\";\n                }\n                break;\n\n              case \"topRightCorner\":\n                {\n                    t.my = \"left bottom\";\n                    t.at = \"right top\";\n                }\n                break;\n\n              case \"rightTop\":\n                {\n                    t.my = \"left bottom\";\n                    t.at = \"right center\";\n                }\n                break;\n\n              case \"right\":\n                {\n                    t.my = \"left center\";\n                    t.at = \"right center\";\n                }\n                break;\n\n              case \"rightBottom\":\n                {\n                    t.my = \"left top\";\n                    t.at = \"right center\";\n                }\n                break;\n\n              case \"bottomRightCorner\":\n                {\n                    t.my = \"left top\";\n                    t.at = \"right bottom\";\n                }\n                break;\n\n              case \"bottomRight\":\n                {\n                    t.my = \"right top\";\n                    t.at = \"right bottom\";\n                }\n                break;\n\n              case \"bottom\":\n                {\n                    t.my = \"center top\";\n                    t.at = \"center bottom\";\n                }\n                break;\n\n              case \"bottomLeft\":\n                {\n                    t.my = \"left top\";\n                    t.at = \"left bottom\";\n                }\n                break;\n\n              case \"bottomLeftCorner\":\n                {\n                    t.my = \"right top\";\n                    t.at = \"left bottom\";\n                }\n                break;\n\n              case \"leftBottom\":\n                {\n                    t.my = \"right top\";\n                    t.at = \"left center\";\n                }\n                break;\n\n              case \"left\":\n                {\n                    t.my = \"right center\";\n                    t.at = \"left center\";\n                }\n                break;\n\n              case \"leftTop\":\n                {\n                    t.my = \"right bottom\";\n                    t.at = \"left center\";\n                }\n                break;\n\n              default:\n                {\n                    return false;\n                }\n                break;\n            }\n            this.popover.css({\n                display: this.options.placement === \"inline\" ? \"\" : \"block\"\n            });\n            if (t !== false) {\n                this.popover.pos(t).css(\"maxWidth\", c(window).width() - this.container.offset().left - 5);\n            } else {\n                this.popover.css({\n                    top: \"auto\",\n                    right: \"auto\",\n                    bottom: \"auto\",\n                    left: \"auto\",\n                    maxWidth: \"none\"\n                });\n            }\n            this.popover.addClass(this.options.placement);\n            return true;\n        },\n        _updateComponents: function() {\n            this.iconpicker.find(\".iconpicker-item.iconpicker-selected\").removeClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n            if (this.iconpickerValue) {\n                this.iconpicker.find(\".\" + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, \".\")).parent().addClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n            }\n            if (this.hasComponent()) {\n                var e = this.component.find(\"i\");\n                if (e.length > 0) {\n                    e.attr(\"class\", this.options.fullClassFormatter(this.iconpickerValue));\n                } else {\n                    this.component.html(this.getHtml());\n                }\n            }\n        },\n        _updateFormGroupStatus: function(e) {\n            if (this.hasInput()) {\n                if (e !== false) {\n                    this.input.parents(\".form-group:first\").removeClass(\"has-error\");\n                } else {\n                    this.input.parents(\".form-group:first\").addClass(\"has-error\");\n                }\n                return true;\n            }\n            return false;\n        },\n        getValid: function(e) {\n            if (!f.isString(e)) {\n                e = \"\";\n            }\n            var a = e === \"\";\n            e = c.trim(e);\n            var t = false;\n            for (var s = 0; s < this.options.icons.length; s++) {\n                if (this.options.icons[s].title === e) {\n                    t = true;\n                    break;\n                }\n            }\n            if (t || a) {\n                return e;\n            }\n            return false;\n        },\n        setValue: function(e) {\n            var a = this.getValid(e);\n            if (a !== false) {\n                this.iconpickerValue = a;\n                this._trigger(\"iconpickerSetValue\", {\n                    iconpickerValue: a\n                });\n                return this.iconpickerValue;\n            } else {\n                this._trigger(\"iconpickerInvalid\", {\n                    iconpickerValue: e\n                });\n                return false;\n            }\n        },\n        getHtml: function() {\n            return '<i class=\"' + this.options.fullClassFormatter(this.iconpickerValue) + '\"></i>';\n        },\n        setSourceValue: function(e) {\n            e = this.setValue(e);\n            if (e !== false && e !== \"\") {\n                if (this.hasInput()) {\n                    this.input.val(this.iconpickerValue);\n                } else {\n                    this.element.data(\"iconpickerValue\", this.iconpickerValue);\n                }\n                this._trigger(\"iconpickerSetSourceValue\", {\n                    iconpickerValue: e\n                });\n            }\n            return e;\n        },\n        getSourceValue: function(e) {\n            e = e || this.options.defaultValue;\n            var a = e;\n            if (this.hasInput()) {\n                a = this.input.val();\n            } else {\n                a = this.element.data(\"iconpickerValue\");\n            }\n            if (a === undefined || a === \"\" || a === null || a === false) {\n                a = e;\n            }\n            return a;\n        },\n        hasInput: function() {\n            return this.input !== false;\n        },\n        isInputSearch: function() {\n            return this.hasInput() && this.options.inputSearch === true;\n        },\n        isInputGroup: function() {\n            return this.container.is(\".input-group\");\n        },\n        isDropdownMenu: function() {\n            return this.container.is(\".dropdown-menu\");\n        },\n        hasSeparatedSearchInput: function() {\n            return this.options.templates.search !== false && !this.isInputSearch();\n        },\n        hasComponent: function() {\n            return this.component !== false;\n        },\n        hasContainer: function() {\n            return this.container !== false;\n        },\n        getAcceptButton: function() {\n            return this.popover.find(\".iconpicker-btn-accept\");\n        },\n        getCancelButton: function() {\n            return this.popover.find(\".iconpicker-btn-cancel\");\n        },\n        getSearchInput: function() {\n            return this.popover.find(\".iconpicker-search\");\n        },\n        filter: function(r) {\n            if (f.isEmpty(r)) {\n                this.iconpicker.find(\".iconpicker-item\").show();\n                return c(false);\n            } else {\n                var i = [];\n                this.iconpicker.find(\".iconpicker-item\").each(function() {\n                    var e = c(this);\n                    var a = e.attr(\"title\").toLowerCase();\n                    var t = e.attr(\"data-search-terms\") ? e.attr(\"data-search-terms\").toLowerCase() : \"\";\n                    a = a + \" \" + t;\n                    var s = false;\n                    try {\n                        s = new RegExp(\"(^|\\\\W)\" + r, \"g\");\n                    } catch (e) {\n                        s = false;\n                    }\n                    if (s !== false && a.match(s)) {\n                        i.push(e);\n                        e.show();\n                    } else {\n                        e.hide();\n                    }\n                });\n                return i;\n            }\n        },\n        show: function() {\n            if (this.popover.hasClass(\"in\")) {\n                return false;\n            }\n            c.iconpicker.batch(c(\".iconpicker-popover.in:not(.inline)\").not(this.popover), \"hide\");\n            this._trigger(\"iconpickerShow\", {\n                iconpickerValue: this.iconpickerValue\n            });\n            this.updatePlacement();\n            this.popover.addClass(\"in\");\n            setTimeout(c.proxy(function() {\n                this.popover.css(\"display\", this.isInline() ? \"\" : \"block\");\n                this._trigger(\"iconpickerShown\", {\n                    iconpickerValue: this.iconpickerValue\n                });\n            }, this), this.options.animation ? 300 : 1);\n        },\n        hide: function() {\n            if (!this.popover.hasClass(\"in\")) {\n                return false;\n            }\n            this._trigger(\"iconpickerHide\", {\n                iconpickerValue: this.iconpickerValue\n            });\n            this.popover.removeClass(\"in\");\n            setTimeout(c.proxy(function() {\n                this.popover.css(\"display\", \"none\");\n                this.getSearchInput().val(\"\");\n                this.filter(\"\");\n                this._trigger(\"iconpickerHidden\", {\n                    iconpickerValue: this.iconpickerValue\n                });\n            }, this), this.options.animation ? 300 : 1);\n        },\n        toggle: function() {\n            if (this.popover.is(\":visible\")) {\n                this.hide();\n            } else {\n                this.show(true);\n            }\n        },\n        update: function(e, a) {\n            e = e ? e : this.getSourceValue(this.iconpickerValue);\n            this._trigger(\"iconpickerUpdate\", {\n                iconpickerValue: this.iconpickerValue\n            });\n            if (a === true) {\n                e = this.setValue(e);\n            } else {\n                e = this.setSourceValue(e);\n                this._updateFormGroupStatus(e !== false);\n            }\n            if (e !== false) {\n                this._updateComponents();\n            }\n            this._trigger(\"iconpickerUpdated\", {\n                iconpickerValue: this.iconpickerValue\n            });\n            return e;\n        },\n        destroy: function() {\n            this._trigger(\"iconpickerDestroy\", {\n                iconpickerValue: this.iconpickerValue\n            });\n            this.element.removeData(\"iconpicker\").removeData(\"iconpickerValue\").removeClass(\"iconpicker-element\");\n            this._unbindElementEvents();\n            this._unbindWindowEvents();\n            c(this.popover).remove();\n            this._trigger(\"iconpickerDestroyed\", {\n                iconpickerValue: this.iconpickerValue\n            });\n        },\n        disable: function() {\n            if (this.hasInput()) {\n                this.input.prop(\"disabled\", true);\n                return true;\n            }\n            return false;\n        },\n        enable: function() {\n            if (this.hasInput()) {\n                this.input.prop(\"disabled\", false);\n                return true;\n            }\n            return false;\n        },\n        isDisabled: function() {\n            if (this.hasInput()) {\n                return this.input.prop(\"disabled\") === true;\n            }\n            return false;\n        },\n        isInline: function() {\n            return this.options.placement === \"inline\" || this.popover.hasClass(\"inline\");\n        }\n    };\n    c.iconpicker = t;\n    c.fn.iconpicker = function(a) {\n        return this.each(function() {\n            var e = c(this);\n            if (!e.data(\"iconpicker\")) {\n                e.data(\"iconpicker\", new t(this, typeof a === \"object\" ? a : {}));\n            }\n        });\n    };\n    t.defaultOptions = c.extend(t.defaultOptions, {\n        icons: [ {\n            title: \"fab fa-500px\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-accessible-icon\",\n            searchTerms: [ \"accessibility\", \"handicap\", \"person\", \"wheelchair\", \"wheelchair-alt\" ]\n        }, {\n            title: \"fab fa-accusoft\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-acquisitions-incorporated\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"game\", \"gaming\", \"tabletop\" ]\n        }, {\n            title: \"fas fa-ad\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-address-book\",\n            searchTerms: []\n        }, {\n            title: \"far fa-address-book\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-address-card\",\n            searchTerms: []\n        }, {\n            title: \"far fa-address-card\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-adjust\",\n            searchTerms: [ \"contrast\" ]\n        }, {\n            title: \"fab fa-adn\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-adversal\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-affiliatetheme\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-air-freshener\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-algolia\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-align-center\",\n            searchTerms: [ \"middle\", \"text\" ]\n        }, {\n            title: \"fas fa-align-justify\",\n            searchTerms: [ \"text\" ]\n        }, {\n            title: \"fas fa-align-left\",\n            searchTerms: [ \"text\" ]\n        }, {\n            title: \"fas fa-align-right\",\n            searchTerms: [ \"text\" ]\n        }, {\n            title: \"fab fa-alipay\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-allergies\",\n            searchTerms: [ \"freckles\", \"hand\", \"intolerances\", \"pox\", \"spots\" ]\n        }, {\n            title: \"fab fa-amazon\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-amazon-pay\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ambulance\",\n            searchTerms: [ \"help\", \"machine\", \"support\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-american-sign-language-interpreting\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-amilia\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-anchor\",\n            searchTerms: [ \"link\" ]\n        }, {\n            title: \"fab fa-android\",\n            searchTerms: [ \"robot\" ]\n        }, {\n            title: \"fab fa-angellist\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-angle-double-down\",\n            searchTerms: [ \"arrows\" ]\n        }, {\n            title: \"fas fa-angle-double-left\",\n            searchTerms: [ \"arrows\", \"back\", \"laquo\", \"previous\", \"quote\" ]\n        }, {\n            title: \"fas fa-angle-double-right\",\n            searchTerms: [ \"arrows\", \"forward\", \"next\", \"quote\", \"raquo\" ]\n        }, {\n            title: \"fas fa-angle-double-up\",\n            searchTerms: [ \"arrows\" ]\n        }, {\n            title: \"fas fa-angle-down\",\n            searchTerms: [ \"arrow\" ]\n        }, {\n            title: \"fas fa-angle-left\",\n            searchTerms: [ \"arrow\", \"back\", \"previous\" ]\n        }, {\n            title: \"fas fa-angle-right\",\n            searchTerms: [ \"arrow\", \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-angle-up\",\n            searchTerms: [ \"arrow\" ]\n        }, {\n            title: \"fas fa-angry\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"mad\", \"upset\" ]\n        }, {\n            title: \"far fa-angry\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"mad\", \"upset\" ]\n        }, {\n            title: \"fab fa-angrycreative\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-angular\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ankh\",\n            searchTerms: [ \"amulet\", \"copper\", \"coptic christianity\", \"copts\", \"crux ansata\", \"egyptian\", \"venus\" ]\n        }, {\n            title: \"fab fa-app-store\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-app-store-ios\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-apper\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-apple\",\n            searchTerms: [ \"food\", \"fruit\", \"mac\", \"osx\" ]\n        }, {\n            title: \"fas fa-apple-alt\",\n            searchTerms: [ \"fall\", \"food\", \"fruit\", \"fuji\", \"macintosh\", \"seasonal\" ]\n        }, {\n            title: \"fab fa-apple-pay\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-archive\",\n            searchTerms: [ \"box\", \"package\", \"storage\" ]\n        }, {\n            title: \"fas fa-archway\",\n            searchTerms: [ \"arc\", \"monument\", \"road\", \"street\" ]\n        }, {\n            title: \"fas fa-arrow-alt-circle-down\",\n            searchTerms: [ \"arrow-circle-o-down\", \"download\" ]\n        }, {\n            title: \"far fa-arrow-alt-circle-down\",\n            searchTerms: [ \"arrow-circle-o-down\", \"download\" ]\n        }, {\n            title: \"fas fa-arrow-alt-circle-left\",\n            searchTerms: [ \"arrow-circle-o-left\", \"back\", \"previous\" ]\n        }, {\n            title: \"far fa-arrow-alt-circle-left\",\n            searchTerms: [ \"arrow-circle-o-left\", \"back\", \"previous\" ]\n        }, {\n            title: \"fas fa-arrow-alt-circle-right\",\n            searchTerms: [ \"arrow-circle-o-right\", \"forward\", \"next\" ]\n        }, {\n            title: \"far fa-arrow-alt-circle-right\",\n            searchTerms: [ \"arrow-circle-o-right\", \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-arrow-alt-circle-up\",\n            searchTerms: [ \"arrow-circle-o-up\" ]\n        }, {\n            title: \"far fa-arrow-alt-circle-up\",\n            searchTerms: [ \"arrow-circle-o-up\" ]\n        }, {\n            title: \"fas fa-arrow-circle-down\",\n            searchTerms: [ \"download\" ]\n        }, {\n            title: \"fas fa-arrow-circle-left\",\n            searchTerms: [ \"back\", \"previous\" ]\n        }, {\n            title: \"fas fa-arrow-circle-right\",\n            searchTerms: [ \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-arrow-circle-up\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-arrow-down\",\n            searchTerms: [ \"download\" ]\n        }, {\n            title: \"fas fa-arrow-left\",\n            searchTerms: [ \"back\", \"previous\" ]\n        }, {\n            title: \"fas fa-arrow-right\",\n            searchTerms: [ \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-arrow-up\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-arrows-alt\",\n            searchTerms: [ \"arrow\", \"arrows\", \"bigger\", \"enlarge\", \"expand\", \"fullscreen\", \"move\", \"position\", \"reorder\", \"resize\" ]\n        }, {\n            title: \"fas fa-arrows-alt-h\",\n            searchTerms: [ \"arrows-h\", \"resize\" ]\n        }, {\n            title: \"fas fa-arrows-alt-v\",\n            searchTerms: [ \"arrows-v\", \"resize\" ]\n        }, {\n            title: \"fas fa-assistive-listening-systems\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-asterisk\",\n            searchTerms: [ \"details\" ]\n        }, {\n            title: \"fab fa-asymmetrik\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-at\",\n            searchTerms: [ \"e-mail\", \"email\" ]\n        }, {\n            title: \"fas fa-atlas\",\n            searchTerms: [ \"book\", \"directions\", \"geography\", \"map\", \"wayfinding\" ]\n        }, {\n            title: \"fas fa-atom\",\n            searchTerms: [ \"atheism\", \"chemistry\", \"science\" ]\n        }, {\n            title: \"fab fa-audible\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-audio-description\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-autoprefixer\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-avianex\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-aviato\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-award\",\n            searchTerms: [ \"honor\", \"praise\", \"prize\", \"recognition\", \"ribbon\" ]\n        }, {\n            title: \"fab fa-aws\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-backspace\",\n            searchTerms: [ \"command\", \"delete\", \"keyboard\", \"undo\" ]\n        }, {\n            title: \"fas fa-backward\",\n            searchTerms: [ \"previous\", \"rewind\" ]\n        }, {\n            title: \"fas fa-balance-scale\",\n            searchTerms: [ \"balanced\", \"justice\", \"legal\", \"measure\", \"weight\" ]\n        }, {\n            title: \"fas fa-ban\",\n            searchTerms: [ \"abort\", \"ban\", \"block\", \"cancel\", \"delete\", \"hide\", \"prohibit\", \"remove\", \"stop\", \"trash\" ]\n        }, {\n            title: \"fas fa-band-aid\",\n            searchTerms: [ \"bandage\", \"boo boo\", \"ouch\" ]\n        }, {\n            title: \"fab fa-bandcamp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-barcode\",\n            searchTerms: [ \"scan\" ]\n        }, {\n            title: \"fas fa-bars\",\n            searchTerms: [ \"checklist\", \"drag\", \"hamburger\", \"list\", \"menu\", \"nav\", \"navigation\", \"ol\", \"reorder\", \"settings\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-baseball-ball\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-basketball-ball\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bath\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-battery-empty\",\n            searchTerms: [ \"power\", \"status\" ]\n        }, {\n            title: \"fas fa-battery-full\",\n            searchTerms: [ \"power\", \"status\" ]\n        }, {\n            title: \"fas fa-battery-half\",\n            searchTerms: [ \"power\", \"status\" ]\n        }, {\n            title: \"fas fa-battery-quarter\",\n            searchTerms: [ \"power\", \"status\" ]\n        }, {\n            title: \"fas fa-battery-three-quarters\",\n            searchTerms: [ \"power\", \"status\" ]\n        }, {\n            title: \"fas fa-bed\",\n            searchTerms: [ \"lodging\", \"sleep\", \"travel\" ]\n        }, {\n            title: \"fas fa-beer\",\n            searchTerms: [ \"alcohol\", \"bar\", \"beverage\", \"drink\", \"liquor\", \"mug\", \"stein\" ]\n        }, {\n            title: \"fab fa-behance\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-behance-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bell\",\n            searchTerms: [ \"alert\", \"notification\", \"reminder\" ]\n        }, {\n            title: \"far fa-bell\",\n            searchTerms: [ \"alert\", \"notification\", \"reminder\" ]\n        }, {\n            title: \"fas fa-bell-slash\",\n            searchTerms: []\n        }, {\n            title: \"far fa-bell-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bezier-curve\",\n            searchTerms: [ \"curves\", \"illustrator\", \"lines\", \"path\", \"vector\" ]\n        }, {\n            title: \"fas fa-bible\",\n            searchTerms: [ \"book\", \"catholicism\", \"christianity\" ]\n        }, {\n            title: \"fas fa-bicycle\",\n            searchTerms: [ \"bike\", \"gears\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fab fa-bimobject\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-binoculars\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-birthday-cake\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-bitbucket\",\n            searchTerms: [ \"bitbucket-square\", \"git\" ]\n        }, {\n            title: \"fab fa-bitcoin\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-bity\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-black-tie\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-blackberry\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-blender\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-blender-phone\",\n            searchTerms: [ \"appliance\", \"fantasy\", \"silly\" ]\n        }, {\n            title: \"fas fa-blind\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-blogger\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-blogger-b\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-bluetooth\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-bluetooth-b\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bold\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bolt\",\n            searchTerms: [ \"electricity\", \"lightning\", \"weather\", \"zap\" ]\n        }, {\n            title: \"fas fa-bomb\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bone\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bong\",\n            searchTerms: [ \"aparatus\", \"cannabis\", \"marijuana\", \"pipe\", \"smoke\", \"smoking\" ]\n        }, {\n            title: \"fas fa-book\",\n            searchTerms: [ \"documentation\", \"read\" ]\n        }, {\n            title: \"fas fa-book-dead\",\n            searchTerms: [ \"Dungeons & Dragons\", \"crossbones\", \"d&d\", \"dark arts\", \"death\", \"dnd\", \"documentation\", \"evil\", \"fantasy\", \"halloween\", \"holiday\", \"read\", \"skull\", \"spell\" ]\n        }, {\n            title: \"fas fa-book-open\",\n            searchTerms: [ \"flyer\", \"notebook\", \"open book\", \"pamphlet\", \"reading\" ]\n        }, {\n            title: \"fas fa-book-reader\",\n            searchTerms: [ \"library\" ]\n        }, {\n            title: \"fas fa-bookmark\",\n            searchTerms: [ \"save\" ]\n        }, {\n            title: \"far fa-bookmark\",\n            searchTerms: [ \"save\" ]\n        }, {\n            title: \"fas fa-bowling-ball\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-box\",\n            searchTerms: [ \"package\" ]\n        }, {\n            title: \"fas fa-box-open\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-boxes\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-braille\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-brain\",\n            searchTerms: [ \"cerebellum\", \"gray matter\", \"intellect\", \"medulla oblongata\", \"mind\", \"noodle\", \"wit\" ]\n        }, {\n            title: \"fas fa-briefcase\",\n            searchTerms: [ \"bag\", \"business\", \"luggage\", \"office\", \"work\" ]\n        }, {\n            title: \"fas fa-briefcase-medical\",\n            searchTerms: [ \"health briefcase\" ]\n        }, {\n            title: \"fas fa-broadcast-tower\",\n            searchTerms: [ \"airwaves\", \"radio\", \"waves\" ]\n        }, {\n            title: \"fas fa-broom\",\n            searchTerms: [ \"clean\", \"firebolt\", \"fly\", \"halloween\", \"holiday\", \"nimbus 2000\", \"quidditch\", \"sweep\", \"witch\" ]\n        }, {\n            title: \"fas fa-brush\",\n            searchTerms: [ \"bristles\", \"color\", \"handle\", \"painting\" ]\n        }, {\n            title: \"fab fa-btc\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bug\",\n            searchTerms: [ \"insect\", \"report\" ]\n        }, {\n            title: \"fas fa-building\",\n            searchTerms: [ \"apartment\", \"business\", \"company\", \"office\", \"work\" ]\n        }, {\n            title: \"far fa-building\",\n            searchTerms: [ \"apartment\", \"business\", \"company\", \"office\", \"work\" ]\n        }, {\n            title: \"fas fa-bullhorn\",\n            searchTerms: [ \"announcement\", \"broadcast\", \"louder\", \"megaphone\", \"share\" ]\n        }, {\n            title: \"fas fa-bullseye\",\n            searchTerms: [ \"target\" ]\n        }, {\n            title: \"fas fa-burn\",\n            searchTerms: [ \"energy\" ]\n        }, {\n            title: \"fab fa-buromobelexperte\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-bus\",\n            searchTerms: [ \"machine\", \"public transportation\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-bus-alt\",\n            searchTerms: [ \"machine\", \"public transportation\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-business-time\",\n            searchTerms: [ \"briefcase\", \"business socks\", \"clock\", \"flight of the conchords\", \"wednesday\" ]\n        }, {\n            title: \"fab fa-buysellads\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-calculator\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-calendar\",\n            searchTerms: [ \"calendar-o\", \"date\", \"event\", \"schedule\", \"time\", \"when\" ]\n        }, {\n            title: \"far fa-calendar\",\n            searchTerms: [ \"calendar-o\", \"date\", \"event\", \"schedule\", \"time\", \"when\" ]\n        }, {\n            title: \"fas fa-calendar-alt\",\n            searchTerms: [ \"calendar\", \"date\", \"event\", \"schedule\", \"time\", \"when\" ]\n        }, {\n            title: \"far fa-calendar-alt\",\n            searchTerms: [ \"calendar\", \"date\", \"event\", \"schedule\", \"time\", \"when\" ]\n        }, {\n            title: \"fas fa-calendar-check\",\n            searchTerms: [ \"accept\", \"agree\", \"appointment\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\" ]\n        }, {\n            title: \"far fa-calendar-check\",\n            searchTerms: [ \"accept\", \"agree\", \"appointment\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\" ]\n        }, {\n            title: \"fas fa-calendar-minus\",\n            searchTerms: [ \"delete\", \"negative\", \"remove\" ]\n        }, {\n            title: \"far fa-calendar-minus\",\n            searchTerms: [ \"delete\", \"negative\", \"remove\" ]\n        }, {\n            title: \"fas fa-calendar-plus\",\n            searchTerms: [ \"add\", \"create\", \"new\", \"positive\" ]\n        }, {\n            title: \"far fa-calendar-plus\",\n            searchTerms: [ \"add\", \"create\", \"new\", \"positive\" ]\n        }, {\n            title: \"fas fa-calendar-times\",\n            searchTerms: [ \"archive\", \"delete\", \"remove\", \"x\" ]\n        }, {\n            title: \"far fa-calendar-times\",\n            searchTerms: [ \"archive\", \"delete\", \"remove\", \"x\" ]\n        }, {\n            title: \"fas fa-camera\",\n            searchTerms: [ \"photo\", \"picture\", \"record\" ]\n        }, {\n            title: \"fas fa-camera-retro\",\n            searchTerms: [ \"photo\", \"picture\", \"record\" ]\n        }, {\n            title: \"fas fa-campground\",\n            searchTerms: [ \"camping\", \"fall\", \"outdoors\", \"seasonal\", \"tent\" ]\n        }, {\n            title: \"fas fa-cannabis\",\n            searchTerms: [ \"bud\", \"chronic\", \"drugs\", \"endica\", \"endo\", \"ganja\", \"marijuana\", \"mary jane\", \"pot\", \"reefer\", \"sativa\", \"spliff\", \"weed\", \"whacky-tabacky\" ]\n        }, {\n            title: \"fas fa-capsules\",\n            searchTerms: [ \"drugs\", \"medicine\" ]\n        }, {\n            title: \"fas fa-car\",\n            searchTerms: [ \"machine\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-car-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-car-battery\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-car-crash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-car-side\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-caret-down\",\n            searchTerms: [ \"arrow\", \"dropdown\", \"menu\", \"more\", \"triangle down\" ]\n        }, {\n            title: \"fas fa-caret-left\",\n            searchTerms: [ \"arrow\", \"back\", \"previous\", \"triangle left\" ]\n        }, {\n            title: \"fas fa-caret-right\",\n            searchTerms: [ \"arrow\", \"forward\", \"next\", \"triangle right\" ]\n        }, {\n            title: \"fas fa-caret-square-down\",\n            searchTerms: [ \"caret-square-o-down\", \"dropdown\", \"menu\", \"more\" ]\n        }, {\n            title: \"far fa-caret-square-down\",\n            searchTerms: [ \"caret-square-o-down\", \"dropdown\", \"menu\", \"more\" ]\n        }, {\n            title: \"fas fa-caret-square-left\",\n            searchTerms: [ \"back\", \"caret-square-o-left\", \"previous\" ]\n        }, {\n            title: \"far fa-caret-square-left\",\n            searchTerms: [ \"back\", \"caret-square-o-left\", \"previous\" ]\n        }, {\n            title: \"fas fa-caret-square-right\",\n            searchTerms: [ \"caret-square-o-right\", \"forward\", \"next\" ]\n        }, {\n            title: \"far fa-caret-square-right\",\n            searchTerms: [ \"caret-square-o-right\", \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-caret-square-up\",\n            searchTerms: [ \"caret-square-o-up\" ]\n        }, {\n            title: \"far fa-caret-square-up\",\n            searchTerms: [ \"caret-square-o-up\" ]\n        }, {\n            title: \"fas fa-caret-up\",\n            searchTerms: [ \"arrow\", \"triangle up\" ]\n        }, {\n            title: \"fas fa-cart-arrow-down\",\n            searchTerms: [ \"shopping\" ]\n        }, {\n            title: \"fas fa-cart-plus\",\n            searchTerms: [ \"add\", \"create\", \"new\", \"positive\", \"shopping\" ]\n        }, {\n            title: \"fas fa-cat\",\n            searchTerms: [ \"feline\", \"halloween\", \"holiday\", \"kitten\", \"kitty\", \"meow\", \"pet\" ]\n        }, {\n            title: \"fab fa-cc-amazon-pay\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-amex\",\n            searchTerms: [ \"amex\" ]\n        }, {\n            title: \"fab fa-cc-apple-pay\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-diners-club\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-discover\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-jcb\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-mastercard\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-paypal\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-stripe\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cc-visa\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-centercode\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-certificate\",\n            searchTerms: [ \"badge\", \"star\" ]\n        }, {\n            title: \"fas fa-chair\",\n            searchTerms: [ \"furniture\", \"seat\" ]\n        }, {\n            title: \"fas fa-chalkboard\",\n            searchTerms: [ \"blackboard\", \"learning\", \"school\", \"teaching\", \"whiteboard\", \"writing\" ]\n        }, {\n            title: \"fas fa-chalkboard-teacher\",\n            searchTerms: [ \"blackboard\", \"instructor\", \"learning\", \"professor\", \"school\", \"whiteboard\", \"writing\" ]\n        }, {\n            title: \"fas fa-charging-station\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chart-area\",\n            searchTerms: [ \"analytics\", \"area-chart\", \"graph\" ]\n        }, {\n            title: \"fas fa-chart-bar\",\n            searchTerms: [ \"analytics\", \"bar-chart\", \"graph\" ]\n        }, {\n            title: \"far fa-chart-bar\",\n            searchTerms: [ \"analytics\", \"bar-chart\", \"graph\" ]\n        }, {\n            title: \"fas fa-chart-line\",\n            searchTerms: [ \"activity\", \"analytics\", \"dashboard\", \"graph\", \"line-chart\" ]\n        }, {\n            title: \"fas fa-chart-pie\",\n            searchTerms: [ \"analytics\", \"graph\", \"pie-chart\" ]\n        }, {\n            title: \"fas fa-check\",\n            searchTerms: [ \"accept\", \"agree\", \"checkmark\", \"confirm\", \"correct\", \"done\", \"notice\", \"notification\", \"notify\", \"ok\", \"select\", \"success\", \"tick\", \"todo\", \"yes\" ]\n        }, {\n            title: \"fas fa-check-circle\",\n            searchTerms: [ \"accept\", \"agree\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\", \"yes\" ]\n        }, {\n            title: \"far fa-check-circle\",\n            searchTerms: [ \"accept\", \"agree\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\", \"yes\" ]\n        }, {\n            title: \"fas fa-check-double\",\n            searchTerms: [ \"accept\", \"agree\", \"checkmark\", \"confirm\", \"correct\", \"done\", \"notice\", \"notification\", \"notify\", \"ok\", \"select\", \"success\", \"tick\", \"todo\" ]\n        }, {\n            title: \"fas fa-check-square\",\n            searchTerms: [ \"accept\", \"agree\", \"checkmark\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\", \"yes\" ]\n        }, {\n            title: \"far fa-check-square\",\n            searchTerms: [ \"accept\", \"agree\", \"checkmark\", \"confirm\", \"correct\", \"done\", \"ok\", \"select\", \"success\", \"todo\", \"yes\" ]\n        }, {\n            title: \"fas fa-chess\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-bishop\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-board\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-king\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-knight\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-pawn\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-queen\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chess-rook\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chevron-circle-down\",\n            searchTerms: [ \"arrow\", \"dropdown\", \"menu\", \"more\" ]\n        }, {\n            title: \"fas fa-chevron-circle-left\",\n            searchTerms: [ \"arrow\", \"back\", \"previous\" ]\n        }, {\n            title: \"fas fa-chevron-circle-right\",\n            searchTerms: [ \"arrow\", \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-chevron-circle-up\",\n            searchTerms: [ \"arrow\" ]\n        }, {\n            title: \"fas fa-chevron-down\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-chevron-left\",\n            searchTerms: [ \"back\", \"bracket\", \"previous\" ]\n        }, {\n            title: \"fas fa-chevron-right\",\n            searchTerms: [ \"bracket\", \"forward\", \"next\" ]\n        }, {\n            title: \"fas fa-chevron-up\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-child\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-chrome\",\n            searchTerms: [ \"browser\" ]\n        }, {\n            title: \"fas fa-church\",\n            searchTerms: [ \"building\", \"community\", \"religion\" ]\n        }, {\n            title: \"fas fa-circle\",\n            searchTerms: [ \"circle-thin\", \"dot\", \"notification\" ]\n        }, {\n            title: \"far fa-circle\",\n            searchTerms: [ \"circle-thin\", \"dot\", \"notification\" ]\n        }, {\n            title: \"fas fa-circle-notch\",\n            searchTerms: [ \"circle-o-notch\" ]\n        }, {\n            title: \"fas fa-city\",\n            searchTerms: [ \"buildings\", \"busy\", \"skyscrapers\", \"urban\", \"windows\" ]\n        }, {\n            title: \"fas fa-clipboard\",\n            searchTerms: [ \"paste\" ]\n        }, {\n            title: \"far fa-clipboard\",\n            searchTerms: [ \"paste\" ]\n        }, {\n            title: \"fas fa-clipboard-check\",\n            searchTerms: [ \"accept\", \"agree\", \"confirm\", \"done\", \"ok\", \"select\", \"success\", \"todo\", \"yes\" ]\n        }, {\n            title: \"fas fa-clipboard-list\",\n            searchTerms: [ \"checklist\", \"completed\", \"done\", \"finished\", \"intinerary\", \"ol\", \"schedule\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-clock\",\n            searchTerms: [ \"date\", \"late\", \"schedule\", \"timer\", \"timestamp\", \"watch\" ]\n        }, {\n            title: \"far fa-clock\",\n            searchTerms: [ \"date\", \"late\", \"schedule\", \"timer\", \"timestamp\", \"watch\" ]\n        }, {\n            title: \"fas fa-clone\",\n            searchTerms: [ \"copy\", \"duplicate\" ]\n        }, {\n            title: \"far fa-clone\",\n            searchTerms: [ \"copy\", \"duplicate\" ]\n        }, {\n            title: \"fas fa-closed-captioning\",\n            searchTerms: [ \"cc\" ]\n        }, {\n            title: \"far fa-closed-captioning\",\n            searchTerms: [ \"cc\" ]\n        }, {\n            title: \"fas fa-cloud\",\n            searchTerms: [ \"save\" ]\n        }, {\n            title: \"fas fa-cloud-download-alt\",\n            searchTerms: [ \"import\" ]\n        }, {\n            title: \"fas fa-cloud-meatball\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cloud-moon\",\n            searchTerms: [ \"crescent\", \"evening\", \"halloween\", \"holiday\", \"lunar\", \"night\", \"sky\" ]\n        }, {\n            title: \"fas fa-cloud-moon-rain\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cloud-rain\",\n            searchTerms: [ \"precipitation\" ]\n        }, {\n            title: \"fas fa-cloud-showers-heavy\",\n            searchTerms: [ \"precipitation\", \"rain\", \"storm\" ]\n        }, {\n            title: \"fas fa-cloud-sun\",\n            searchTerms: [ \"day\", \"daytime\", \"fall\", \"outdoors\", \"seasonal\" ]\n        }, {\n            title: \"fas fa-cloud-sun-rain\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cloud-upload-alt\",\n            searchTerms: [ \"cloud-upload\" ]\n        }, {\n            title: \"fab fa-cloudscale\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cloudsmith\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-cloudversify\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cocktail\",\n            searchTerms: [ \"alcohol\", \"beverage\", \"drink\" ]\n        }, {\n            title: \"fas fa-code\",\n            searchTerms: [ \"brackets\", \"html\" ]\n        }, {\n            title: \"fas fa-code-branch\",\n            searchTerms: [ \"branch\", \"code-fork\", \"fork\", \"git\", \"github\", \"rebase\", \"svn\", \"vcs\", \"version\" ]\n        }, {\n            title: \"fab fa-codepen\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-codiepie\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-coffee\",\n            searchTerms: [ \"beverage\", \"breakfast\", \"cafe\", \"drink\", \"fall\", \"morning\", \"mug\", \"seasonal\", \"tea\" ]\n        }, {\n            title: \"fas fa-cog\",\n            searchTerms: [ \"settings\" ]\n        }, {\n            title: \"fas fa-cogs\",\n            searchTerms: [ \"gears\", \"settings\" ]\n        }, {\n            title: \"fas fa-coins\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-columns\",\n            searchTerms: [ \"dashboard\", \"panes\", \"split\" ]\n        }, {\n            title: \"fas fa-comment\",\n            searchTerms: [ \"bubble\", \"chat\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"far fa-comment\",\n            searchTerms: [ \"bubble\", \"chat\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"fas fa-comment-alt\",\n            searchTerms: [ \"bubble\", \"chat\", \"commenting\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"far fa-comment-alt\",\n            searchTerms: [ \"bubble\", \"chat\", \"commenting\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"fas fa-comment-dollar\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-comment-dots\",\n            searchTerms: []\n        }, {\n            title: \"far fa-comment-dots\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-comment-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-comments\",\n            searchTerms: [ \"bubble\", \"chat\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"far fa-comments\",\n            searchTerms: [ \"bubble\", \"chat\", \"conversation\", \"feedback\", \"message\", \"note\", \"notification\", \"sms\", \"speech\", \"texting\" ]\n        }, {\n            title: \"fas fa-comments-dollar\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-compact-disc\",\n            searchTerms: [ \"bluray\", \"cd\", \"disc\", \"media\" ]\n        }, {\n            title: \"fas fa-compass\",\n            searchTerms: [ \"directory\", \"location\", \"menu\", \"safari\" ]\n        }, {\n            title: \"far fa-compass\",\n            searchTerms: [ \"directory\", \"location\", \"menu\", \"safari\" ]\n        }, {\n            title: \"fas fa-compress\",\n            searchTerms: [ \"collapse\", \"combine\", \"contract\", \"merge\", \"smaller\" ]\n        }, {\n            title: \"fas fa-concierge-bell\",\n            searchTerms: [ \"attention\", \"hotel\", \"service\", \"support\" ]\n        }, {\n            title: \"fab fa-connectdevelop\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-contao\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cookie\",\n            searchTerms: [ \"baked good\", \"chips\", \"food\", \"snack\", \"sweet\", \"treat\" ]\n        }, {\n            title: \"fas fa-cookie-bite\",\n            searchTerms: [ \"baked good\", \"bitten\", \"chips\", \"eating\", \"food\", \"snack\", \"sweet\", \"treat\" ]\n        }, {\n            title: \"fas fa-copy\",\n            searchTerms: [ \"clone\", \"duplicate\", \"file\", \"files-o\" ]\n        }, {\n            title: \"far fa-copy\",\n            searchTerms: [ \"clone\", \"duplicate\", \"file\", \"files-o\" ]\n        }, {\n            title: \"fas fa-copyright\",\n            searchTerms: []\n        }, {\n            title: \"far fa-copyright\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-couch\",\n            searchTerms: [ \"furniture\", \"sofa\" ]\n        }, {\n            title: \"fab fa-cpanel\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-by\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-nc\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-nc-eu\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-nc-jp\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-nd\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-pd\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-pd-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-remix\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-sa\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-sampling\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-sampling-plus\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-share\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-creative-commons-zero\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-credit-card\",\n            searchTerms: [ \"buy\", \"checkout\", \"credit-card-alt\", \"debit\", \"money\", \"payment\", \"purchase\" ]\n        }, {\n            title: \"far fa-credit-card\",\n            searchTerms: [ \"buy\", \"checkout\", \"credit-card-alt\", \"debit\", \"money\", \"payment\", \"purchase\" ]\n        }, {\n            title: \"fab fa-critical-role\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"game\", \"gaming\", \"tabletop\" ]\n        }, {\n            title: \"fas fa-crop\",\n            searchTerms: [ \"design\" ]\n        }, {\n            title: \"fas fa-crop-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cross\",\n            searchTerms: [ \"catholicism\", \"christianity\" ]\n        }, {\n            title: \"fas fa-crosshairs\",\n            searchTerms: [ \"gpd\", \"picker\", \"position\" ]\n        }, {\n            title: \"fas fa-crow\",\n            searchTerms: [ \"bird\", \"bullfrog\", \"fauna\", \"halloween\", \"holiday\", \"toad\" ]\n        }, {\n            title: \"fas fa-crown\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-css3\",\n            searchTerms: [ \"code\" ]\n        }, {\n            title: \"fab fa-css3-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-cube\",\n            searchTerms: [ \"package\" ]\n        }, {\n            title: \"fas fa-cubes\",\n            searchTerms: [ \"packages\" ]\n        }, {\n            title: \"fas fa-cut\",\n            searchTerms: [ \"scissors\" ]\n        }, {\n            title: \"fab fa-cuttlefish\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-d-and-d\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-d-and-d-beyond\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"gaming\", \"tabletop\" ]\n        }, {\n            title: \"fab fa-dashcube\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-database\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-deaf\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-delicious\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-democrat\",\n            searchTerms: [ \"american\", \"democratic party\", \"donkey\", \"election\", \"left\", \"left-wing\", \"liberal\", \"politics\", \"usa\" ]\n        }, {\n            title: \"fab fa-deploydog\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-deskpro\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-desktop\",\n            searchTerms: [ \"computer\", \"cpu\", \"demo\", \"desktop\", \"device\", \"machine\", \"monitor\", \"pc\", \"screen\" ]\n        }, {\n            title: \"fab fa-dev\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-deviantart\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dharmachakra\",\n            searchTerms: [ \"buddhism\", \"buddhist\", \"wheel of dharma\" ]\n        }, {\n            title: \"fas fa-diagnoses\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dice\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-d20\",\n            searchTerms: [ \"Dungeons & Dragons\", \"chance\", \"d&d\", \"dnd\", \"fantasy\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-d6\",\n            searchTerms: [ \"Dungeons & Dragons\", \"chance\", \"d&d\", \"dnd\", \"fantasy\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-five\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-four\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-one\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-six\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-three\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fas fa-dice-two\",\n            searchTerms: [ \"chance\", \"gambling\", \"game\", \"roll\" ]\n        }, {\n            title: \"fab fa-digg\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-digital-ocean\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-digital-tachograph\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-directions\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-discord\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-discourse\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-divide\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dizzy\",\n            searchTerms: [ \"dazed\", \"disapprove\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-dizzy\",\n            searchTerms: [ \"dazed\", \"disapprove\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-dna\",\n            searchTerms: [ \"double helix\", \"helix\" ]\n        }, {\n            title: \"fab fa-dochub\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-docker\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dog\",\n            searchTerms: [ \"canine\", \"fauna\", \"mammmal\", \"pet\", \"pooch\", \"puppy\", \"woof\" ]\n        }, {\n            title: \"fas fa-dollar-sign\",\n            searchTerms: [ \"$\", \"dollar-sign\", \"money\", \"price\", \"usd\" ]\n        }, {\n            title: \"fas fa-dolly\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dolly-flatbed\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-donate\",\n            searchTerms: [ \"generosity\", \"give\" ]\n        }, {\n            title: \"fas fa-door-closed\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-door-open\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dot-circle\",\n            searchTerms: [ \"bullseye\", \"notification\", \"target\" ]\n        }, {\n            title: \"far fa-dot-circle\",\n            searchTerms: [ \"bullseye\", \"notification\", \"target\" ]\n        }, {\n            title: \"fas fa-dove\",\n            searchTerms: [ \"bird\", \"fauna\", \"flying\", \"peace\" ]\n        }, {\n            title: \"fas fa-download\",\n            searchTerms: [ \"import\" ]\n        }, {\n            title: \"fab fa-draft2digital\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-drafting-compass\",\n            searchTerms: [ \"mechanical drawing\", \"plot\", \"plotting\" ]\n        }, {\n            title: \"fas fa-dragon\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\" ]\n        }, {\n            title: \"fas fa-draw-polygon\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-dribbble\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-dribbble-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-dropbox\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-drum\",\n            searchTerms: [ \"instrument\", \"music\", \"percussion\", \"snare\", \"sound\" ]\n        }, {\n            title: \"fas fa-drum-steelpan\",\n            searchTerms: [ \"calypso\", \"instrument\", \"music\", \"percussion\", \"reggae\", \"snare\", \"sound\", \"steel\", \"tropical\" ]\n        }, {\n            title: \"fas fa-drumstick-bite\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-drupal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-dumbbell\",\n            searchTerms: [ \"exercise\", \"gym\", \"strength\", \"weight\", \"weight-lifting\" ]\n        }, {\n            title: \"fas fa-dungeon\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"door\", \"entrance\", \"fantasy\", \"gate\" ]\n        }, {\n            title: \"fab fa-dyalog\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-earlybirds\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-ebay\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-edge\",\n            searchTerms: [ \"browser\", \"ie\" ]\n        }, {\n            title: \"fas fa-edit\",\n            searchTerms: [ \"edit\", \"pen\", \"pencil\", \"update\", \"write\" ]\n        }, {\n            title: \"far fa-edit\",\n            searchTerms: [ \"edit\", \"pen\", \"pencil\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-eject\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-elementor\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ellipsis-h\",\n            searchTerms: [ \"dots\", \"drag\", \"kebab\", \"list\", \"menu\", \"nav\", \"navigation\", \"ol\", \"reorder\", \"settings\", \"ul\" ]\n        }, {\n            title: \"fas fa-ellipsis-v\",\n            searchTerms: [ \"dots\", \"drag\", \"kebab\", \"list\", \"menu\", \"nav\", \"navigation\", \"ol\", \"reorder\", \"settings\", \"ul\" ]\n        }, {\n            title: \"fab fa-ello\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-ember\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-empire\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-envelope\",\n            searchTerms: [ \"e-mail\", \"email\", \"letter\", \"mail\", \"message\", \"notification\", \"support\" ]\n        }, {\n            title: \"far fa-envelope\",\n            searchTerms: [ \"e-mail\", \"email\", \"letter\", \"mail\", \"message\", \"notification\", \"support\" ]\n        }, {\n            title: \"fas fa-envelope-open\",\n            searchTerms: [ \"e-mail\", \"email\", \"letter\", \"mail\", \"message\", \"notification\", \"support\" ]\n        }, {\n            title: \"far fa-envelope-open\",\n            searchTerms: [ \"e-mail\", \"email\", \"letter\", \"mail\", \"message\", \"notification\", \"support\" ]\n        }, {\n            title: \"fas fa-envelope-open-text\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-envelope-square\",\n            searchTerms: [ \"e-mail\", \"email\", \"letter\", \"mail\", \"message\", \"notification\", \"support\" ]\n        }, {\n            title: \"fab fa-envira\",\n            searchTerms: [ \"leaf\" ]\n        }, {\n            title: \"fas fa-equals\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-eraser\",\n            searchTerms: [ \"delete\", \"remove\" ]\n        }, {\n            title: \"fab fa-erlang\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-ethereum\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-etsy\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-euro-sign\",\n            searchTerms: [ \"eur\" ]\n        }, {\n            title: \"fas fa-exchange-alt\",\n            searchTerms: [ \"arrow\", \"arrows\", \"exchange\", \"reciprocate\", \"return\", \"swap\", \"transfer\" ]\n        }, {\n            title: \"fas fa-exclamation\",\n            searchTerms: [ \"alert\", \"danger\", \"error\", \"important\", \"notice\", \"notification\", \"notify\", \"problem\", \"warning\" ]\n        }, {\n            title: \"fas fa-exclamation-circle\",\n            searchTerms: [ \"alert\", \"danger\", \"error\", \"important\", \"notice\", \"notification\", \"notify\", \"problem\", \"warning\" ]\n        }, {\n            title: \"fas fa-exclamation-triangle\",\n            searchTerms: [ \"alert\", \"danger\", \"error\", \"important\", \"notice\", \"notification\", \"notify\", \"problem\", \"warning\" ]\n        }, {\n            title: \"fas fa-expand\",\n            searchTerms: [ \"bigger\", \"enlarge\", \"resize\" ]\n        }, {\n            title: \"fas fa-expand-arrows-alt\",\n            searchTerms: [ \"arrows-alt\", \"bigger\", \"enlarge\", \"move\", \"resize\" ]\n        }, {\n            title: \"fab fa-expeditedssl\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-external-link-alt\",\n            searchTerms: [ \"external-link\", \"new\", \"open\" ]\n        }, {\n            title: \"fas fa-external-link-square-alt\",\n            searchTerms: [ \"external-link-square\", \"new\", \"open\" ]\n        }, {\n            title: \"fas fa-eye\",\n            searchTerms: [ \"optic\", \"see\", \"seen\", \"show\", \"sight\", \"views\", \"visible\" ]\n        }, {\n            title: \"far fa-eye\",\n            searchTerms: [ \"optic\", \"see\", \"seen\", \"show\", \"sight\", \"views\", \"visible\" ]\n        }, {\n            title: \"fas fa-eye-dropper\",\n            searchTerms: [ \"eyedropper\" ]\n        }, {\n            title: \"fas fa-eye-slash\",\n            searchTerms: [ \"blind\", \"hide\", \"show\", \"toggle\", \"unseen\", \"views\", \"visible\", \"visiblity\" ]\n        }, {\n            title: \"far fa-eye-slash\",\n            searchTerms: [ \"blind\", \"hide\", \"show\", \"toggle\", \"unseen\", \"views\", \"visible\", \"visiblity\" ]\n        }, {\n            title: \"fab fa-facebook\",\n            searchTerms: [ \"facebook-official\", \"social network\" ]\n        }, {\n            title: \"fab fa-facebook-f\",\n            searchTerms: [ \"facebook\" ]\n        }, {\n            title: \"fab fa-facebook-messenger\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-facebook-square\",\n            searchTerms: [ \"social network\" ]\n        }, {\n            title: \"fab fa-fantasy-flight-games\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"game\", \"gaming\", \"tabletop\" ]\n        }, {\n            title: \"fas fa-fast-backward\",\n            searchTerms: [ \"beginning\", \"first\", \"previous\", \"rewind\", \"start\" ]\n        }, {\n            title: \"fas fa-fast-forward\",\n            searchTerms: [ \"end\", \"last\", \"next\" ]\n        }, {\n            title: \"fas fa-fax\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-feather\",\n            searchTerms: [ \"bird\", \"light\", \"plucked\", \"quill\" ]\n        }, {\n            title: \"fas fa-feather-alt\",\n            searchTerms: [ \"bird\", \"light\", \"plucked\", \"quill\" ]\n        }, {\n            title: \"fas fa-female\",\n            searchTerms: [ \"human\", \"person\", \"profile\", \"user\", \"woman\" ]\n        }, {\n            title: \"fas fa-fighter-jet\",\n            searchTerms: [ \"airplane\", \"fast\", \"fly\", \"goose\", \"maverick\", \"plane\", \"quick\", \"top gun\", \"transportation\", \"travel\" ]\n        }, {\n            title: \"fas fa-file\",\n            searchTerms: [ \"document\", \"new\", \"page\", \"pdf\", \"resume\" ]\n        }, {\n            title: \"far fa-file\",\n            searchTerms: [ \"document\", \"new\", \"page\", \"pdf\", \"resume\" ]\n        }, {\n            title: \"fas fa-file-alt\",\n            searchTerms: [ \"document\", \"file-text\", \"invoice\", \"new\", \"page\", \"pdf\" ]\n        }, {\n            title: \"far fa-file-alt\",\n            searchTerms: [ \"document\", \"file-text\", \"invoice\", \"new\", \"page\", \"pdf\" ]\n        }, {\n            title: \"fas fa-file-archive\",\n            searchTerms: [ \".zip\", \"bundle\", \"compress\", \"compression\", \"download\", \"zip\" ]\n        }, {\n            title: \"far fa-file-archive\",\n            searchTerms: [ \".zip\", \"bundle\", \"compress\", \"compression\", \"download\", \"zip\" ]\n        }, {\n            title: \"fas fa-file-audio\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-audio\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-code\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-code\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-contract\",\n            searchTerms: [ \"agreement\", \"binding\", \"document\", \"legal\", \"signature\" ]\n        }, {\n            title: \"fas fa-file-csv\",\n            searchTerms: [ \"spreadsheets\" ]\n        }, {\n            title: \"fas fa-file-download\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-excel\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-excel\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-export\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-image\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-image\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-import\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-invoice\",\n            searchTerms: [ \"bill\", \"document\", \"receipt\" ]\n        }, {\n            title: \"fas fa-file-invoice-dollar\",\n            searchTerms: [ \"$\", \"bill\", \"document\", \"dollar-sign\", \"money\", \"receipt\", \"usd\" ]\n        }, {\n            title: \"fas fa-file-medical\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-medical-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-pdf\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-pdf\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-powerpoint\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-powerpoint\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-prescription\",\n            searchTerms: [ \"drugs\", \"medical\", \"medicine\", \"rx\" ]\n        }, {\n            title: \"fas fa-file-signature\",\n            searchTerms: [ \"John Hancock\", \"contract\", \"document\", \"name\" ]\n        }, {\n            title: \"fas fa-file-upload\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-video\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-video\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-file-word\",\n            searchTerms: []\n        }, {\n            title: \"far fa-file-word\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-fill\",\n            searchTerms: [ \"bucket\", \"color\", \"paint\", \"paint bucket\" ]\n        }, {\n            title: \"fas fa-fill-drip\",\n            searchTerms: [ \"bucket\", \"color\", \"drop\", \"paint\", \"paint bucket\", \"spill\" ]\n        }, {\n            title: \"fas fa-film\",\n            searchTerms: [ \"movie\" ]\n        }, {\n            title: \"fas fa-filter\",\n            searchTerms: [ \"funnel\", \"options\" ]\n        }, {\n            title: \"fas fa-fingerprint\",\n            searchTerms: [ \"human\", \"id\", \"identification\", \"lock\", \"smudge\", \"touch\", \"unique\", \"unlock\" ]\n        }, {\n            title: \"fas fa-fire\",\n            searchTerms: [ \"caliente\", \"flame\", \"heat\", \"hot\", \"popular\" ]\n        }, {\n            title: \"fas fa-fire-extinguisher\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-firefox\",\n            searchTerms: [ \"browser\" ]\n        }, {\n            title: \"fas fa-first-aid\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-first-order\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-first-order-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-firstdraft\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-fish\",\n            searchTerms: [ \"fauna\", \"gold\", \"swimming\" ]\n        }, {\n            title: \"fas fa-fist-raised\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"hand\", \"ki\", \"monk\", \"resist\", \"strength\", \"unarmed combat\" ]\n        }, {\n            title: \"fas fa-flag\",\n            searchTerms: [ \"country\", \"notice\", \"notification\", \"notify\", \"pole\", \"report\", \"symbol\" ]\n        }, {\n            title: \"far fa-flag\",\n            searchTerms: [ \"country\", \"notice\", \"notification\", \"notify\", \"pole\", \"report\", \"symbol\" ]\n        }, {\n            title: \"fas fa-flag-checkered\",\n            searchTerms: [ \"notice\", \"notification\", \"notify\", \"pole\", \"racing\", \"report\", \"symbol\" ]\n        }, {\n            title: \"fas fa-flag-usa\",\n            searchTerms: [ \"betsy ross\", \"country\", \"old glory\", \"stars\", \"stripes\", \"symbol\" ]\n        }, {\n            title: \"fas fa-flask\",\n            searchTerms: [ \"beaker\", \"experimental\", \"labs\", \"science\" ]\n        }, {\n            title: \"fab fa-flickr\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-flipboard\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-flushed\",\n            searchTerms: [ \"embarrassed\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-flushed\",\n            searchTerms: [ \"embarrassed\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fab fa-fly\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-folder\",\n            searchTerms: []\n        }, {\n            title: \"far fa-folder\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-folder-minus\",\n            searchTerms: [ \"archive\", \"delete\", \"negative\", \"remove\" ]\n        }, {\n            title: \"fas fa-folder-open\",\n            searchTerms: []\n        }, {\n            title: \"far fa-folder-open\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-folder-plus\",\n            searchTerms: [ \"add\", \"create\", \"new\", \"positive\" ]\n        }, {\n            title: \"fas fa-font\",\n            searchTerms: [ \"text\" ]\n        }, {\n            title: \"fab fa-font-awesome\",\n            searchTerms: [ \"meanpath\" ]\n        }, {\n            title: \"fab fa-font-awesome-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-font-awesome-flag\",\n            searchTerms: []\n        }, {\n            title: \"far fa-font-awesome-logo-full\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-font-awesome-logo-full\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-font-awesome-logo-full\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-fonticons\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-fonticons-fi\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-football-ball\",\n            searchTerms: [ \"fall\", \"pigskin\", \"seasonal\" ]\n        }, {\n            title: \"fab fa-fort-awesome\",\n            searchTerms: [ \"castle\" ]\n        }, {\n            title: \"fab fa-fort-awesome-alt\",\n            searchTerms: [ \"castle\" ]\n        }, {\n            title: \"fab fa-forumbee\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-forward\",\n            searchTerms: [ \"forward\", \"next\" ]\n        }, {\n            title: \"fab fa-foursquare\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-free-code-camp\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-freebsd\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-frog\",\n            searchTerms: [ \"amphibian\", \"bullfrog\", \"fauna\", \"hop\", \"kermit\", \"kiss\", \"prince\", \"ribbit\", \"toad\", \"wart\" ]\n        }, {\n            title: \"fas fa-frown\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"rating\", \"sad\" ]\n        }, {\n            title: \"far fa-frown\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"rating\", \"sad\" ]\n        }, {\n            title: \"fas fa-frown-open\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"rating\", \"sad\" ]\n        }, {\n            title: \"far fa-frown-open\",\n            searchTerms: [ \"disapprove\", \"emoticon\", \"face\", \"rating\", \"sad\" ]\n        }, {\n            title: \"fab fa-fulcrum\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-funnel-dollar\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-futbol\",\n            searchTerms: [ \"ball\", \"football\", \"soccer\" ]\n        }, {\n            title: \"far fa-futbol\",\n            searchTerms: [ \"ball\", \"football\", \"soccer\" ]\n        }, {\n            title: \"fab fa-galactic-republic\",\n            searchTerms: [ \"politics\", \"star wars\" ]\n        }, {\n            title: \"fab fa-galactic-senate\",\n            searchTerms: [ \"star wars\" ]\n        }, {\n            title: \"fas fa-gamepad\",\n            searchTerms: [ \"controller\" ]\n        }, {\n            title: \"fas fa-gas-pump\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-gavel\",\n            searchTerms: [ \"hammer\", \"judge\", \"lawyer\", \"opinion\" ]\n        }, {\n            title: \"fas fa-gem\",\n            searchTerms: [ \"diamond\" ]\n        }, {\n            title: \"far fa-gem\",\n            searchTerms: [ \"diamond\" ]\n        }, {\n            title: \"fas fa-genderless\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-get-pocket\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-gg\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-gg-circle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ghost\",\n            searchTerms: [ \"apparition\", \"blinky\", \"clyde\", \"floating\", \"halloween\", \"holiday\", \"inky\", \"pinky\", \"spirit\" ]\n        }, {\n            title: \"fas fa-gift\",\n            searchTerms: [ \"generosity\", \"giving\", \"party\", \"present\", \"wrapped\" ]\n        }, {\n            title: \"fab fa-git\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-git-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-github\",\n            searchTerms: [ \"octocat\" ]\n        }, {\n            title: \"fab fa-github-alt\",\n            searchTerms: [ \"octocat\" ]\n        }, {\n            title: \"fab fa-github-square\",\n            searchTerms: [ \"octocat\" ]\n        }, {\n            title: \"fab fa-gitkraken\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-gitlab\",\n            searchTerms: [ \"Axosoft\" ]\n        }, {\n            title: \"fab fa-gitter\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-glass-martini\",\n            searchTerms: [ \"alcohol\", \"bar\", \"beverage\", \"drink\", \"glass\", \"liquor\", \"martini\" ]\n        }, {\n            title: \"fas fa-glass-martini-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-glasses\",\n            searchTerms: [ \"foureyes\", \"hipster\", \"nerd\", \"reading\", \"sight\", \"spectacles\" ]\n        }, {\n            title: \"fab fa-glide\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-glide-g\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-globe\",\n            searchTerms: [ \"all\", \"coordinates\", \"country\", \"earth\", \"global\", \"gps\", \"language\", \"localize\", \"location\", \"map\", \"online\", \"place\", \"planet\", \"translate\", \"travel\", \"world\" ]\n        }, {\n            title: \"fas fa-globe-africa\",\n            searchTerms: [ \"all\", \"country\", \"earth\", \"global\", \"gps\", \"language\", \"localize\", \"location\", \"map\", \"online\", \"place\", \"planet\", \"translate\", \"travel\", \"world\" ]\n        }, {\n            title: \"fas fa-globe-americas\",\n            searchTerms: [ \"all\", \"country\", \"earth\", \"global\", \"gps\", \"language\", \"localize\", \"location\", \"map\", \"online\", \"place\", \"planet\", \"translate\", \"travel\", \"world\" ]\n        }, {\n            title: \"fas fa-globe-asia\",\n            searchTerms: [ \"all\", \"country\", \"earth\", \"global\", \"gps\", \"language\", \"localize\", \"location\", \"map\", \"online\", \"place\", \"planet\", \"translate\", \"travel\", \"world\" ]\n        }, {\n            title: \"fab fa-gofore\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-golf-ball\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-goodreads\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-goodreads-g\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-google\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-google-drive\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-google-play\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-google-plus\",\n            searchTerms: [ \"google-plus-circle\", \"google-plus-official\" ]\n        }, {\n            title: \"fab fa-google-plus-g\",\n            searchTerms: [ \"google-plus\", \"social network\" ]\n        }, {\n            title: \"fab fa-google-plus-square\",\n            searchTerms: [ \"social network\" ]\n        }, {\n            title: \"fab fa-google-wallet\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-gopuram\",\n            searchTerms: [ \"building\", \"entrance\", \"hinduism\", \"temple\", \"tower\" ]\n        }, {\n            title: \"fas fa-graduation-cap\",\n            searchTerms: [ \"learning\", \"school\", \"student\" ]\n        }, {\n            title: \"fab fa-gratipay\",\n            searchTerms: [ \"favorite\", \"heart\", \"like\", \"love\" ]\n        }, {\n            title: \"fab fa-grav\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-greater-than\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-greater-than-equal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-grimace\",\n            searchTerms: [ \"cringe\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-grimace\",\n            searchTerms: [ \"cringe\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-grin\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"far fa-grin\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-alt\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-alt\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-beam\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-beam\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-beam-sweat\",\n            searchTerms: [ \"emoticon\", \"face\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-beam-sweat\",\n            searchTerms: [ \"emoticon\", \"face\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-hearts\",\n            searchTerms: [ \"emoticon\", \"face\", \"love\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-hearts\",\n            searchTerms: [ \"emoticon\", \"face\", \"love\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-squint\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-squint\",\n            searchTerms: [ \"emoticon\", \"face\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-squint-tears\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-squint-tears\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\", \"smile\" ]\n        }, {\n            title: \"fas fa-grin-stars\",\n            searchTerms: [ \"emoticon\", \"face\", \"star-struck\" ]\n        }, {\n            title: \"far fa-grin-stars\",\n            searchTerms: [ \"emoticon\", \"face\", \"star-struck\" ]\n        }, {\n            title: \"fas fa-grin-tears\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-grin-tears\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-grin-tongue\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-grin-tongue\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-grin-tongue-squint\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-grin-tongue-squint\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-grin-tongue-wink\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-grin-tongue-wink\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-grin-wink\",\n            searchTerms: [ \"emoticon\", \"face\", \"flirt\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"far fa-grin-wink\",\n            searchTerms: [ \"emoticon\", \"face\", \"flirt\", \"laugh\", \"smile\" ]\n        }, {\n            title: \"fas fa-grip-horizontal\",\n            searchTerms: [ \"affordance\", \"drag\", \"drop\", \"grab\", \"handle\" ]\n        }, {\n            title: \"fas fa-grip-vertical\",\n            searchTerms: [ \"affordance\", \"drag\", \"drop\", \"grab\", \"handle\" ]\n        }, {\n            title: \"fab fa-gripfire\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-grunt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-gulp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-h-square\",\n            searchTerms: [ \"hospital\", \"hotel\" ]\n        }, {\n            title: \"fab fa-hacker-news\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-hacker-news-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-hackerrank\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hammer\",\n            searchTerms: [ \"admin\", \"fix\", \"repair\", \"settings\", \"tool\" ]\n        }, {\n            title: \"fas fa-hamsa\",\n            searchTerms: [ \"amulet\", \"christianity\", \"islam\", \"jewish\", \"judaism\", \"muslim\", \"protection\" ]\n        }, {\n            title: \"fas fa-hand-holding\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-holding-heart\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-holding-usd\",\n            searchTerms: [ \"$\", \"dollar sign\", \"donation\", \"giving\", \"money\", \"price\" ]\n        }, {\n            title: \"fas fa-hand-lizard\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hand-lizard\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-paper\",\n            searchTerms: [ \"stop\" ]\n        }, {\n            title: \"far fa-hand-paper\",\n            searchTerms: [ \"stop\" ]\n        }, {\n            title: \"fas fa-hand-peace\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hand-peace\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-point-down\",\n            searchTerms: [ \"finger\", \"hand-o-down\", \"point\" ]\n        }, {\n            title: \"far fa-hand-point-down\",\n            searchTerms: [ \"finger\", \"hand-o-down\", \"point\" ]\n        }, {\n            title: \"fas fa-hand-point-left\",\n            searchTerms: [ \"back\", \"finger\", \"hand-o-left\", \"left\", \"point\", \"previous\" ]\n        }, {\n            title: \"far fa-hand-point-left\",\n            searchTerms: [ \"back\", \"finger\", \"hand-o-left\", \"left\", \"point\", \"previous\" ]\n        }, {\n            title: \"fas fa-hand-point-right\",\n            searchTerms: [ \"finger\", \"forward\", \"hand-o-right\", \"next\", \"point\", \"right\" ]\n        }, {\n            title: \"far fa-hand-point-right\",\n            searchTerms: [ \"finger\", \"forward\", \"hand-o-right\", \"next\", \"point\", \"right\" ]\n        }, {\n            title: \"fas fa-hand-point-up\",\n            searchTerms: [ \"finger\", \"hand-o-up\", \"point\" ]\n        }, {\n            title: \"far fa-hand-point-up\",\n            searchTerms: [ \"finger\", \"hand-o-up\", \"point\" ]\n        }, {\n            title: \"fas fa-hand-pointer\",\n            searchTerms: [ \"select\" ]\n        }, {\n            title: \"far fa-hand-pointer\",\n            searchTerms: [ \"select\" ]\n        }, {\n            title: \"fas fa-hand-rock\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hand-rock\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-scissors\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hand-scissors\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hand-spock\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hand-spock\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hands\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hands-helping\",\n            searchTerms: [ \"aid\", \"assistance\", \"partnership\", \"volunteering\" ]\n        }, {\n            title: \"fas fa-handshake\",\n            searchTerms: [ \"greeting\", \"partnership\" ]\n        }, {\n            title: \"far fa-handshake\",\n            searchTerms: [ \"greeting\", \"partnership\" ]\n        }, {\n            title: \"fas fa-hanukiah\",\n            searchTerms: [ \"candle\", \"hanukkah\", \"jewish\", \"judaism\", \"light\" ]\n        }, {\n            title: \"fas fa-hashtag\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hat-wizard\",\n            searchTerms: [ \"Dungeons & Dragons\", \"buckle\", \"cloth\", \"clothing\", \"d&d\", \"dnd\", \"fantasy\", \"halloween\", \"holiday\", \"mage\", \"magic\", \"pointy\", \"witch\" ]\n        }, {\n            title: \"fas fa-haykal\",\n            searchTerms: [ \"bahai\", \"bahá'í\", \"star\" ]\n        }, {\n            title: \"fas fa-hdd\",\n            searchTerms: [ \"cpu\", \"hard drive\", \"harddrive\", \"machine\", \"save\", \"storage\" ]\n        }, {\n            title: \"far fa-hdd\",\n            searchTerms: [ \"cpu\", \"hard drive\", \"harddrive\", \"machine\", \"save\", \"storage\" ]\n        }, {\n            title: \"fas fa-heading\",\n            searchTerms: [ \"header\" ]\n        }, {\n            title: \"fas fa-headphones\",\n            searchTerms: [ \"audio\", \"listen\", \"music\", \"sound\", \"speaker\" ]\n        }, {\n            title: \"fas fa-headphones-alt\",\n            searchTerms: [ \"audio\", \"listen\", \"music\", \"sound\", \"speaker\" ]\n        }, {\n            title: \"fas fa-headset\",\n            searchTerms: [ \"audio\", \"gamer\", \"gaming\", \"listen\", \"live chat\", \"microphone\", \"shot caller\", \"sound\", \"support\", \"telemarketer\" ]\n        }, {\n            title: \"fas fa-heart\",\n            searchTerms: [ \"favorite\", \"like\", \"love\" ]\n        }, {\n            title: \"far fa-heart\",\n            searchTerms: [ \"favorite\", \"like\", \"love\" ]\n        }, {\n            title: \"fas fa-heartbeat\",\n            searchTerms: [ \"ekg\", \"lifeline\", \"vital signs\" ]\n        }, {\n            title: \"fas fa-helicopter\",\n            searchTerms: [ \"airwolf\", \"apache\", \"chopper\", \"flight\", \"fly\" ]\n        }, {\n            title: \"fas fa-highlighter\",\n            searchTerms: [ \"edit\", \"marker\", \"sharpie\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-hiking\",\n            searchTerms: [ \"activity\", \"backpack\", \"fall\", \"fitness\", \"outdoors\", \"seasonal\", \"walking\" ]\n        }, {\n            title: \"fas fa-hippo\",\n            searchTerms: [ \"fauna\", \"hungry\", \"mammmal\" ]\n        }, {\n            title: \"fab fa-hips\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-hire-a-helper\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-history\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hockey-puck\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-home\",\n            searchTerms: [ \"house\", \"main\" ]\n        }, {\n            title: \"fab fa-hooli\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-hornbill\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-horse\",\n            searchTerms: [ \"equus\", \"fauna\", \"mammmal\", \"neigh\" ]\n        }, {\n            title: \"fas fa-hospital\",\n            searchTerms: [ \"building\", \"emergency room\", \"medical center\" ]\n        }, {\n            title: \"far fa-hospital\",\n            searchTerms: [ \"building\", \"emergency room\", \"medical center\" ]\n        }, {\n            title: \"fas fa-hospital-alt\",\n            searchTerms: [ \"building\", \"emergency room\", \"medical center\" ]\n        }, {\n            title: \"fas fa-hospital-symbol\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hot-tub\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hotel\",\n            searchTerms: [ \"building\", \"lodging\" ]\n        }, {\n            title: \"fab fa-hotjar\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hourglass\",\n            searchTerms: []\n        }, {\n            title: \"far fa-hourglass\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hourglass-end\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hourglass-half\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hourglass-start\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-house-damage\",\n            searchTerms: [ \"devastation\", \"home\" ]\n        }, {\n            title: \"fab fa-houzz\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-hryvnia\",\n            searchTerms: [ \"money\" ]\n        }, {\n            title: \"fab fa-html5\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-hubspot\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-i-cursor\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-id-badge\",\n            searchTerms: []\n        }, {\n            title: \"far fa-id-badge\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-id-card\",\n            searchTerms: [ \"document\", \"identification\", \"issued\" ]\n        }, {\n            title: \"far fa-id-card\",\n            searchTerms: [ \"document\", \"identification\", \"issued\" ]\n        }, {\n            title: \"fas fa-id-card-alt\",\n            searchTerms: [ \"demographics\" ]\n        }, {\n            title: \"fas fa-image\",\n            searchTerms: [ \"album\", \"photo\", \"picture\" ]\n        }, {\n            title: \"far fa-image\",\n            searchTerms: [ \"album\", \"photo\", \"picture\" ]\n        }, {\n            title: \"fas fa-images\",\n            searchTerms: [ \"album\", \"photo\", \"picture\" ]\n        }, {\n            title: \"far fa-images\",\n            searchTerms: [ \"album\", \"photo\", \"picture\" ]\n        }, {\n            title: \"fab fa-imdb\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-inbox\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-indent\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-industry\",\n            searchTerms: [ \"factory\", \"manufacturing\" ]\n        }, {\n            title: \"fas fa-infinity\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-info\",\n            searchTerms: [ \"details\", \"help\", \"information\", \"more\" ]\n        }, {\n            title: \"fas fa-info-circle\",\n            searchTerms: [ \"details\", \"help\", \"information\", \"more\" ]\n        }, {\n            title: \"fab fa-instagram\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-internet-explorer\",\n            searchTerms: [ \"browser\", \"ie\" ]\n        }, {\n            title: \"fab fa-ioxhost\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-italic\",\n            searchTerms: [ \"italics\" ]\n        }, {\n            title: \"fab fa-itunes\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-itunes-note\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-java\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-jedi\",\n            searchTerms: [ \"star wars\" ]\n        }, {\n            title: \"fab fa-jedi-order\",\n            searchTerms: [ \"star wars\" ]\n        }, {\n            title: \"fab fa-jenkins\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-joget\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-joint\",\n            searchTerms: [ \"blunt\", \"cannabis\", \"doobie\", \"drugs\", \"marijuana\", \"roach\", \"smoke\", \"smoking\", \"spliff\" ]\n        }, {\n            title: \"fab fa-joomla\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-journal-whills\",\n            searchTerms: [ \"book\", \"jedi\", \"star wars\", \"the force\" ]\n        }, {\n            title: \"fab fa-js\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-js-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-jsfiddle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-kaaba\",\n            searchTerms: [ \"building\", \"cube\", \"islam\", \"muslim\" ]\n        }, {\n            title: \"fab fa-kaggle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-key\",\n            searchTerms: [ \"password\", \"unlock\" ]\n        }, {\n            title: \"fab fa-keybase\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-keyboard\",\n            searchTerms: [ \"input\", \"type\" ]\n        }, {\n            title: \"far fa-keyboard\",\n            searchTerms: [ \"input\", \"type\" ]\n        }, {\n            title: \"fab fa-keycdn\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-khanda\",\n            searchTerms: [ \"chakkar\", \"sikh\", \"sikhism\", \"sword\" ]\n        }, {\n            title: \"fab fa-kickstarter\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-kickstarter-k\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-kiss\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"far fa-kiss\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"fas fa-kiss-beam\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"far fa-kiss-beam\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"fas fa-kiss-wink-heart\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"far fa-kiss-wink-heart\",\n            searchTerms: [ \"beso\", \"emoticon\", \"face\", \"love\", \"smooch\" ]\n        }, {\n            title: \"fas fa-kiwi-bird\",\n            searchTerms: [ \"bird\", \"fauna\" ]\n        }, {\n            title: \"fab fa-korvue\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-landmark\",\n            searchTerms: [ \"building\", \"historic\", \"memoroable\", \"politics\" ]\n        }, {\n            title: \"fas fa-language\",\n            searchTerms: [ \"dialect\", \"idiom\", \"localize\", \"speech\", \"translate\", \"vernacular\" ]\n        }, {\n            title: \"fas fa-laptop\",\n            searchTerms: [ \"computer\", \"cpu\", \"dell\", \"demo\", \"device\", \"dude you're getting\", \"mac\", \"macbook\", \"machine\", \"pc\" ]\n        }, {\n            title: \"fas fa-laptop-code\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-laravel\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-lastfm\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-lastfm-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-laugh\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\", \"laugh\" ]\n        }, {\n            title: \"far fa-laugh\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\", \"laugh\" ]\n        }, {\n            title: \"fas fa-laugh-beam\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-laugh-beam\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-laugh-squint\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-laugh-squint\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-laugh-wink\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"far fa-laugh-wink\",\n            searchTerms: [ \"LOL\", \"emoticon\", \"face\" ]\n        }, {\n            title: \"fas fa-layer-group\",\n            searchTerms: [ \"layers\" ]\n        }, {\n            title: \"fas fa-leaf\",\n            searchTerms: [ \"eco\", \"flora\", \"nature\", \"plant\" ]\n        }, {\n            title: \"fab fa-leanpub\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-lemon\",\n            searchTerms: [ \"food\" ]\n        }, {\n            title: \"far fa-lemon\",\n            searchTerms: [ \"food\" ]\n        }, {\n            title: \"fab fa-less\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-less-than\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-less-than-equal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-level-down-alt\",\n            searchTerms: [ \"level-down\" ]\n        }, {\n            title: \"fas fa-level-up-alt\",\n            searchTerms: [ \"level-up\" ]\n        }, {\n            title: \"fas fa-life-ring\",\n            searchTerms: [ \"support\" ]\n        }, {\n            title: \"far fa-life-ring\",\n            searchTerms: [ \"support\" ]\n        }, {\n            title: \"fas fa-lightbulb\",\n            searchTerms: [ \"idea\", \"inspiration\" ]\n        }, {\n            title: \"far fa-lightbulb\",\n            searchTerms: [ \"idea\", \"inspiration\" ]\n        }, {\n            title: \"fab fa-line\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-link\",\n            searchTerms: [ \"chain\" ]\n        }, {\n            title: \"fab fa-linkedin\",\n            searchTerms: [ \"linkedin-square\" ]\n        }, {\n            title: \"fab fa-linkedin-in\",\n            searchTerms: [ \"linkedin\" ]\n        }, {\n            title: \"fab fa-linode\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-linux\",\n            searchTerms: [ \"tux\" ]\n        }, {\n            title: \"fas fa-lira-sign\",\n            searchTerms: [ \"try\", \"turkish\" ]\n        }, {\n            title: \"fas fa-list\",\n            searchTerms: [ \"checklist\", \"completed\", \"done\", \"finished\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-list-alt\",\n            searchTerms: [ \"checklist\", \"completed\", \"done\", \"finished\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"far fa-list-alt\",\n            searchTerms: [ \"checklist\", \"completed\", \"done\", \"finished\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-list-ol\",\n            searchTerms: [ \"checklist\", \"list\", \"numbers\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-list-ul\",\n            searchTerms: [ \"checklist\", \"list\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fas fa-location-arrow\",\n            searchTerms: [ \"address\", \"coordinates\", \"gps\", \"location\", \"map\", \"place\", \"where\" ]\n        }, {\n            title: \"fas fa-lock\",\n            searchTerms: [ \"admin\", \"protect\", \"security\" ]\n        }, {\n            title: \"fas fa-lock-open\",\n            searchTerms: [ \"admin\", \"lock\", \"open\", \"password\", \"protect\" ]\n        }, {\n            title: \"fas fa-long-arrow-alt-down\",\n            searchTerms: [ \"long-arrow-down\" ]\n        }, {\n            title: \"fas fa-long-arrow-alt-left\",\n            searchTerms: [ \"back\", \"long-arrow-left\", \"previous\" ]\n        }, {\n            title: \"fas fa-long-arrow-alt-right\",\n            searchTerms: [ \"long-arrow-right\" ]\n        }, {\n            title: \"fas fa-long-arrow-alt-up\",\n            searchTerms: [ \"long-arrow-up\" ]\n        }, {\n            title: \"fas fa-low-vision\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-luggage-cart\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-lyft\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-magento\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-magic\",\n            searchTerms: [ \"autocomplete\", \"automatic\", \"mage\", \"magic\", \"spell\", \"witch\", \"wizard\" ]\n        }, {\n            title: \"fas fa-magnet\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mail-bulk\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-mailchimp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-male\",\n            searchTerms: [ \"human\", \"man\", \"person\", \"profile\", \"user\" ]\n        }, {\n            title: \"fab fa-mandalorian\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-map\",\n            searchTerms: [ \"coordinates\", \"location\", \"paper\", \"place\", \"travel\" ]\n        }, {\n            title: \"far fa-map\",\n            searchTerms: [ \"coordinates\", \"location\", \"paper\", \"place\", \"travel\" ]\n        }, {\n            title: \"fas fa-map-marked\",\n            searchTerms: [ \"address\", \"coordinates\", \"destination\", \"gps\", \"localize\", \"location\", \"map\", \"paper\", \"pin\", \"place\", \"point of interest\", \"position\", \"route\", \"travel\", \"where\" ]\n        }, {\n            title: \"fas fa-map-marked-alt\",\n            searchTerms: [ \"address\", \"coordinates\", \"destination\", \"gps\", \"localize\", \"location\", \"map\", \"paper\", \"pin\", \"place\", \"point of interest\", \"position\", \"route\", \"travel\", \"where\" ]\n        }, {\n            title: \"fas fa-map-marker\",\n            searchTerms: [ \"address\", \"coordinates\", \"gps\", \"localize\", \"location\", \"map\", \"pin\", \"place\", \"position\", \"travel\", \"where\" ]\n        }, {\n            title: \"fas fa-map-marker-alt\",\n            searchTerms: [ \"address\", \"coordinates\", \"gps\", \"localize\", \"location\", \"map\", \"pin\", \"place\", \"position\", \"travel\", \"where\" ]\n        }, {\n            title: \"fas fa-map-pin\",\n            searchTerms: [ \"address\", \"coordinates\", \"gps\", \"localize\", \"location\", \"map\", \"marker\", \"place\", \"position\", \"travel\", \"where\" ]\n        }, {\n            title: \"fas fa-map-signs\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-markdown\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-marker\",\n            searchTerms: [ \"edit\", \"sharpie\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-mars\",\n            searchTerms: [ \"male\" ]\n        }, {\n            title: \"fas fa-mars-double\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mars-stroke\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mars-stroke-h\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mars-stroke-v\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mask\",\n            searchTerms: [ \"costume\", \"disguise\", \"halloween\", \"holiday\", \"secret\", \"super hero\" ]\n        }, {\n            title: \"fab fa-mastodon\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-maxcdn\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-medal\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-medapps\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-medium\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-medium-m\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-medkit\",\n            searchTerms: [ \"first aid\", \"firstaid\", \"health\", \"help\", \"support\" ]\n        }, {\n            title: \"fab fa-medrt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-meetup\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-megaport\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-meh\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"far fa-meh\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"fas fa-meh-blank\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"far fa-meh-blank\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"fas fa-meh-rolling-eyes\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"far fa-meh-rolling-eyes\",\n            searchTerms: [ \"emoticon\", \"face\", \"neutral\", \"rating\" ]\n        }, {\n            title: \"fas fa-memory\",\n            searchTerms: [ \"DIMM\", \"RAM\" ]\n        }, {\n            title: \"fas fa-menorah\",\n            searchTerms: [ \"candle\", \"hanukkah\", \"jewish\", \"judaism\", \"light\" ]\n        }, {\n            title: \"fas fa-mercury\",\n            searchTerms: [ \"transgender\" ]\n        }, {\n            title: \"fas fa-meteor\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-microchip\",\n            searchTerms: [ \"cpu\", \"processor\" ]\n        }, {\n            title: \"fas fa-microphone\",\n            searchTerms: [ \"record\", \"sound\", \"voice\" ]\n        }, {\n            title: \"fas fa-microphone-alt\",\n            searchTerms: [ \"record\", \"sound\", \"voice\" ]\n        }, {\n            title: \"fas fa-microphone-alt-slash\",\n            searchTerms: [ \"disable\", \"mute\", \"record\", \"sound\", \"voice\" ]\n        }, {\n            title: \"fas fa-microphone-slash\",\n            searchTerms: [ \"disable\", \"mute\", \"record\", \"sound\", \"voice\" ]\n        }, {\n            title: \"fas fa-microscope\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-microsoft\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-minus\",\n            searchTerms: [ \"collapse\", \"delete\", \"hide\", \"minify\", \"negative\", \"remove\", \"trash\" ]\n        }, {\n            title: \"fas fa-minus-circle\",\n            searchTerms: [ \"delete\", \"hide\", \"negative\", \"remove\", \"trash\" ]\n        }, {\n            title: \"fas fa-minus-square\",\n            searchTerms: [ \"collapse\", \"delete\", \"hide\", \"minify\", \"negative\", \"remove\", \"trash\" ]\n        }, {\n            title: \"far fa-minus-square\",\n            searchTerms: [ \"collapse\", \"delete\", \"hide\", \"minify\", \"negative\", \"remove\", \"trash\" ]\n        }, {\n            title: \"fab fa-mix\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-mixcloud\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-mizuni\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mobile\",\n            searchTerms: [ \"apple\", \"call\", \"cell phone\", \"cellphone\", \"device\", \"iphone\", \"number\", \"screen\", \"telephone\", \"text\" ]\n        }, {\n            title: \"fas fa-mobile-alt\",\n            searchTerms: [ \"apple\", \"call\", \"cell phone\", \"cellphone\", \"device\", \"iphone\", \"number\", \"screen\", \"telephone\", \"text\" ]\n        }, {\n            title: \"fab fa-modx\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-monero\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-money-bill\",\n            searchTerms: [ \"buy\", \"cash\", \"checkout\", \"money\", \"payment\", \"price\", \"purchase\" ]\n        }, {\n            title: \"fas fa-money-bill-alt\",\n            searchTerms: [ \"buy\", \"cash\", \"checkout\", \"money\", \"payment\", \"price\", \"purchase\" ]\n        }, {\n            title: \"far fa-money-bill-alt\",\n            searchTerms: [ \"buy\", \"cash\", \"checkout\", \"money\", \"payment\", \"price\", \"purchase\" ]\n        }, {\n            title: \"fas fa-money-bill-wave\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-money-bill-wave-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-money-check\",\n            searchTerms: [ \"bank check\", \"cheque\" ]\n        }, {\n            title: \"fas fa-money-check-alt\",\n            searchTerms: [ \"bank check\", \"cheque\" ]\n        }, {\n            title: \"fas fa-monument\",\n            searchTerms: [ \"building\", \"historic\", \"memoroable\" ]\n        }, {\n            title: \"fas fa-moon\",\n            searchTerms: [ \"contrast\", \"crescent\", \"darker\", \"lunar\", \"night\" ]\n        }, {\n            title: \"far fa-moon\",\n            searchTerms: [ \"contrast\", \"crescent\", \"darker\", \"lunar\", \"night\" ]\n        }, {\n            title: \"fas fa-mortar-pestle\",\n            searchTerms: [ \"crush\", \"culinary\", \"grind\", \"medical\", \"mix\", \"spices\" ]\n        }, {\n            title: \"fas fa-mosque\",\n            searchTerms: [ \"building\", \"islam\", \"muslim\" ]\n        }, {\n            title: \"fas fa-motorcycle\",\n            searchTerms: [ \"bike\", \"machine\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-mountain\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-mouse-pointer\",\n            searchTerms: [ \"select\" ]\n        }, {\n            title: \"fas fa-music\",\n            searchTerms: [ \"note\", \"sound\" ]\n        }, {\n            title: \"fab fa-napster\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-neos\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-network-wired\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-neuter\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-newspaper\",\n            searchTerms: [ \"article\", \"press\" ]\n        }, {\n            title: \"far fa-newspaper\",\n            searchTerms: [ \"article\", \"press\" ]\n        }, {\n            title: \"fab fa-nimblr\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-nintendo-switch\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-node\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-node-js\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-not-equal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-notes-medical\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-npm\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-ns8\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-nutritionix\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-object-group\",\n            searchTerms: [ \"design\" ]\n        }, {\n            title: \"far fa-object-group\",\n            searchTerms: [ \"design\" ]\n        }, {\n            title: \"fas fa-object-ungroup\",\n            searchTerms: [ \"design\" ]\n        }, {\n            title: \"far fa-object-ungroup\",\n            searchTerms: [ \"design\" ]\n        }, {\n            title: \"fab fa-odnoklassniki\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-odnoklassniki-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-oil-can\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-old-republic\",\n            searchTerms: [ \"politics\", \"star wars\" ]\n        }, {\n            title: \"fas fa-om\",\n            searchTerms: [ \"buddhism\", \"hinduism\", \"jainism\", \"mantra\" ]\n        }, {\n            title: \"fab fa-opencart\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-openid\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-opera\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-optin-monster\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-osi\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-otter\",\n            searchTerms: [ \"fauna\", \"mammmal\" ]\n        }, {\n            title: \"fas fa-outdent\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-page4\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pagelines\",\n            searchTerms: [ \"eco\", \"flora\", \"leaf\", \"leaves\", \"nature\", \"plant\", \"tree\" ]\n        }, {\n            title: \"fas fa-paint-brush\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-paint-roller\",\n            searchTerms: [ \"brush\", \"painting\", \"tool\" ]\n        }, {\n            title: \"fas fa-palette\",\n            searchTerms: [ \"colors\", \"painting\" ]\n        }, {\n            title: \"fab fa-palfed\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-pallet\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-paper-plane\",\n            searchTerms: []\n        }, {\n            title: \"far fa-paper-plane\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-paperclip\",\n            searchTerms: [ \"attachment\" ]\n        }, {\n            title: \"fas fa-parachute-box\",\n            searchTerms: [ \"aid\", \"assistance\", \"rescue\", \"supplies\" ]\n        }, {\n            title: \"fas fa-paragraph\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-parking\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-passport\",\n            searchTerms: [ \"document\", \"identification\", \"issued\" ]\n        }, {\n            title: \"fas fa-pastafarianism\",\n            searchTerms: [ \"agnosticism\", \"atheism\", \"flying spaghetti monster\", \"fsm\" ]\n        }, {\n            title: \"fas fa-paste\",\n            searchTerms: [ \"clipboard\", \"copy\" ]\n        }, {\n            title: \"fab fa-patreon\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-pause\",\n            searchTerms: [ \"wait\" ]\n        }, {\n            title: \"fas fa-pause-circle\",\n            searchTerms: []\n        }, {\n            title: \"far fa-pause-circle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-paw\",\n            searchTerms: [ \"animal\", \"pet\" ]\n        }, {\n            title: \"fab fa-paypal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-peace\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-pen\",\n            searchTerms: [ \"design\", \"edit\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pen-alt\",\n            searchTerms: [ \"design\", \"edit\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pen-fancy\",\n            searchTerms: [ \"design\", \"edit\", \"fountain pen\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pen-nib\",\n            searchTerms: [ \"design\", \"edit\", \"fountain pen\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pen-square\",\n            searchTerms: [ \"edit\", \"pencil-square\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pencil-alt\",\n            searchTerms: [ \"design\", \"edit\", \"pencil\", \"update\", \"write\" ]\n        }, {\n            title: \"fas fa-pencil-ruler\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-penny-arcade\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"game\", \"gaming\", \"pax\", \"tabletop\" ]\n        }, {\n            title: \"fas fa-people-carry\",\n            searchTerms: [ \"movers\" ]\n        }, {\n            title: \"fas fa-percent\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-percentage\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-periscope\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-person-booth\",\n            searchTerms: [ \"changing\", \"changing room\", \"election\", \"human\", \"person\", \"vote\", \"voting\" ]\n        }, {\n            title: \"fab fa-phabricator\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-phoenix-framework\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-phoenix-squadron\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-phone\",\n            searchTerms: [ \"call\", \"earphone\", \"number\", \"support\", \"telephone\", \"voice\" ]\n        }, {\n            title: \"fas fa-phone-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-phone-square\",\n            searchTerms: [ \"call\", \"number\", \"support\", \"telephone\", \"voice\" ]\n        }, {\n            title: \"fas fa-phone-volume\",\n            searchTerms: [ \"telephone\", \"volume-control-phone\" ]\n        }, {\n            title: \"fab fa-php\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pied-piper\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pied-piper-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pied-piper-hat\",\n            searchTerms: [ \"clothing\" ]\n        }, {\n            title: \"fab fa-pied-piper-pp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-piggy-bank\",\n            searchTerms: [ \"save\", \"savings\" ]\n        }, {\n            title: \"fas fa-pills\",\n            searchTerms: [ \"drugs\", \"medicine\" ]\n        }, {\n            title: \"fab fa-pinterest\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pinterest-p\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pinterest-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-place-of-worship\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-plane\",\n            searchTerms: [ \"airplane\", \"destination\", \"fly\", \"location\", \"mode\", \"travel\", \"trip\" ]\n        }, {\n            title: \"fas fa-plane-arrival\",\n            searchTerms: [ \"airplane\", \"arriving\", \"destination\", \"fly\", \"land\", \"landing\", \"location\", \"mode\", \"travel\", \"trip\" ]\n        }, {\n            title: \"fas fa-plane-departure\",\n            searchTerms: [ \"airplane\", \"departing\", \"destination\", \"fly\", \"location\", \"mode\", \"take off\", \"taking off\", \"travel\", \"trip\" ]\n        }, {\n            title: \"fas fa-play\",\n            searchTerms: [ \"music\", \"playing\", \"sound\", \"start\" ]\n        }, {\n            title: \"fas fa-play-circle\",\n            searchTerms: [ \"playing\", \"start\" ]\n        }, {\n            title: \"far fa-play-circle\",\n            searchTerms: [ \"playing\", \"start\" ]\n        }, {\n            title: \"fab fa-playstation\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-plug\",\n            searchTerms: [ \"connect\", \"online\", \"power\" ]\n        }, {\n            title: \"fas fa-plus\",\n            searchTerms: [ \"add\", \"create\", \"expand\", \"new\", \"positive\" ]\n        }, {\n            title: \"fas fa-plus-circle\",\n            searchTerms: [ \"add\", \"create\", \"expand\", \"new\", \"positive\" ]\n        }, {\n            title: \"fas fa-plus-square\",\n            searchTerms: [ \"add\", \"create\", \"expand\", \"new\", \"positive\" ]\n        }, {\n            title: \"far fa-plus-square\",\n            searchTerms: [ \"add\", \"create\", \"expand\", \"new\", \"positive\" ]\n        }, {\n            title: \"fas fa-podcast\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-poll\",\n            searchTerms: [ \"results\", \"survey\", \"vote\", \"voting\" ]\n        }, {\n            title: \"fas fa-poll-h\",\n            searchTerms: [ \"results\", \"survey\", \"vote\", \"voting\" ]\n        }, {\n            title: \"fas fa-poo\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-poo-storm\",\n            searchTerms: [ \"mess\", \"poop\", \"shit\" ]\n        }, {\n            title: \"fas fa-poop\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-portrait\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-pound-sign\",\n            searchTerms: [ \"gbp\" ]\n        }, {\n            title: \"fas fa-power-off\",\n            searchTerms: [ \"on\", \"reboot\", \"restart\" ]\n        }, {\n            title: \"fas fa-pray\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-praying-hands\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-prescription\",\n            searchTerms: [ \"drugs\", \"medical\", \"medicine\", \"rx\" ]\n        }, {\n            title: \"fas fa-prescription-bottle\",\n            searchTerms: [ \"drugs\", \"medical\", \"medicine\", \"rx\" ]\n        }, {\n            title: \"fas fa-prescription-bottle-alt\",\n            searchTerms: [ \"drugs\", \"medical\", \"medicine\", \"rx\" ]\n        }, {\n            title: \"fas fa-print\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-procedures\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-product-hunt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-project-diagram\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-pushed\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-puzzle-piece\",\n            searchTerms: [ \"add-on\", \"addon\", \"section\" ]\n        }, {\n            title: \"fab fa-python\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-qq\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-qrcode\",\n            searchTerms: [ \"scan\" ]\n        }, {\n            title: \"fas fa-question\",\n            searchTerms: [ \"help\", \"information\", \"support\", \"unknown\" ]\n        }, {\n            title: \"fas fa-question-circle\",\n            searchTerms: [ \"help\", \"information\", \"support\", \"unknown\" ]\n        }, {\n            title: \"far fa-question-circle\",\n            searchTerms: [ \"help\", \"information\", \"support\", \"unknown\" ]\n        }, {\n            title: \"fas fa-quidditch\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-quinscape\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-quora\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-quote-left\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-quote-right\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-quran\",\n            searchTerms: [ \"book\", \"islam\", \"muslim\" ]\n        }, {\n            title: \"fab fa-r-project\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-rainbow\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-random\",\n            searchTerms: [ \"shuffle\", \"sort\" ]\n        }, {\n            title: \"fab fa-ravelry\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-react\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-reacteurope\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-readme\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-rebel\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-receipt\",\n            searchTerms: [ \"check\", \"invoice\", \"table\" ]\n        }, {\n            title: \"fas fa-recycle\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-red-river\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-reddit\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-reddit-alien\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-reddit-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-redo\",\n            searchTerms: [ \"forward\", \"refresh\", \"reload\", \"repeat\" ]\n        }, {\n            title: \"fas fa-redo-alt\",\n            searchTerms: [ \"forward\", \"refresh\", \"reload\", \"repeat\" ]\n        }, {\n            title: \"fas fa-registered\",\n            searchTerms: []\n        }, {\n            title: \"far fa-registered\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-renren\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-reply\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-reply-all\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-replyd\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-republican\",\n            searchTerms: [ \"american\", \"conservative\", \"election\", \"elephant\", \"politics\", \"republican party\", \"right\", \"right-wing\", \"usa\" ]\n        }, {\n            title: \"fab fa-researchgate\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-resolving\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-retweet\",\n            searchTerms: [ \"refresh\", \"reload\", \"share\", \"swap\" ]\n        }, {\n            title: \"fab fa-rev\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ribbon\",\n            searchTerms: [ \"badge\", \"cause\", \"lapel\", \"pin\" ]\n        }, {\n            title: \"fas fa-ring\",\n            searchTerms: [ \"Dungeons & Dragons\", \"Gollum\", \"band\", \"binding\", \"d&d\", \"dnd\", \"fantasy\", \"jewelry\", \"precious\" ]\n        }, {\n            title: \"fas fa-road\",\n            searchTerms: [ \"street\" ]\n        }, {\n            title: \"fas fa-robot\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-rocket\",\n            searchTerms: [ \"app\" ]\n        }, {\n            title: \"fab fa-rocketchat\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-rockrms\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-route\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-rss\",\n            searchTerms: [ \"blog\" ]\n        }, {\n            title: \"fas fa-rss-square\",\n            searchTerms: [ \"blog\", \"feed\" ]\n        }, {\n            title: \"fas fa-ruble-sign\",\n            searchTerms: [ \"rub\" ]\n        }, {\n            title: \"fas fa-ruler\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ruler-combined\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ruler-horizontal\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-ruler-vertical\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-running\",\n            searchTerms: [ \"jog\", \"sprint\" ]\n        }, {\n            title: \"fas fa-rupee-sign\",\n            searchTerms: [ \"indian\", \"inr\" ]\n        }, {\n            title: \"fas fa-sad-cry\",\n            searchTerms: [ \"emoticon\", \"face\", \"tear\", \"tears\" ]\n        }, {\n            title: \"far fa-sad-cry\",\n            searchTerms: [ \"emoticon\", \"face\", \"tear\", \"tears\" ]\n        }, {\n            title: \"fas fa-sad-tear\",\n            searchTerms: [ \"emoticon\", \"face\", \"tear\", \"tears\" ]\n        }, {\n            title: \"far fa-sad-tear\",\n            searchTerms: [ \"emoticon\", \"face\", \"tear\", \"tears\" ]\n        }, {\n            title: \"fab fa-safari\",\n            searchTerms: [ \"browser\" ]\n        }, {\n            title: \"fab fa-sass\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-save\",\n            searchTerms: [ \"floppy\", \"floppy-o\" ]\n        }, {\n            title: \"far fa-save\",\n            searchTerms: [ \"floppy\", \"floppy-o\" ]\n        }, {\n            title: \"fab fa-schlix\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-school\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-screwdriver\",\n            searchTerms: [ \"admin\", \"fix\", \"repair\", \"settings\", \"tool\" ]\n        }, {\n            title: \"fab fa-scribd\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-scroll\",\n            searchTerms: [ \"Dungeons & Dragons\", \"announcement\", \"d&d\", \"dnd\", \"fantasy\", \"paper\" ]\n        }, {\n            title: \"fas fa-search\",\n            searchTerms: [ \"bigger\", \"enlarge\", \"magnify\", \"preview\", \"zoom\" ]\n        }, {\n            title: \"fas fa-search-dollar\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-search-location\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-search-minus\",\n            searchTerms: [ \"minify\", \"negative\", \"smaller\", \"zoom\", \"zoom out\" ]\n        }, {\n            title: \"fas fa-search-plus\",\n            searchTerms: [ \"bigger\", \"enlarge\", \"magnify\", \"positive\", \"zoom\", \"zoom in\" ]\n        }, {\n            title: \"fab fa-searchengin\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-seedling\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-sellcast\",\n            searchTerms: [ \"eercast\" ]\n        }, {\n            title: \"fab fa-sellsy\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-server\",\n            searchTerms: [ \"cpu\" ]\n        }, {\n            title: \"fab fa-servicestack\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shapes\",\n            searchTerms: [ \"circle\", \"square\", \"triangle\" ]\n        }, {\n            title: \"fas fa-share\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-share-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-share-alt-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-share-square\",\n            searchTerms: [ \"send\", \"social\" ]\n        }, {\n            title: \"far fa-share-square\",\n            searchTerms: [ \"send\", \"social\" ]\n        }, {\n            title: \"fas fa-shekel-sign\",\n            searchTerms: [ \"ils\" ]\n        }, {\n            title: \"fas fa-shield-alt\",\n            searchTerms: [ \"achievement\", \"award\", \"block\", \"defend\", \"security\", \"winner\" ]\n        }, {\n            title: \"fas fa-ship\",\n            searchTerms: [ \"boat\", \"sea\" ]\n        }, {\n            title: \"fas fa-shipping-fast\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-shirtsinbulk\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shoe-prints\",\n            searchTerms: [ \"feet\", \"footprints\", \"steps\" ]\n        }, {\n            title: \"fas fa-shopping-bag\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shopping-basket\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shopping-cart\",\n            searchTerms: [ \"buy\", \"checkout\", \"payment\", \"purchase\" ]\n        }, {\n            title: \"fab fa-shopware\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shower\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-shuttle-van\",\n            searchTerms: [ \"machine\", \"public-transportation\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-sign\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sign-in-alt\",\n            searchTerms: [ \"arrow\", \"enter\", \"join\", \"log in\", \"login\", \"sign in\", \"sign up\", \"sign-in\", \"signin\", \"signup\" ]\n        }, {\n            title: \"fas fa-sign-language\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sign-out-alt\",\n            searchTerms: [ \"arrow\", \"exit\", \"leave\", \"log out\", \"logout\", \"sign-out\" ]\n        }, {\n            title: \"fas fa-signal\",\n            searchTerms: [ \"bars\", \"graph\", \"online\", \"status\" ]\n        }, {\n            title: \"fas fa-signature\",\n            searchTerms: [ \"John Hancock\", \"cursive\", \"name\", \"writing\" ]\n        }, {\n            title: \"fab fa-simplybuilt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-sistrix\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sitemap\",\n            searchTerms: [ \"directory\", \"hierarchy\", \"ia\", \"information architecture\", \"organization\" ]\n        }, {\n            title: \"fab fa-sith\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-skull\",\n            searchTerms: [ \"bones\", \"skeleton\", \"yorick\" ]\n        }, {\n            title: \"fas fa-skull-crossbones\",\n            searchTerms: [ \"Dungeons & Dragons\", \"alert\", \"bones\", \"d&d\", \"danger\", \"dead\", \"deadly\", \"death\", \"dnd\", \"fantasy\", \"halloween\", \"holiday\", \"jolly-roger\", \"pirate\", \"poison\", \"skeleton\", \"warning\" ]\n        }, {\n            title: \"fab fa-skyatlas\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-skype\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-slack\",\n            searchTerms: [ \"anchor\", \"hash\", \"hashtag\" ]\n        }, {\n            title: \"fab fa-slack-hash\",\n            searchTerms: [ \"anchor\", \"hash\", \"hashtag\" ]\n        }, {\n            title: \"fas fa-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sliders-h\",\n            searchTerms: [ \"settings\", \"sliders\" ]\n        }, {\n            title: \"fab fa-slideshare\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-smile\",\n            searchTerms: [ \"approve\", \"emoticon\", \"face\", \"happy\", \"rating\", \"satisfied\" ]\n        }, {\n            title: \"far fa-smile\",\n            searchTerms: [ \"approve\", \"emoticon\", \"face\", \"happy\", \"rating\", \"satisfied\" ]\n        }, {\n            title: \"fas fa-smile-beam\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\", \"positive\" ]\n        }, {\n            title: \"far fa-smile-beam\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\", \"positive\" ]\n        }, {\n            title: \"fas fa-smile-wink\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\" ]\n        }, {\n            title: \"far fa-smile-wink\",\n            searchTerms: [ \"emoticon\", \"face\", \"happy\" ]\n        }, {\n            title: \"fas fa-smog\",\n            searchTerms: [ \"dragon\" ]\n        }, {\n            title: \"fas fa-smoking\",\n            searchTerms: [ \"cigarette\", \"nicotine\", \"smoking status\" ]\n        }, {\n            title: \"fas fa-smoking-ban\",\n            searchTerms: [ \"no smoking\", \"non-smoking\" ]\n        }, {\n            title: \"fab fa-snapchat\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-snapchat-ghost\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-snapchat-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-snowflake\",\n            searchTerms: [ \"precipitation\", \"seasonal\", \"winter\" ]\n        }, {\n            title: \"far fa-snowflake\",\n            searchTerms: [ \"precipitation\", \"seasonal\", \"winter\" ]\n        }, {\n            title: \"fas fa-socks\",\n            searchTerms: [ \"business socks\", \"business time\", \"flight of the conchords\", \"wednesday\" ]\n        }, {\n            title: \"fas fa-solar-panel\",\n            searchTerms: [ \"clean\", \"eco-friendly\", \"energy\", \"green\", \"sun\" ]\n        }, {\n            title: \"fas fa-sort\",\n            searchTerms: [ \"order\" ]\n        }, {\n            title: \"fas fa-sort-alpha-down\",\n            searchTerms: [ \"sort-alpha-asc\" ]\n        }, {\n            title: \"fas fa-sort-alpha-up\",\n            searchTerms: [ \"sort-alpha-desc\" ]\n        }, {\n            title: \"fas fa-sort-amount-down\",\n            searchTerms: [ \"sort-amount-asc\" ]\n        }, {\n            title: \"fas fa-sort-amount-up\",\n            searchTerms: [ \"sort-amount-desc\" ]\n        }, {\n            title: \"fas fa-sort-down\",\n            searchTerms: [ \"arrow\", \"descending\", \"sort-desc\" ]\n        }, {\n            title: \"fas fa-sort-numeric-down\",\n            searchTerms: [ \"numbers\", \"sort-numeric-asc\" ]\n        }, {\n            title: \"fas fa-sort-numeric-up\",\n            searchTerms: [ \"numbers\", \"sort-numeric-desc\" ]\n        }, {\n            title: \"fas fa-sort-up\",\n            searchTerms: [ \"arrow\", \"ascending\", \"sort-asc\" ]\n        }, {\n            title: \"fab fa-soundcloud\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-spa\",\n            searchTerms: [ \"flora\", \"mindfullness\", \"plant\", \"wellness\" ]\n        }, {\n            title: \"fas fa-space-shuttle\",\n            searchTerms: [ \"astronaut\", \"machine\", \"nasa\", \"rocket\", \"transportation\" ]\n        }, {\n            title: \"fab fa-speakap\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-spider\",\n            searchTerms: [ \"arachnid\", \"bug\", \"charlotte\", \"crawl\", \"eight\", \"halloween\", \"holiday\" ]\n        }, {\n            title: \"fas fa-spinner\",\n            searchTerms: [ \"loading\", \"progress\" ]\n        }, {\n            title: \"fas fa-splotch\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-spotify\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-spray-can\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-square\",\n            searchTerms: [ \"block\", \"box\" ]\n        }, {\n            title: \"far fa-square\",\n            searchTerms: [ \"block\", \"box\" ]\n        }, {\n            title: \"fas fa-square-full\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-square-root-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-squarespace\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stack-exchange\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stack-overflow\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-stamp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-star\",\n            searchTerms: [ \"achievement\", \"award\", \"favorite\", \"important\", \"night\", \"rating\", \"score\" ]\n        }, {\n            title: \"far fa-star\",\n            searchTerms: [ \"achievement\", \"award\", \"favorite\", \"important\", \"night\", \"rating\", \"score\" ]\n        }, {\n            title: \"fas fa-star-and-crescent\",\n            searchTerms: [ \"islam\", \"muslim\" ]\n        }, {\n            title: \"fas fa-star-half\",\n            searchTerms: [ \"achievement\", \"award\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n        }, {\n            title: \"far fa-star-half\",\n            searchTerms: [ \"achievement\", \"award\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n        }, {\n            title: \"fas fa-star-half-alt\",\n            searchTerms: [ \"achievement\", \"award\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n        }, {\n            title: \"fas fa-star-of-david\",\n            searchTerms: [ \"jewish\", \"judaism\" ]\n        }, {\n            title: \"fas fa-star-of-life\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-staylinked\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-steam\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-steam-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-steam-symbol\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-step-backward\",\n            searchTerms: [ \"beginning\", \"first\", \"previous\", \"rewind\", \"start\" ]\n        }, {\n            title: \"fas fa-step-forward\",\n            searchTerms: [ \"end\", \"last\", \"next\" ]\n        }, {\n            title: \"fas fa-stethoscope\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-sticker-mule\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sticky-note\",\n            searchTerms: []\n        }, {\n            title: \"far fa-sticky-note\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-stop\",\n            searchTerms: [ \"block\", \"box\", \"square\" ]\n        }, {\n            title: \"fas fa-stop-circle\",\n            searchTerms: []\n        }, {\n            title: \"far fa-stop-circle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-stopwatch\",\n            searchTerms: [ \"time\" ]\n        }, {\n            title: \"fas fa-store\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-store-alt\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-strava\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-stream\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-street-view\",\n            searchTerms: [ \"map\" ]\n        }, {\n            title: \"fas fa-strikethrough\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stripe\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stripe-s\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-stroopwafel\",\n            searchTerms: [ \"dessert\", \"food\", \"sweets\", \"waffle\" ]\n        }, {\n            title: \"fab fa-studiovinari\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stumbleupon\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-stumbleupon-circle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-subscript\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-subway\",\n            searchTerms: [ \"machine\", \"railway\", \"train\", \"transportation\", \"vehicle\" ]\n        }, {\n            title: \"fas fa-suitcase\",\n            searchTerms: [ \"baggage\", \"luggage\", \"move\", \"suitcase\", \"travel\", \"trip\" ]\n        }, {\n            title: \"fas fa-suitcase-rolling\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-sun\",\n            searchTerms: [ \"brighten\", \"contrast\", \"day\", \"lighter\", \"sol\", \"solar\", \"star\", \"weather\" ]\n        }, {\n            title: \"far fa-sun\",\n            searchTerms: [ \"brighten\", \"contrast\", \"day\", \"lighter\", \"sol\", \"solar\", \"star\", \"weather\" ]\n        }, {\n            title: \"fab fa-superpowers\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-superscript\",\n            searchTerms: [ \"exponential\" ]\n        }, {\n            title: \"fab fa-supple\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-surprise\",\n            searchTerms: [ \"emoticon\", \"face\", \"shocked\" ]\n        }, {\n            title: \"far fa-surprise\",\n            searchTerms: [ \"emoticon\", \"face\", \"shocked\" ]\n        }, {\n            title: \"fas fa-swatchbook\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-swimmer\",\n            searchTerms: [ \"athlete\", \"head\", \"man\", \"person\", \"water\" ]\n        }, {\n            title: \"fas fa-swimming-pool\",\n            searchTerms: [ \"ladder\", \"recreation\", \"water\" ]\n        }, {\n            title: \"fas fa-synagogue\",\n            searchTerms: [ \"building\", \"jewish\", \"judaism\", \"star of david\", \"temple\" ]\n        }, {\n            title: \"fas fa-sync\",\n            searchTerms: [ \"exchange\", \"refresh\", \"reload\", \"rotate\", \"swap\" ]\n        }, {\n            title: \"fas fa-sync-alt\",\n            searchTerms: [ \"refresh\", \"reload\", \"rotate\" ]\n        }, {\n            title: \"fas fa-syringe\",\n            searchTerms: [ \"immunizations\", \"needle\" ]\n        }, {\n            title: \"fas fa-table\",\n            searchTerms: [ \"data\", \"excel\", \"spreadsheet\" ]\n        }, {\n            title: \"fas fa-table-tennis\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-tablet\",\n            searchTerms: [ \"apple\", \"device\", \"ipad\", \"kindle\", \"screen\" ]\n        }, {\n            title: \"fas fa-tablet-alt\",\n            searchTerms: [ \"apple\", \"device\", \"ipad\", \"kindle\", \"screen\" ]\n        }, {\n            title: \"fas fa-tablets\",\n            searchTerms: [ \"drugs\", \"medicine\" ]\n        }, {\n            title: \"fas fa-tachometer-alt\",\n            searchTerms: [ \"dashboard\", \"tachometer\" ]\n        }, {\n            title: \"fas fa-tag\",\n            searchTerms: [ \"label\" ]\n        }, {\n            title: \"fas fa-tags\",\n            searchTerms: [ \"labels\" ]\n        }, {\n            title: \"fas fa-tape\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-tasks\",\n            searchTerms: [ \"downloading\", \"downloads\", \"loading\", \"progress\", \"settings\" ]\n        }, {\n            title: \"fas fa-taxi\",\n            searchTerms: [ \"cab\", \"cabbie\", \"car\", \"car service\", \"lyft\", \"machine\", \"transportation\", \"uber\", \"vehicle\" ]\n        }, {\n            title: \"fab fa-teamspeak\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-teeth\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-teeth-open\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-telegram\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-telegram-plane\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-temperature-high\",\n            searchTerms: [ \"mercury\", \"thermometer\", \"warm\" ]\n        }, {\n            title: \"fas fa-temperature-low\",\n            searchTerms: [ \"cool\", \"mercury\", \"thermometer\" ]\n        }, {\n            title: \"fab fa-tencent-weibo\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-terminal\",\n            searchTerms: [ \"code\", \"command\", \"console\", \"prompt\" ]\n        }, {\n            title: \"fas fa-text-height\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-text-width\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-th\",\n            searchTerms: [ \"blocks\", \"boxes\", \"grid\", \"squares\" ]\n        }, {\n            title: \"fas fa-th-large\",\n            searchTerms: [ \"blocks\", \"boxes\", \"grid\", \"squares\" ]\n        }, {\n            title: \"fas fa-th-list\",\n            searchTerms: [ \"checklist\", \"completed\", \"done\", \"finished\", \"ol\", \"todo\", \"ul\" ]\n        }, {\n            title: \"fab fa-the-red-yeti\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-theater-masks\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-themeco\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-themeisle\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-thermometer\",\n            searchTerms: [ \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fas fa-thermometer-empty\",\n            searchTerms: [ \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fas fa-thermometer-full\",\n            searchTerms: [ \"fever\", \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fas fa-thermometer-half\",\n            searchTerms: [ \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fas fa-thermometer-quarter\",\n            searchTerms: [ \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fas fa-thermometer-three-quarters\",\n            searchTerms: [ \"mercury\", \"status\", \"temperature\" ]\n        }, {\n            title: \"fab fa-think-peaks\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-thumbs-down\",\n            searchTerms: [ \"disagree\", \"disapprove\", \"dislike\", \"hand\", \"thumbs-o-down\" ]\n        }, {\n            title: \"far fa-thumbs-down\",\n            searchTerms: [ \"disagree\", \"disapprove\", \"dislike\", \"hand\", \"thumbs-o-down\" ]\n        }, {\n            title: \"fas fa-thumbs-up\",\n            searchTerms: [ \"agree\", \"approve\", \"favorite\", \"hand\", \"like\", \"ok\", \"okay\", \"success\", \"thumbs-o-up\", \"yes\", \"you got it dude\" ]\n        }, {\n            title: \"far fa-thumbs-up\",\n            searchTerms: [ \"agree\", \"approve\", \"favorite\", \"hand\", \"like\", \"ok\", \"okay\", \"success\", \"thumbs-o-up\", \"yes\", \"you got it dude\" ]\n        }, {\n            title: \"fas fa-thumbtack\",\n            searchTerms: [ \"coordinates\", \"location\", \"marker\", \"pin\", \"thumb-tack\" ]\n        }, {\n            title: \"fas fa-ticket-alt\",\n            searchTerms: [ \"ticket\" ]\n        }, {\n            title: \"fas fa-times\",\n            searchTerms: [ \"close\", \"cross\", \"error\", \"exit\", \"incorrect\", \"notice\", \"notification\", \"notify\", \"problem\", \"wrong\", \"x\" ]\n        }, {\n            title: \"fas fa-times-circle\",\n            searchTerms: [ \"close\", \"cross\", \"exit\", \"incorrect\", \"notice\", \"notification\", \"notify\", \"problem\", \"wrong\", \"x\" ]\n        }, {\n            title: \"far fa-times-circle\",\n            searchTerms: [ \"close\", \"cross\", \"exit\", \"incorrect\", \"notice\", \"notification\", \"notify\", \"problem\", \"wrong\", \"x\" ]\n        }, {\n            title: \"fas fa-tint\",\n            searchTerms: [ \"drop\", \"droplet\", \"raindrop\", \"waterdrop\" ]\n        }, {\n            title: \"fas fa-tint-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-tired\",\n            searchTerms: [ \"emoticon\", \"face\", \"grumpy\" ]\n        }, {\n            title: \"far fa-tired\",\n            searchTerms: [ \"emoticon\", \"face\", \"grumpy\" ]\n        }, {\n            title: \"fas fa-toggle-off\",\n            searchTerms: [ \"switch\" ]\n        }, {\n            title: \"fas fa-toggle-on\",\n            searchTerms: [ \"switch\" ]\n        }, {\n            title: \"fas fa-toilet-paper\",\n            searchTerms: [ \"bathroom\", \"halloween\", \"holiday\", \"lavatory\", \"prank\", \"restroom\", \"roll\" ]\n        }, {\n            title: \"fas fa-toolbox\",\n            searchTerms: [ \"admin\", \"container\", \"fix\", \"repair\", \"settings\", \"tools\" ]\n        }, {\n            title: \"fas fa-tooth\",\n            searchTerms: [ \"bicuspid\", \"dental\", \"molar\", \"mouth\", \"teeth\" ]\n        }, {\n            title: \"fas fa-torah\",\n            searchTerms: [ \"book\", \"jewish\", \"judaism\" ]\n        }, {\n            title: \"fas fa-torii-gate\",\n            searchTerms: [ \"building\", \"shintoism\" ]\n        }, {\n            title: \"fas fa-tractor\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-trade-federation\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-trademark\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-traffic-light\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-train\",\n            searchTerms: [ \"bullet\", \"locomotive\", \"railway\" ]\n        }, {\n            title: \"fas fa-transgender\",\n            searchTerms: [ \"intersex\" ]\n        }, {\n            title: \"fas fa-transgender-alt\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-trash\",\n            searchTerms: [ \"delete\", \"garbage\", \"hide\", \"remove\" ]\n        }, {\n            title: \"fas fa-trash-alt\",\n            searchTerms: [ \"delete\", \"garbage\", \"hide\", \"remove\", \"trash\", \"trash-o\" ]\n        }, {\n            title: \"far fa-trash-alt\",\n            searchTerms: [ \"delete\", \"garbage\", \"hide\", \"remove\", \"trash\", \"trash-o\" ]\n        }, {\n            title: \"fas fa-tree\",\n            searchTerms: [ \"bark\", \"fall\", \"flora\", \"forest\", \"nature\", \"plant\", \"seasonal\" ]\n        }, {\n            title: \"fab fa-trello\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-tripadvisor\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-trophy\",\n            searchTerms: [ \"achievement\", \"award\", \"cup\", \"game\", \"winner\" ]\n        }, {\n            title: \"fas fa-truck\",\n            searchTerms: [ \"delivery\", \"shipping\" ]\n        }, {\n            title: \"fas fa-truck-loading\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-truck-monster\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-truck-moving\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-truck-pickup\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-tshirt\",\n            searchTerms: [ \"cloth\", \"clothing\" ]\n        }, {\n            title: \"fas fa-tty\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-tumblr\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-tumblr-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-tv\",\n            searchTerms: [ \"computer\", \"display\", \"monitor\", \"television\" ]\n        }, {\n            title: \"fab fa-twitch\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-twitter\",\n            searchTerms: [ \"social network\", \"tweet\" ]\n        }, {\n            title: \"fab fa-twitter-square\",\n            searchTerms: [ \"social network\", \"tweet\" ]\n        }, {\n            title: \"fab fa-typo3\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-uber\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-uikit\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-umbrella\",\n            searchTerms: [ \"protection\", \"rain\" ]\n        }, {\n            title: \"fas fa-umbrella-beach\",\n            searchTerms: [ \"protection\", \"recreation\", \"sun\" ]\n        }, {\n            title: \"fas fa-underline\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-undo\",\n            searchTerms: [ \"back\", \"control z\", \"exchange\", \"oops\", \"return\", \"rotate\", \"swap\" ]\n        }, {\n            title: \"fas fa-undo-alt\",\n            searchTerms: [ \"back\", \"control z\", \"exchange\", \"oops\", \"return\", \"swap\" ]\n        }, {\n            title: \"fab fa-uniregistry\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-universal-access\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-university\",\n            searchTerms: [ \"bank\", \"institution\" ]\n        }, {\n            title: \"fas fa-unlink\",\n            searchTerms: [ \"chain\", \"chain-broken\", \"remove\" ]\n        }, {\n            title: \"fas fa-unlock\",\n            searchTerms: [ \"admin\", \"lock\", \"password\", \"protect\" ]\n        }, {\n            title: \"fas fa-unlock-alt\",\n            searchTerms: [ \"admin\", \"lock\", \"password\", \"protect\" ]\n        }, {\n            title: \"fab fa-untappd\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-upload\",\n            searchTerms: [ \"export\", \"publish\" ]\n        }, {\n            title: \"fab fa-usb\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user\",\n            searchTerms: [ \"account\", \"avatar\", \"head\", \"human\", \"man\", \"person\", \"profile\" ]\n        }, {\n            title: \"far fa-user\",\n            searchTerms: [ \"account\", \"avatar\", \"head\", \"human\", \"man\", \"person\", \"profile\" ]\n        }, {\n            title: \"fas fa-user-alt\",\n            searchTerms: [ \"account\", \"avatar\", \"head\", \"human\", \"man\", \"person\", \"profile\" ]\n        }, {\n            title: \"fas fa-user-alt-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-astronaut\",\n            searchTerms: [ \"avatar\", \"clothing\", \"cosmonaut\", \"space\", \"suit\" ]\n        }, {\n            title: \"fas fa-user-check\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-circle\",\n            searchTerms: [ \"account\", \"avatar\", \"head\", \"human\", \"man\", \"person\", \"profile\" ]\n        }, {\n            title: \"far fa-user-circle\",\n            searchTerms: [ \"account\", \"avatar\", \"head\", \"human\", \"man\", \"person\", \"profile\" ]\n        }, {\n            title: \"fas fa-user-clock\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-cog\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-edit\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-friends\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-graduate\",\n            searchTerms: [ \"cap\", \"clothing\", \"commencement\", \"gown\", \"graduation\", \"student\" ]\n        }, {\n            title: \"fas fa-user-injured\",\n            searchTerms: [ \"cast\", \"ouch\", \"sling\" ]\n        }, {\n            title: \"fas fa-user-lock\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-md\",\n            searchTerms: [ \"doctor\", \"job\", \"medical\", \"nurse\", \"occupation\", \"profile\" ]\n        }, {\n            title: \"fas fa-user-minus\",\n            searchTerms: [ \"delete\", \"negative\", \"remove\" ]\n        }, {\n            title: \"fas fa-user-ninja\",\n            searchTerms: [ \"assassin\", \"avatar\", \"dangerous\", \"deadly\", \"sneaky\" ]\n        }, {\n            title: \"fas fa-user-plus\",\n            searchTerms: [ \"positive\", \"sign up\", \"signup\" ]\n        }, {\n            title: \"fas fa-user-secret\",\n            searchTerms: [ \"clothing\", \"coat\", \"hat\", \"incognito\", \"privacy\", \"spy\", \"whisper\" ]\n        }, {\n            title: \"fas fa-user-shield\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-slash\",\n            searchTerms: [ \"ban\", \"remove\" ]\n        }, {\n            title: \"fas fa-user-tag\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-user-tie\",\n            searchTerms: [ \"avatar\", \"business\", \"clothing\", \"formal\" ]\n        }, {\n            title: \"fas fa-user-times\",\n            searchTerms: [ \"archive\", \"delete\", \"remove\", \"x\" ]\n        }, {\n            title: \"fas fa-users\",\n            searchTerms: [ \"people\", \"persons\", \"profiles\" ]\n        }, {\n            title: \"fas fa-users-cog\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-ussunnah\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-utensil-spoon\",\n            searchTerms: [ \"spoon\" ]\n        }, {\n            title: \"fas fa-utensils\",\n            searchTerms: [ \"cutlery\", \"dinner\", \"eat\", \"food\", \"knife\", \"restaurant\", \"spoon\" ]\n        }, {\n            title: \"fab fa-vaadin\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-vector-square\",\n            searchTerms: [ \"anchors\", \"lines\", \"object\" ]\n        }, {\n            title: \"fas fa-venus\",\n            searchTerms: [ \"female\" ]\n        }, {\n            title: \"fas fa-venus-double\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-venus-mars\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-viacoin\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-viadeo\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-viadeo-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-vial\",\n            searchTerms: [ \"test tube\" ]\n        }, {\n            title: \"fas fa-vials\",\n            searchTerms: [ \"lab results\", \"test tubes\" ]\n        }, {\n            title: \"fab fa-viber\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-video\",\n            searchTerms: [ \"camera\", \"film\", \"movie\", \"record\", \"video-camera\" ]\n        }, {\n            title: \"fas fa-video-slash\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-vihara\",\n            searchTerms: [ \"buddhism\", \"buddhist\", \"building\", \"monastery\" ]\n        }, {\n            title: \"fab fa-vimeo\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-vimeo-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-vimeo-v\",\n            searchTerms: [ \"vimeo\" ]\n        }, {\n            title: \"fab fa-vine\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-vk\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-vnv\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-volleyball-ball\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-volume-down\",\n            searchTerms: [ \"audio\", \"lower\", \"music\", \"quieter\", \"sound\", \"speaker\" ]\n        }, {\n            title: \"fas fa-volume-mute\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-volume-off\",\n            searchTerms: [ \"audio\", \"music\", \"mute\", \"sound\" ]\n        }, {\n            title: \"fas fa-volume-up\",\n            searchTerms: [ \"audio\", \"higher\", \"louder\", \"music\", \"sound\", \"speaker\" ]\n        }, {\n            title: \"fas fa-vote-yea\",\n            searchTerms: [ \"accept\", \"cast\", \"election\", \"politics\", \"positive\", \"yes\" ]\n        }, {\n            title: \"fas fa-vr-cardboard\",\n            searchTerms: [ \"google\", \"reality\", \"virtual\" ]\n        }, {\n            title: \"fab fa-vuejs\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-walking\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-wallet\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-warehouse\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-water\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-weebly\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-weibo\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-weight\",\n            searchTerms: [ \"measurement\", \"scale\", \"weight\" ]\n        }, {\n            title: \"fas fa-weight-hanging\",\n            searchTerms: [ \"anvil\", \"heavy\", \"measurement\" ]\n        }, {\n            title: \"fab fa-weixin\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-whatsapp\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-whatsapp-square\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-wheelchair\",\n            searchTerms: [ \"handicap\", \"person\" ]\n        }, {\n            title: \"fab fa-whmcs\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-wifi\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wikipedia-w\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-wind\",\n            searchTerms: [ \"air\", \"blow\", \"breeze\", \"fall\", \"seasonal\" ]\n        }, {\n            title: \"fas fa-window-close\",\n            searchTerms: []\n        }, {\n            title: \"far fa-window-close\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-window-maximize\",\n            searchTerms: []\n        }, {\n            title: \"far fa-window-maximize\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-window-minimize\",\n            searchTerms: []\n        }, {\n            title: \"far fa-window-minimize\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-window-restore\",\n            searchTerms: []\n        }, {\n            title: \"far fa-window-restore\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-windows\",\n            searchTerms: [ \"microsoft\" ]\n        }, {\n            title: \"fas fa-wine-bottle\",\n            searchTerms: [ \"alcohol\", \"beverage\", \"drink\", \"glass\", \"grapes\" ]\n        }, {\n            title: \"fas fa-wine-glass\",\n            searchTerms: [ \"alcohol\", \"beverage\", \"drink\", \"grapes\" ]\n        }, {\n            title: \"fas fa-wine-glass-alt\",\n            searchTerms: [ \"alcohol\", \"beverage\", \"drink\", \"grapes\" ]\n        }, {\n            title: \"fab fa-wix\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wizards-of-the-coast\",\n            searchTerms: [ \"Dungeons & Dragons\", \"d&d\", \"dnd\", \"fantasy\", \"game\", \"gaming\", \"tabletop\" ]\n        }, {\n            title: \"fab fa-wolf-pack-battalion\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-won-sign\",\n            searchTerms: [ \"krw\" ]\n        }, {\n            title: \"fab fa-wordpress\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wordpress-simple\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wpbeginner\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wpexplorer\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wpforms\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-wpressr\",\n            searchTerms: [ \"rendact\" ]\n        }, {\n            title: \"fas fa-wrench\",\n            searchTerms: [ \"fix\", \"settings\", \"spanner\", \"tool\", \"update\" ]\n        }, {\n            title: \"fas fa-x-ray\",\n            searchTerms: [ \"radiological images\", \"radiology\" ]\n        }, {\n            title: \"fab fa-xbox\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-xing\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-xing-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-y-combinator\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-yahoo\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-yandex\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-yandex-international\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-yelp\",\n            searchTerms: []\n        }, {\n            title: \"fas fa-yen-sign\",\n            searchTerms: [ \"jpy\", \"money\" ]\n        }, {\n            title: \"fas fa-yin-yang\",\n            searchTerms: [ \"daoism\", \"opposites\", \"taoism\" ]\n        }, {\n            title: \"fab fa-yoast\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-youtube\",\n            searchTerms: [ \"film\", \"video\", \"youtube-play\", \"youtube-square\" ]\n        }, {\n            title: \"fab fa-youtube-square\",\n            searchTerms: []\n        }, {\n            title: \"fab fa-zhihu\",\n            searchTerms: []\n        } ]\n    });\n});"
  },
  {
    "path": "extension/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Javi Aguilar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "extension/manifest.json",
    "content": "{\n  \"manifest_version\": 2,\n  \"name\": \"Font Awesome Icon Picker\",\n  \"description\": \"Font Awesome Icon Picker extension for Google Chrome\",\n  \"version\": \"2.0.2\",\n  \"icons\": {\n    \"19\": \"icon.png\",\n    \"128\": \"icon-128.png\"\n  },\n  \"browser_action\": {\n    \"default_icon\": \"icon.png\",\n    \"default_popup\": \"popup.html\"\n  },\n  \"permissions\": [\n    \"storage\"\n  ],\n  \"content_security_policy\": \"script-src 'self' https://netdna.bootstrapcdn.com https://use.fontawesome.com https://code.jquery.com https://farbelous.io https://cdn.rawgit.com; object-src 'self'\"\n}"
  },
  {
    "path": "extension/popup.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Font Awesome Icon Picker</title>\n    <link href=\"https://netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\" rel=\"stylesheet\">\n    <link id=\"fa_stylesheet\" href=\"https://use.fontawesome.com/releases/v5.0.8/css/all.css\" rel=\"stylesheet\">\n    <link href=\"https://cdn.rawgit.com/farbelous/fontawesome-iconpicker/3.0.0/dist/css/fontawesome-iconpicker.css\"\n          rel=\"stylesheet\">\n    <style>\n        html, body {\n            height: auto;\n        }\n\n        body {\n            overflow-x: hidden;\n            background: #fff;\n        }\n\n        body, .iconpicker-popover {\n            min-width: 230px;\n        }\n\n        .popover.iconpicker-popover,\n        .popover.iconpicker-popover.inline {\n            border-radius: 0px;\n            margin: 0;\n            background: #fff;\n            border: none;\n        }\n\n        .popover.iconpicker-popover .iconpicker-items {\n            max-height: 245px !important;\n        / / each row is 55 px more\n        }\n\n        .popover .popover-footer {\n            text-align: center;\n            /*display: none;*/\n        }\n\n        .popover .popover-footer .icn {\n            font-size: 32px;\n            margin: 10px 0 5px 0;\n        }\n\n        .popover .popover-footer .txt {\n            font-size: 16px;\n            font-weight: bold;\n        }\n\n        .popover .popover-footer .txt small {\n            display: block;\n            font-size: 12px;\n            font-weight: normal;\n            margin-top: 10px;\n        }\n\n        .templates {\n            display: none;\n        }\n\n        #subfooter {\n            font-size: 12px;\n            margin-top: 20px;\n            padding: 19px 0 10px 0;\n            border-top: 1px solid #ddd;\n        }\n    </style>\n</head>\n<body>\n\n<div class=\"iconpicker\" data-title=\"Font Awesome Icon Picker v2.0.2\" data-placement=\"inline\">\n    <div class=\"well\" style=\"text-align:center; margin:0; padding:20px 15px 5px 15px;\">Loading assets...</div>\n</div>\n<div class=\"templates\">\n    <div id=\"subfooter\">\n        <span>Created by <a href=\"https://itsjavi.com\" target=\"_blank\">Javi Aguilar</a></span>\n        <br>\n        <span style=\"font-size:11px\">Do you find this extension useful? Please consider making a donation</span>\n        <br>\n        <a class=\"btn btn-warning btn-xs\" href=\"https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers\" target=\"_blank\">\n            Support this project\n        </a>\n    </div>\n</div>\n\n<!--\n  - JavaScript and HTML must be in separate files: see our Content Security\n  - Policy documentation[1] for details and explanation.\n  -\n  - [1]: http://developer.chrome.com/extensions/contentSecurityPolicy.html\n-->\n<script src=\"https://code.jquery.com/jquery-3.3.1.min.js\"></script>\n<script src=\"https://netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n<script src=\"https://cdn.rawgit.com/farbelous/fontawesome-iconpicker/3.0.0/dist/js/fontawesome-iconpicker.js\"></script>\n<script src=\"popup.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "extension/popup.js",
    "content": "/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * Originally written by (c) 2016 Javi Aguilar\n * Licensed under the MIT License\n * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n *\n */\nvar FA_CSS_URL = 'https://use.fontawesome.com/releases/v5.0.8/css/all.css';\nvar FA_CSS_CLASSES = {};\nvar FA_CACHING_TIME = 7 * 24 * 3600 * 1000; // Cache for 7 days\n\nfunction _selectText(element) {\n    var doc = window.document, range = null;\n\n    if (doc.body.createTextRange) { // ms\n        range = doc.body.createTextRange();\n        range.moveToElementText(element);\n        range.select();\n    } else if (window.getSelection) { // moz, opera, webkit\n        var selection = window.getSelection();\n        range = doc.createRange();\n        range.selectNodeContents(element);\n        selection.removeAllRanges();\n        selection.addRange(range);\n    }\n}\n\nfunction _loadCssRules(stylesheet_uri, callback) {\n    var readyCallback = function (faClasses) {\n        $(function () {\n            callback(faClasses);\n        });\n    };\n\n    chrome.storage.local.get(['faClasses', 'faClassesCacheTime'], function (items) {\n        if (\n            items.faClasses\n            && items.faClassesCacheTime\n            && (items.faClassesCacheTime > Date.now() - FA_CACHING_TIME)\n        ) {\n            callback(items.faClasses);\n        } else {\n            $.ajax(stylesheet_uri).done(function (data) {\n                var style_tag = document.createElement('style');\n                style_tag.id = 'fa_stylesheet_inline';\n                style_tag.appendChild(document.createTextNode(data));\n\n                $(style_tag).insertBefore('#fa_stylesheet');\n                FA_CSS_CLASSES = _parseCssRules(document.styleSheets[1].rules);\n\n                $('#fa_stylesheet_inline').remove();\n\n                // Store parsed classes locally, so they won't need to be fetched every time the plugin is opened\n                chrome.storage.local.set({faClasses: FA_CSS_CLASSES, faClassesCacheTime: Date.now()}, function () {\n                });\n                readyCallback(FA_CSS_CLASSES);\n            });\n        }\n    });\n}\n\nfunction _parseCssRules(cssRules) {\n    var parsedRules = {};\n    for (var j = 0, k = cssRules.length; j < k; j++) {\n        var rule = cssRules[j], cssClasses = [];\n\n        if (\n            rule['selectorText']\n            && rule['style']\n            && rule.style['content']\n        ) {\n            cssClasses = rule.selectorText.replace(/ /g, '').replace(/\\./g, '').split(',');\n            cssClasses.forEach(\n                function (className) {\n                    parsedRules[className] = rule.style.content ? rule.style.content.replace(/\"/g, '') : '';\n                }\n            );\n        }\n    }\n    return parsedRules;\n}\n\n$(function () {\n    _loadCssRules(FA_CSS_URL, function (cssClasses) {\n        $('.iconpicker').html('').iconpicker({\n            showFooter: true,\n            templates: {\n                buttons: '<div></div>',\n                search: '<input type=\"search\" class=\"form-control iconpicker-search\" placeholder=\"Type to filter\" />',\n                footer: '<div class=\"popover-footer\"><p class=\"icn\"><i class=\"icn-inner\"></i></p><p class=\"txt\"></p></div>'\n            }\n        }).on('iconpickerSelected iconpickerUpdated', function (e) {\n            if (!e.iconpickerValue) {\n                return;\n            }\n            var fontFamily = e.iconpickerValue.match(/fab /) ? 'Font Awesome\\\\ 5 Brands' : 'Font Awesome\\\\ 5 Free';\n            var $footer = e.iconpickerInstance.popover.find('.popover-footer').show();\n            var cssClassParts = e.iconpickerValue.split(' ');\n            var cssClass = cssClassParts.pop();\n            var glyphChar = cssClasses[cssClass + '::before'] ? cssClasses[cssClass + '::before'] :\n                (cssClasses[cssClass + ':before'] ? cssClasses[cssClass + ':before'] : '??');\n\n            $footer.find('.icn-inner')\n                .html(glyphChar)\n                .attr('style', 'font-family: ' + fontFamily)\n                .attr('class', 'icn-inner ' + cssClassParts.join(' '))\n            ;\n            var _txt = $footer.find('.txt')\n                .html(e.iconpickerValue +\n                    '<small>&lt;i class=\"' + e.iconpickerValue + '\"&gt;&lt;/i&gt;</small>');\n            _selectText(_txt.find('small').get(0));\n        });\n\n        $(function () {\n            $('.iconpicker .popover-footer').append($('#subfooter'));\n        });\n    });\n});\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\">\n    <title>Font Awesome Icon Picker plugin for Bootstrap</title>\n    <script async src=\"https://www.googletagmanager.com/gtag/js?id=UA-85082661-5\"></script>\n    <script>\n      window.dataLayer = window.dataLayer || [];\n\n      function gtag() {\n        dataLayer.push(arguments);\n      }\n\n      gtag('js', new Date());\n      gtag('config', 'UA-85082661-5');\n    </script>\n    <link href=\"//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\" rel=\"stylesheet\">\n    <!-- <link href=\"//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\" rel=\"stylesheet\"> -->\n    <link href=\"https://use.fontawesome.com/releases/v5.5.0/css/all.css\" rel=\"stylesheet\">\n    <link href=\"dist/css/fontawesome-iconpicker.min.css\" rel=\"stylesheet\">\n    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->\n    <!--[if lt IE 9]>\n    <script src=\"http://html5shim.googlecode.com/svn/trunk/html5.js\"></script>\n    <![endif]-->\n    <style>\n        footer {\n            font-style: italic;\n            background: #f7f7f7;\n            padding: 60px;\n            text-align: center;\n            margin-top: 60px;\n        }\n\n        pre {\n            text-align: left;\n        }\n\n        .form-control, .form-group {\n            position: relative;\n        }\n\n        p.lead {\n            max-width: 800px;\n            margin: 0 auto 20px auto;\n        }\n\n        div.lead {\n            margin: 30px 0;\n        }\n\n        a.action-placement {\n            margin: 0 4px 4px 4px;\n            display: inline-block;\n            /*border-bottom: 1px dotted #428BCA;*/\n            text-decoration: none;\n        }\n\n        a.action-placement.active {\n            color: #5CB85C;\n        }\n\n        .form-group {\n            text-align: left;\n            margin-bottom: 30px;\n        }\n\n        .form-group label {\n            display: block;\n            margin-bottom: 15px;\n        }\n\n        .lead iframe {\n            display: inline-block;\n            vertical-align: middle;\n        }\n    </style>\n</head>\n\n<body>\n<div class=\"container\" style=\"text-align: center\">\n    <h1 class=\"page-header\">Font Awesome Icon Picker</h1>\n\n    <p class=\"lead\">\n        Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,\n        with a powerful base API, based on\n        <a href=\"https://itsjavi.com/bootstrap-popover-picker\" target=\"_blank\">Bootstrap Popover Picker</a>\n    </p>\n    <div class=\"lead\">\n\n        <a class=\"btn btn-warning\" href=\"https://github.com/itsjavi/fontawesome-iconpicker\">\n            <i class=\"fab fa-github\"></i> Source Code\n        </a>\n\n        <a class=\"btn btn-primary\" href=\"https://github.com/itsjavi/fontawesome-iconpicker/releases\">\n            <i class=\"fas fa-download\"></i> Download\n        </a>\n\n        <a class=\"btn btn-primary\" target=\"_blank\"\n           href=\"https://chrome.google.com/webstore/detail/font-awesome-icon-picker/mcepmpclbgahgbpcgbmnpplcfmlaiopm\">\n            <i class=\"fas fa-puzzle-piece\"></i> Chrome extension\n        </a>\n\n        <a class=\"btn btn-success\" href=\"https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers\">\n            <i class=\"far fa-heart\"></i> Donate\n        </a>\n\n        <a class=\"btn btn-default\"\n           href=\"https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors\">\n            <i class=\"fas fa-star\"></i> Supporters\n        </a>\n    </div>\n    <p class=\"lead\">\n        You can use Font Awesome or another font icon set of your choice (icon options and items are customizable).\n    </p>\n    <div class=\"panel panel-default\">\n        <div class=\"panel-heading\">\n            <h2 class=\"panel-title\">Demos</h2>\n        </div>\n        <div class=\"panel-body\">\n            <p class=\"lead\">\n                <i class=\"fa fa-graduation-cap fa-3x picker-target\"></i>\n            </p>\n            <div class=\"row\">\n                <div class=\"col-md-5\">\n                    <div class=\"form-group\">\n                        <label>Default</label>\n                        <input class=\"form-control icp icp-auto\" value=\"fas fa-anchor\" type=\"text\"/>\n                    </div>\n                    <div class=\"form-group\">\n                        <label>As a component</label>\n\n                        <div class=\"input-group\">\n                            <input data-placement=\"bottomRight\" class=\"form-control icp icp-auto\" value=\"fas fa-archive\"\n                                   type=\"text\"/>\n                            <span class=\"input-group-addon\"></span>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label>With the input as a search box</label>\n                        <input class=\"form-control icp icp-auto\" data-input-search=\"true\" value=\"fas fa-plane\"\n                               type=\"text\"/>\n                    </div>\n                    <div class=\"form-group\">\n                        <label>Inside dropdowns</label>\n                        <div class=\"btn-group\">\n                            <button data-selected=\"graduation-cap\" type=\"button\"\n                                    class=\"icp icp-dd btn btn-default dropdown-toggle iconpicker-component\"\n                                    data-toggle=\"dropdown\">\n                                Dropdown <i class=\"fa fa-fw\"></i>\n                                <span class=\"caret\"></span>\n                            </button>\n                            <div class=\"dropdown-menu\"></div>\n                        </div>\n                        <div class=\"btn-group\">\n                            <button type=\"button\" class=\"btn btn-primary iconpicker-component\"><i\n                                    class=\"fa fa-fw fa-heart\"></i></button>\n                            <button type=\"button\" class=\"icp icp-dd btn btn-primary dropdown-toggle\"\n                                    data-selected=\"fa-car\" data-toggle=\"dropdown\">\n                                <span class=\"caret\"></span>\n                                <span class=\"sr-only\">Toggle Dropdown</span>\n                            </button>\n                            <div class=\"dropdown-menu\"></div>\n                        </div>\n                        <p class=\"help-block\"><br>\n                            Note: In dropdowns the placement is controlled by the Bootstrap dropdown plugin\n                        </p>\n                    </div>\n                    <div class=\"form-group\">\n                        <label data-title=\"Inline picker\" data-placement=\"inline\" class=\"icp icp-auto\"\n                               data-selected=\"fa-align-justify\">\n                            Inline mode, without input:\n                        </label>\n                    </div>\n                </div>\n                <div class=\"col-md-7\">\n                    <div class=\"form-group\">\n                        <label>With custom options, e.g. a subset of icons</label>\n                        <input class=\"form-control icp icp-opts\" value=\"fab fa-github\" type=\"text\"/><br>\n                        <pre class=\"well\">\n{\n    //...\n    title: 'With custom options',\n    icons: [\n        {\n            title: \"fab fa-github\",\n            searchTerms: ['repository', 'code']\n        },\n        {\n            title: \"fas fa-heart\",\n            searchTerms: ['love']\n        },\n        {\n            title: \"fab fa-html5\",\n            searchTerms: ['web']\n        },\n        {\n            title: \"fab fa-css3\",\n            searchTerms: ['style']\n        }\n    ],\n    selectedCustomClass: 'label label-success',\n    mustAccept:true,\n    placement:'bottomRight',\n    showFooter:true,\n    //... (see the source code of this page)\n}</pre>\n                        <p class=\"help-block\"><br>\n                            Tip: You can use any font library of your choice and add the icons this way,\n                            mix them up with Font Awesome icons, etc.\n                        </p>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"panel-footer\">\n            <button class=\"btn btn-danger action-destroy\">Destroy instances</button>\n            <button class=\"btn btn-default action-create\">Create instances</button>\n        </div>\n    </div>\n</div>\n<footer>\n    created by <a href=\"https://itsjavi.com\" target=\"_blank\">Javi Aguilar</a>\n</footer>\n<script src=\"//code.jquery.com/jquery-2.2.1.min.js\"></script>\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n<script src=\"dist/js/fontawesome-iconpicker.js\"></script>\n<script>\n  $(function () {\n    $('.action-destroy').on('click', function () {\n      $.iconpicker.batch('.icp.iconpicker-element', 'destroy');\n    });\n    // Live binding of buttons\n    $(document).on('click', '.action-placement', function (e) {\n      $('.action-placement').removeClass('active');\n      $(this).addClass('active');\n      $('.icp-opts').data('iconpicker').updatePlacement($(this).text());\n      e.preventDefault();\n      return false;\n    });\n    $('.action-create').on('click', function () {\n      $('.icp-auto').iconpicker();\n\n      $('.icp-dd').iconpicker({\n        //title: 'Dropdown with picker',\n        //component:'.btn > i'\n      });\n      $('.icp-opts').iconpicker({\n        title: 'With custom options',\n        icons: [\n          {\n            title: \"fab fa-github\",\n            searchTerms: ['repository', 'code']\n          },\n          {\n            title: \"fas fa-heart\",\n            searchTerms: ['love']\n          },\n          {\n            title: \"fab fa-html5\",\n            searchTerms: ['web']\n          },\n          {\n            title: \"fab fa-css3\",\n            searchTerms: ['style']\n          }\n        ],\n        selectedCustomClass: 'label label-success',\n        mustAccept: true,\n        placement: 'bottomRight',\n        showFooter: true,\n        // note that this is ignored cause we have an accept button:\n        hideOnSelect: true,\n        // fontAwesome5: true,\n        templates: {\n          footer: '<div class=\"popover-footer\">' +\n          '<div style=\"text-align:left; font-size:12px;\">Placements: \\n\\\n<a href=\"#\" class=\" action-placement\">inline</a>\\n\\\n<a href=\"#\" class=\" action-placement\">topLeftCorner</a>\\n\\\n<a href=\"#\" class=\" action-placement\">topLeft</a>\\n\\\n<a href=\"#\" class=\" action-placement\">top</a>\\n\\\n<a href=\"#\" class=\" action-placement\">topRight</a>\\n\\\n<a href=\"#\" class=\" action-placement\">topRightCorner</a>\\n\\\n<a href=\"#\" class=\" action-placement\">rightTop</a>\\n\\\n<a href=\"#\" class=\" action-placement\">right</a>\\n\\\n<a href=\"#\" class=\" action-placement\">rightBottom</a>\\n\\\n<a href=\"#\" class=\" action-placement\">bottomRightCorner</a>\\n\\\n<a href=\"#\" class=\" active action-placement\">bottomRight</a>\\n\\\n<a href=\"#\" class=\" action-placement\">bottom</a>\\n\\\n<a href=\"#\" class=\" action-placement\">bottomLeft</a>\\n\\\n<a href=\"#\" class=\" action-placement\">bottomLeftCorner</a>\\n\\\n<a href=\"#\" class=\" action-placement\">leftBottom</a>\\n\\\n<a href=\"#\" class=\" action-placement\">left</a>\\n\\\n<a href=\"#\" class=\" action-placement\">leftTop</a>\\n\\\n</div><hr></div>'\n        }\n      }).data('iconpicker').show();\n    }).trigger('click');\n\n\n    // Events sample:\n    // This event is only triggered when the actual input value is changed\n    // by user interaction\n    $('.icp').on('iconpickerSelected', function (e) {\n      $('.lead .picker-target').get(0).className = 'picker-target fa-3x ' +\n        e.iconpickerInstance.options.iconBaseClass + ' ' +\n        e.iconpickerInstance.options.fullClassFormatter(e.iconpickerValue);\n    });\n  });\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"fontawesome-iconpicker\",\n  \"version\": \"3.2.0\",\n  \"description\": \"Font Awesome Icon Picker plugin for Twitter Bootstrap\",\n  \"homepage\": \"https://farbelous.github.io/fontawesome-iconpicker/\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git@github.com:farbelous/fontawesome-iconpicker.git\"\n  },\n  \"author\": \"Javi Aguilar\",\n  \"license\": \"MIT\",\n  \"main\": \"dist/js/fontawesome-iconpicker.js\",\n  \"bugs\": {\n    \"url\": \"https://github.com/farbelous/fontawesome-iconpicker/issues\"\n  },\n  \"keywords\": [\n    \"bootstrap\",\n    \"fontawesome\",\n    \"iconpicker\",\n    \"popover\",\n    \"picker\"\n  ],\n  \"devDependencies\": {\n    \"grunt\": \"^1.0.3\",\n    \"grunt-contrib-clean\": \"^0.5\",\n    \"grunt-contrib-concat\": \"^0.4\",\n    \"grunt-contrib-jshint\": \"^2.0.0\",\n    \"grunt-contrib-less\": \"^2.0.0\",\n    \"grunt-contrib-uglify\": \"^4.0.0\",\n    \"grunt-contrib-watch\": \"^1.1.0\",\n    \"grunt-http-download\": \"^0.1\",\n    \"grunt-jsbeautifier\": \"^0.2\",\n    \"grunt-string-replace\": \"^1.3\",\n    \"grunt-yaml\": \"^0.4\"\n  }\n}\n"
  },
  {
    "path": "src/js/iconpicker.js",
    "content": "/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * @author Javi Aguilar, itsjavi.com\n * @license MIT License\n * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n */\n\n(function(factory) {\n        \"use strict\";\n        if (typeof define === 'function' && define.amd) {\n            define(['jquery'], factory);\n        } else if (window.jQuery && !window.jQuery.fn.iconpicker) {\n            factory(window.jQuery);\n        }\n    }\n    (function($) {\n        'use strict';\n\n        var _helpers = {\n            isEmpty: function(val) {\n                return ((val === false) || (val === '') || (val === null) || (val === undefined));\n            },\n            isEmptyObject: function(val) {\n                return (this.isEmpty(val) === true) || (val.length === 0);\n            },\n            isElement: function(selector) {\n                return ($(selector).length > 0);\n            },\n            isString: function(val) {\n                return ((typeof val === 'string') || (val instanceof String));\n            },\n            isArray: function(val) {\n                return $.isArray(val);\n            },\n            inArray: function(val, arr) {\n                return ($.inArray(val, arr) !== -1);\n            },\n            throwError: function(text) {\n                throw \"Font Awesome Icon Picker Exception: \" + text;\n            }\n        };\n\n        var Iconpicker = function(element, options) {\n            this._id = Iconpicker._idCounter++;\n            this.element = $(element).addClass('iconpicker-element');\n            this._trigger('iconpickerCreate', {\n                iconpickerValue: this.iconpickerValue\n            });\n            this.options = $.extend({}, Iconpicker.defaultOptions, this.element.data(), options);\n            this.options.templates = $.extend({}, Iconpicker.defaultOptions.templates, this.options.templates);\n            this.options.originalPlacement = this.options.placement;\n            // Iconpicker container element\n            this.container = (_helpers.isElement(this.options.container) ? $(this.options.container) : false);\n            if (this.container === false) {\n                if (this.element.is('.dropdown-toggle')) {\n                    this.container = $('~ .dropdown-menu:first', this.element);\n                } else {\n                    this.container = (this.element.is('input,textarea,button,.btn') ? this.element.parent() : this.element);\n                }\n            }\n            this.container.addClass('iconpicker-container');\n\n            if (this.isDropdownMenu()) {\n                this.options.placement = 'inline';\n            }\n\n            // Is the element an input? Should we search inside for any input?\n            this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false);\n            if (this.input === false) {\n                this.input = (this.container.find(this.options.input));\n                if (!this.input.is('input,textarea')) {\n                    this.input = false;\n                }\n            }\n\n            // Plugin as component ?\n            this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);\n            if (this.component.length === 0) {\n                this.component = false;\n            } else {\n                this.component.find('i').addClass('iconpicker-component');\n            }\n\n            // Create popover and iconpicker HTML\n            this._createPopover();\n            this._createIconpicker();\n\n            if (this.getAcceptButton().length === 0) {\n                // disable this because we don't have accept buttons\n                this.options.mustAccept = false;\n            }\n\n            // Avoid CSS issues with input-group-addon(s)\n            if (this.isInputGroup()) {\n                this.container.parent().append(this.popover);\n            } else {\n                this.container.append(this.popover);\n            }\n\n            // Bind events\n            this._bindElementEvents();\n            this._bindWindowEvents();\n\n            // Refresh everything\n            this.update(this.options.selected);\n\n            if (this.isInline()) {\n                this.show();\n            }\n\n            this._trigger('iconpickerCreated', {\n                iconpickerValue: this.iconpickerValue\n            });\n        };\n\n        // Instance identifier counter\n        Iconpicker._idCounter = 0;\n\n        Iconpicker.defaultOptions = {\n            title: false, // Popover title (optional) only if specified in the template\n            selected: false, // use this value as the current item and ignore the original\n            defaultValue: false, // use this value as the current item if input or element value is empty\n            placement: 'bottom', // (has some issues with auto and CSS). auto, top, bottom, left, right\n            collision: 'none', // If true, the popover will be repositioned to another position when collapses with the window borders\n            animation: true, // fade in/out on show/hide ?\n            //hide iconpicker automatically when a value is picked. it is ignored if mustAccept is not false and the accept button is visible\n            hideOnSelect: false,\n            showFooter: false,\n            searchInFooter: false, // If true, the search will be added to the footer instead of the title\n            mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer\n            selectedCustomClass: 'bg-primary', // Appends this class when to the selected item\n            icons: [], // list of icon classes (declared at the bottom of this script for maintainability)\n            fullClassFormatter: function(val) {\n                return val;\n            },\n            input: 'input,.iconpicker-input', // children input selector\n            inputSearch: false, // use the input as a search box too?\n            container: false, //  Appends the popover to a specific element. If not set, the selected element or element parent is used\n            component: '.input-group-addon,.iconpicker-component', // children component jQuery selector or object, relative to the container element\n            // Plugin templates:\n            templates: {\n                popover: '<div class=\"iconpicker-popover popover\"><div class=\"arrow\"></div>' +\n                    '<div class=\"popover-title\"></div><div class=\"popover-content\"></div></div>',\n                footer: '<div class=\"popover-footer\"></div>',\n                buttons: '<button class=\"iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm\">Cancel</button>' +\n                    ' <button class=\"iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm\">Accept</button>',\n                search: '<input type=\"search\" class=\"form-control iconpicker-search\" placeholder=\"Type to filter\" />',\n                iconpicker: '<div class=\"iconpicker\"><div class=\"iconpicker-items\"></div></div>',\n                iconpickerItem: '<a role=\"button\" href=\"javascript:;\" class=\"iconpicker-item\"><i></i></a>',\n            }\n        };\n\n        Iconpicker.batch = function(selector, method) {\n            var args = Array.prototype.slice.call(arguments, 2);\n            return $(selector).each(function() {\n                var $inst = $(this).data('iconpicker');\n                if (!!$inst) {\n                    $inst[method].apply($inst, args);\n                }\n            });\n        };\n\n        Iconpicker.prototype = {\n            constructor: Iconpicker,\n            options: {},\n            _id: 0, // instance identifier for bind/unbind events\n            _trigger: function(name, opts) {\n                //triggers an event bound to the element\n                opts = opts || {};\n                this.element.trigger($.extend({\n                    type: name,\n                    iconpickerInstance: this\n                }, opts));\n                //console.log(name + ' triggered for instance #' + this._id);\n            },\n            _createPopover: function() {\n                this.popover = $(this.options.templates.popover);\n\n                // title (header)\n                var _title = this.popover.find('.popover-title');\n                if (!!this.options.title) {\n                    _title.append($('<div class=\"popover-title-text\">' + this.options.title + '</div>'));\n                }\n                if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {\n                    _title.append(this.options.templates.search);\n                } else if (!this.options.title) {\n                    _title.remove();\n                }\n\n                // footer\n                if (this.options.showFooter && !_helpers.isEmpty(this.options.templates.footer)) {\n                    var _footer = $(this.options.templates.footer);\n                    if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {\n                        _footer.append($(this.options.templates.search));\n                    }\n                    if (!_helpers.isEmpty(this.options.templates.buttons)) {\n                        _footer.append($(this.options.templates.buttons));\n                    }\n                    this.popover.append(_footer);\n                }\n\n                if (this.options.animation === true) {\n                    this.popover.addClass('fade');\n                }\n\n                return this.popover;\n            },\n            _createIconpicker: function() {\n                var _self = this;\n                this.iconpicker = $(this.options.templates.iconpicker);\n\n                var itemClickFn = function(e) {\n                    var $this = $(this);\n                    if ($this.is('i')) {\n                        $this = $this.parent();\n                    }\n\n                    _self._trigger('iconpickerSelect', {\n                        iconpickerItem: $this,\n                        iconpickerValue: _self.iconpickerValue\n                    });\n\n                    if (_self.options.mustAccept === false) {\n                        _self.update($this.data('iconpickerValue'));\n                        _self._trigger('iconpickerSelected', {\n                            iconpickerItem: this,\n                            iconpickerValue: _self.iconpickerValue\n                        });\n                    } else {\n                        _self.update($this.data('iconpickerValue'), true);\n                    }\n\n                    if (_self.options.hideOnSelect && (_self.options.mustAccept === false)) {\n                        // only hide when the accept button is not present\n                        _self.hide();\n                    }\n                };\n\n                var $itemElementTemplate = $(this.options.templates.iconpickerItem);\n                var $elementsToAppend = [];\n                for (var i in this.options.icons) {\n                    if (typeof this.options.icons[i].title === 'string') {\n                        var itemElement = $itemElementTemplate.clone();\n                        itemElement.find('i')\n                            .addClass(this.options.fullClassFormatter(this.options.icons[i].title));\n                        itemElement.data('iconpickerValue', this.options.icons[i].title)\n                            .on('click.iconpicker', itemClickFn);\n\n                        itemElement.attr('title', '.' + this.options.icons[i].title);\n                        if (this.options.icons[i].searchTerms.length > 0) {\n                            var searchTerms = '';\n                            for (var j = 0; j < this.options.icons[i].searchTerms.length; j++) {\n                                searchTerms = searchTerms + this.options.icons[i].searchTerms[j] + ' ';\n                            }\n                            itemElement.attr('data-search-terms', searchTerms);\n                        }\n                        $elementsToAppend.push(itemElement);\n                    }\n                }\n                this.iconpicker.find('.iconpicker-items').append($elementsToAppend);\n                this.popover.find('.popover-content').append(this.iconpicker);\n\n                return this.iconpicker;\n            },\n            _isEventInsideIconpicker: function(e) {\n                var _t = $(e.target);\n                if ((!_t.hasClass('iconpicker-element') ||\n                        (_t.hasClass('iconpicker-element') && !_t.is(this.element))) &&\n                    (_t.parents('.iconpicker-popover').length === 0)) {\n                    return false;\n                }\n                return true;\n            },\n            _bindElementEvents: function() {\n                var _self = this;\n\n                this.getSearchInput().on('keyup.iconpicker', function() {\n                    _self.filter($(this).val().toLowerCase());\n                });\n\n                this.getAcceptButton().on('click.iconpicker', function() {\n                    var _picked = _self.iconpicker.find('.iconpicker-selected').get(0);\n\n                    _self.update(_self.iconpickerValue);\n\n                    _self._trigger('iconpickerSelected', {\n                        iconpickerItem: _picked,\n                        iconpickerValue: _self.iconpickerValue\n                    });\n                    if (!_self.isInline()) {\n                        _self.hide();\n                    }\n                });\n                this.getCancelButton().on('click.iconpicker', function() {\n                    if (!_self.isInline()) {\n                        _self.hide();\n                    }\n                });\n\n                this.element.on('focus.iconpicker', function(e) {\n                    _self.show();\n                    e.stopPropagation();\n                });\n\n                if (this.hasComponent()) {\n                    this.component.on('click.iconpicker', function() {\n                        _self.toggle();\n                    });\n                }\n\n                if (this.hasInput()) {\n                    // Bind input keyup event\n                    this.input.on('keyup.iconpicker', function(e) {\n                        if (!_helpers.inArray(e.keyCode, [38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86])) {\n                            _self.update();\n                        } else {\n                            _self._updateFormGroupStatus(_self.getValid(this.value) !== false);\n                        }\n                        if (_self.options.inputSearch === true) {\n                            _self.filter($(this).val().toLowerCase());\n                        }\n                        //_self.hide();\n                    });\n                }\n\n            },\n            _bindWindowEvents: function() {\n                var $doc = $(window.document);\n                var _self = this;\n\n                // Add a namespace to the document events so they can be identified\n                // later for every instance separately\n                var _eventNs = '.iconpicker.inst' + this._id;\n\n                $(window).on('resize.iconpicker' + _eventNs + ' orientationchange.iconpicker' + _eventNs, function(e) {\n                    // reposition popover\n                    if (_self.popover.hasClass('in')) {\n                        _self.updatePlacement();\n                    }\n                });\n\n                if (!_self.isInline()) {\n                    $doc.on('mouseup' + _eventNs, function(e) {\n                        if (!_self._isEventInsideIconpicker(e) && !_self.isInline()) {\n                            _self.hide();\n                        }\n                    });\n                }\n            },\n            _unbindElementEvents: function() {\n                this.popover.off('.iconpicker');\n                this.element.off('.iconpicker');\n\n                if (this.hasInput()) {\n                    this.input.off('.iconpicker');\n                }\n\n                if (this.hasComponent()) {\n                    this.component.off('.iconpicker');\n                }\n\n                if (this.hasContainer()) {\n                    this.container.off('.iconpicker');\n                }\n            },\n            _unbindWindowEvents: function() {\n                // destroy window and window.document bound events\n                $(window).off('.iconpicker.inst' + this._id);\n                $(window.document).off('.iconpicker.inst' + this._id);\n            },\n            updatePlacement: function(placement, collision) {\n                placement = placement || this.options.placement;\n                this.options.placement = placement; // set new placement\n                collision = collision || this.options.collision;\n                collision = (collision === true ? 'flip' : collision);\n\n                var _pos = {\n                    // at: Defines which position (or side) on container element to align the\n                    // popover element against: \"horizontal vertical\" alignment.\n                    at: \"right bottom\",\n                    // my: Defines which position (or side) on the popover being positioned to align\n                    // with the container element: \"horizontal vertical\" alignment\n                    my: \"right top\",\n                    // of: Which element to position against.\n                    of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container,\n                    // collision: When the positioned element overflows the window (or within element)\n                    // in some direction, move it to an alternative position.\n                    collision: (collision === true ? 'flip' : collision),\n                    // within: Element to position within, affecting collision detection.\n                    within: window\n                };\n\n                // remove previous classes\n                this.popover.removeClass('inline topLeftCorner topLeft top topRight topRightCorner ' +\n                    'rightTop right rightBottom bottomRight bottomRightCorner ' +\n                    'bottom bottomLeft bottomLeftCorner leftBottom left leftTop');\n\n                if (typeof placement === 'object') {\n                    // custom position ?\n                    return this.popover.pos($.extend({}, _pos, placement));\n                }\n\n                switch (placement) {\n                    case 'inline':\n                        {\n                            _pos = false;\n                        }\n                        break;\n                    case 'topLeftCorner':\n                        {\n                            _pos.my = 'right bottom';\n                            _pos.at = 'left top';\n                        }\n                        break;\n\n                    case 'topLeft':\n                        {\n                            _pos.my = 'left bottom';\n                            _pos.at = 'left top';\n                        }\n                        break;\n\n                    case 'top':\n                        {\n                            _pos.my = 'center bottom';\n                            _pos.at = 'center top';\n                        }\n                        break;\n\n                    case 'topRight':\n                        {\n                            _pos.my = 'right bottom';\n                            _pos.at = 'right top';\n                        }\n                        break;\n\n                    case 'topRightCorner':\n                        {\n                            _pos.my = 'left bottom';\n                            _pos.at = 'right top';\n                        }\n                        break;\n\n                    case 'rightTop':\n                        {\n                            _pos.my = 'left bottom';\n                            _pos.at = 'right center';\n                        }\n                        break;\n\n                    case 'right':\n                        {\n                            _pos.my = 'left center';\n                            _pos.at = 'right center';\n                        }\n                        break;\n\n                    case 'rightBottom':\n                        {\n                            _pos.my = 'left top';\n                            _pos.at = 'right center';\n                        }\n                        break;\n\n                    case 'bottomRightCorner':\n                        {\n                            _pos.my = 'left top';\n                            _pos.at = 'right bottom';\n                        }\n                        break;\n\n                    case 'bottomRight':\n                        {\n                            _pos.my = 'right top';\n                            _pos.at = 'right bottom';\n                        }\n                        break;\n                    case 'bottom':\n                        {\n                            _pos.my = 'center top';\n                            _pos.at = 'center bottom';\n                        }\n                        break;\n\n                    case 'bottomLeft':\n                        {\n                            _pos.my = 'left top';\n                            _pos.at = 'left bottom';\n                        }\n                        break;\n\n                    case 'bottomLeftCorner':\n                        {\n                            _pos.my = 'right top';\n                            _pos.at = 'left bottom';\n                        }\n                        break;\n\n                    case 'leftBottom':\n                        {\n                            _pos.my = 'right top';\n                            _pos.at = 'left center';\n                        }\n                        break;\n\n                    case 'left':\n                        {\n                            _pos.my = 'right center';\n                            _pos.at = 'left center';\n                        }\n                        break;\n\n                    case 'leftTop':\n                        {\n                            _pos.my = 'right bottom';\n                            _pos.at = 'left center';\n                        }\n                        break;\n\n                    default:\n                        {\n                            return false;\n                        }\n                        break;\n\n                }\n\n                this.popover.css({\n                    'display': (this.options.placement === 'inline') ? '' : 'block'\n                });\n\n                if (_pos !== false) {\n                    this.popover.pos(_pos).css('maxWidth', $(window).width() - this.container.offset().left - 5);\n                } else {\n                    //reset position\n                    this.popover.css({\n                        'top': 'auto',\n                        'right': 'auto',\n                        'bottom': 'auto',\n                        'left': 'auto',\n                        'maxWidth': 'none'\n                    });\n                }\n                this.popover.addClass(this.options.placement);\n\n                return true;\n            },\n            _updateComponents: function() {\n                // Update selected item\n                this.iconpicker.find('.iconpicker-item.iconpicker-selected')\n                    .removeClass('iconpicker-selected ' + this.options.selectedCustomClass);\n\n                if (this.iconpickerValue) {\n                    this.iconpicker.find('.' + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, '.')).parent()\n                        .addClass('iconpicker-selected ' + this.options.selectedCustomClass);\n                }\n\n                // Update component item\n                if (this.hasComponent()) {\n                    var icn = this.component.find('i');\n                    if (icn.length > 0) {\n                        icn.attr('class', this.options.fullClassFormatter(this.iconpickerValue));\n                    } else {\n                        this.component.html(this.getHtml());\n                    }\n                }\n\n            },\n            _updateFormGroupStatus: function(isValid) {\n                if (this.hasInput()) {\n                    if (isValid !== false) {\n                        // Remove form-group error class if any\n                        this.input.parents('.form-group:first').removeClass('has-error');\n                    } else {\n                        this.input.parents('.form-group:first').addClass('has-error');\n                    }\n                    return true;\n                }\n                return false;\n            },\n            getValid: function(val) {\n                // here we must validate the value (you may change this validation\n                // to suit your needs\n                if (!_helpers.isString(val)) {\n                    val = '';\n                }\n\n                var isEmpty = (val === '');\n\n                // trim string\n                val = $.trim(val);\n                var e = false;\n                for (var i = 0; i < this.options.icons.length; i++) {\n                    if (this.options.icons[i].title === val) {\n                        e = true;\n                        break;\n                    };\n                }\n\n                if (e || isEmpty) {\n                    return val;\n                }\n                return false;\n            },\n            /**\n             * Sets the internal item value and updates everything, excepting the input or element.\n             * For doing so, call setSourceValue() or update() instead\n             */\n            setValue: function(val) {\n                // sanitize first\n                var _val = this.getValid(val);\n                if (_val !== false) {\n                    this.iconpickerValue = _val;\n                    this._trigger('iconpickerSetValue', {\n                        iconpickerValue: _val\n                    });\n                    return this.iconpickerValue;\n                } else {\n                    this._trigger('iconpickerInvalid', {\n                        iconpickerValue: val\n                    });\n                    return false;\n                }\n            },\n            getHtml: function() {\n                return '<i class=\"' + this.options.fullClassFormatter(this.iconpickerValue) + '\"></i>';\n            },\n            /**\n             * Calls setValue and if it's a valid item value, sets the input or element value\n             */\n            setSourceValue: function(val) {\n                val = this.setValue(val);\n                if ((val !== false) && (val !== '')) {\n                    if (this.hasInput()) {\n                        this.input.val(this.iconpickerValue);\n                    } else {\n                        this.element.data('iconpickerValue', this.iconpickerValue);\n                    }\n                    this._trigger('iconpickerSetSourceValue', {\n                        iconpickerValue: val\n                    });\n                }\n                return val;\n            },\n            /**\n             * Returns the input or element item value, without formatting, or defaultValue\n             * if it's empty string, undefined, false or null\n             * @param {type} defaultValue\n             * @returns string|mixed\n             */\n            getSourceValue: function(defaultValue) {\n                // returns the input or element value, as string\n                defaultValue = defaultValue || this.options.defaultValue;\n                var val = defaultValue;\n\n                if (this.hasInput()) {\n                    val = this.input.val();\n                } else {\n                    val = this.element.data('iconpickerValue');\n                }\n                if ((val === undefined) || (val === '') || (val === null) || (val === false)) {\n                    // if not defined or empty, return default\n                    val = defaultValue;\n                }\n                return val;\n            },\n            hasInput: function() {\n                return (this.input !== false);\n            },\n            isInputSearch: function() {\n                return (this.hasInput() && (this.options.inputSearch === true));\n            },\n            isInputGroup: function() {\n                return this.container.is('.input-group');\n            },\n            isDropdownMenu: function() {\n                return this.container.is('.dropdown-menu');\n            },\n            hasSeparatedSearchInput: function() {\n                return (this.options.templates.search !== false) && (!this.isInputSearch());\n            },\n            hasComponent: function() {\n                return (this.component !== false);\n            },\n            hasContainer: function() {\n                return (this.container !== false);\n            },\n            getAcceptButton: function() {\n                return this.popover.find('.iconpicker-btn-accept');\n            },\n            getCancelButton: function() {\n                return this.popover.find('.iconpicker-btn-cancel');\n            },\n            getSearchInput: function() {\n                return this.popover.find('.iconpicker-search');\n            },\n            filter: function(filterText) {\n                if (_helpers.isEmpty(filterText)) {\n                    this.iconpicker.find('.iconpicker-item').show();\n                    return $(false);\n                } else {\n                    var found = [];\n                    this.iconpicker.find('.iconpicker-item').each(function() {\n                        var $this = $(this);\n                        var text = $this.attr('title').toLowerCase();\n                        var searchTerms = $this.attr('data-search-terms') ? $this.attr('data-search-terms').toLowerCase() : '';\n                        text = text + ' ' + searchTerms;\n                        var regex = false;\n                        try {\n                            regex = new RegExp('(^|\\\\W)' + filterText, 'g');\n                        } catch (e) {\n                            regex = false;\n                        }\n                        if ((regex !== false) && text.match(regex)) {\n                            found.push($this);\n                            $this.show();\n                        } else {\n                            $this.hide();\n                        }\n                    });\n                    return found;\n                }\n            },\n            show: function() {\n                if (this.popover.hasClass('in')) {\n                    return false;\n                }\n                // hide other non-inline pickers\n                $.iconpicker.batch($('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');\n\n                this._trigger('iconpickerShow', {\n                    iconpickerValue: this.iconpickerValue\n                });\n                this.updatePlacement();\n                this.popover.addClass('in');\n                setTimeout($.proxy(function() {\n                    this.popover.css('display', this.isInline() ? '' : 'block');\n                    this._trigger('iconpickerShown', {\n                        iconpickerValue: this.iconpickerValue\n                    });\n                }, this), this.options.animation ? 300 : 1); // animation duration\n            },\n            hide: function() {\n                if (!this.popover.hasClass('in')) {\n                    return false;\n                }\n                this._trigger('iconpickerHide', {\n                    iconpickerValue: this.iconpickerValue\n                });\n                this.popover.removeClass('in');\n                setTimeout($.proxy(function() {\n                    this.popover.css('display', 'none');\n                    this.getSearchInput().val('');\n                    this.filter(''); // clear filter\n                    this._trigger('iconpickerHidden', {\n                        iconpickerValue: this.iconpickerValue\n                    });\n                }, this), this.options.animation ? 300 : 1);\n            },\n            toggle: function() {\n                if (this.popover.is(\":visible\")) {\n                    this.hide();\n                } else {\n                    this.show(true);\n                }\n            },\n            update: function(val, updateOnlyInternal) {\n                val = (val ? val : this.getSourceValue(this.iconpickerValue));\n                // reads the input or element value again and tries to update the plugin\n                // fallback to the current selected item value\n                this._trigger('iconpickerUpdate', {\n                    iconpickerValue: this.iconpickerValue\n                });\n\n                if (updateOnlyInternal === true) {\n                    val = this.setValue(val);\n                } else {\n                    val = this.setSourceValue(val);\n                    this._updateFormGroupStatus(val !== false);\n                }\n\n                if (val !== false) {\n                    this._updateComponents();\n                }\n\n                this._trigger('iconpickerUpdated', {\n                    iconpickerValue: this.iconpickerValue\n                });\n                return val;\n            },\n            destroy: function() {\n                this._trigger('iconpickerDestroy', {\n                    iconpickerValue: this.iconpickerValue\n                });\n\n                // unbinds events and resets everything to the initial state,\n                // including component mode\n                this.element.removeData('iconpicker').removeData('iconpickerValue').removeClass('iconpicker-element');\n\n                this._unbindElementEvents();\n                this._unbindWindowEvents();\n\n                $(this.popover).remove();\n\n                this._trigger('iconpickerDestroyed', {\n                    iconpickerValue: this.iconpickerValue\n                });\n            },\n            disable: function() {\n                if (this.hasInput()) {\n                    this.input.prop('disabled', true);\n                    return true;\n                }\n                return false;\n            },\n            enable: function() {\n                if (this.hasInput()) {\n                    this.input.prop('disabled', false);\n                    return true;\n                }\n                return false;\n            },\n            isDisabled: function() {\n                if (this.hasInput()) {\n                    return (this.input.prop('disabled') === true);\n                }\n                return false;\n            },\n            isInline: function() {\n                return (this.options.placement === 'inline') || (this.popover.hasClass('inline'));\n            }\n        };\n\n        $.iconpicker = Iconpicker;\n\n        // jQuery plugin\n        $.fn.iconpicker = function(options) {\n            return this.each(function() {\n                var $this = $(this);\n                if (!$this.data('iconpicker')) {\n                    // create plugin instance (only if not exists) and expose the entire instance API\n                    $this.data('iconpicker', new Iconpicker(this, ((typeof options === 'object') ? options : {})));\n                }\n            });\n        };\n\n        // List of all Font Awesome icons without class prefix\n        Iconpicker.defaultOptions = $.extend(\n            Iconpicker.defaultOptions,\n            //###REPLACE-WITH-FONT-AWESOME-5-FONTS###\n        );\n    }));\n"
  },
  {
    "path": "src/js/jquery.ui.pos.js",
    "content": "(function(factory) {\n    if (typeof define === \"function\" && define.amd) {\n\n        // AMD. Register as an anonymous module.\n        define([\"jquery\"], factory);\n    } else {\n\n        // Browser globals\n        factory(jQuery);\n    }\n}(function($) {\n\n    $.ui = $.ui || {};\n\n    var version = $.ui.version = \"1.12.1\";\n\n\n    /*!\n     * jQuery UI Position 1.12.1\n     * http://jqueryui.com\n     *\n     * Copyright jQuery Foundation and other contributors\n     * Released under the MIT license.\n     * http://jquery.org/license\n     *\n     * http://api.jqueryui.com/position/\n     */\n\n    //>>label: Position\n    //>>group: Core\n    //>>description: Positions elements relative to other elements.\n    //>>docs: http://api.jqueryui.com/position/\n    //>>demos: http://jqueryui.com/position/\n\n\n    (function() {\n        var cachedScrollbarWidth,\n            max = Math.max,\n            abs = Math.abs,\n            rhorizontal = /left|center|right/,\n            rvertical = /top|center|bottom/,\n            roffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n            rposition = /^\\w+/,\n            rpercent = /%$/,\n            _position = $.fn.pos;\n\n        function getOffsets(offsets, width, height) {\n            return [\n                parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1),\n                parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)\n            ];\n        }\n\n        function parseCss(element, property) {\n            return parseInt($.css(element, property), 10) || 0;\n        }\n\n        function getDimensions(elem) {\n            var raw = elem[0];\n            if (raw.nodeType === 9) {\n                return {\n                    width: elem.width(),\n                    height: elem.height(),\n                    offset: {\n                        top: 0,\n                        left: 0\n                    }\n                };\n            }\n            if ($.isWindow(raw)) {\n                return {\n                    width: elem.width(),\n                    height: elem.height(),\n                    offset: {\n                        top: elem.scrollTop(),\n                        left: elem.scrollLeft()\n                    }\n                };\n            }\n            if (raw.preventDefault) {\n                return {\n                    width: 0,\n                    height: 0,\n                    offset: {\n                        top: raw.pageY,\n                        left: raw.pageX\n                    }\n                };\n            }\n            return {\n                width: elem.outerWidth(),\n                height: elem.outerHeight(),\n                offset: elem.offset()\n            };\n        }\n\n        $.pos = {\n            scrollbarWidth: function() {\n                if (cachedScrollbarWidth !== undefined) {\n                    return cachedScrollbarWidth;\n                }\n                var w1, w2,\n                    div = $(\"<div \" +\n                        \"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>\" +\n                        \"<div style='height:100px;width:auto;'></div></div>\"),\n                    innerDiv = div.children()[0];\n\n                $(\"body\").append(div);\n                w1 = innerDiv.offsetWidth;\n                div.css(\"overflow\", \"scroll\");\n\n                w2 = innerDiv.offsetWidth;\n\n                if (w1 === w2) {\n                    w2 = div[0].clientWidth;\n                }\n\n                div.remove();\n\n                return (cachedScrollbarWidth = w1 - w2);\n            },\n            getScrollInfo: function(within) {\n                var overflowX = within.isWindow || within.isDocument ? \"\" :\n                    within.element.css(\"overflow-x\"),\n                    overflowY = within.isWindow || within.isDocument ? \"\" :\n                    within.element.css(\"overflow-y\"),\n                    hasOverflowX = overflowX === \"scroll\" ||\n                    (overflowX === \"auto\" && within.width < within.element[0].scrollWidth),\n                    hasOverflowY = overflowY === \"scroll\" ||\n                    (overflowY === \"auto\" && within.height < within.element[0].scrollHeight);\n                return {\n                    width: hasOverflowY ? $.pos.scrollbarWidth() : 0,\n                    height: hasOverflowX ? $.pos.scrollbarWidth() : 0\n                };\n            },\n            getWithinInfo: function(element) {\n                var withinElement = $(element || window),\n                    isWindow = $.isWindow(withinElement[0]),\n                    isDocument = !!withinElement[0] && withinElement[0].nodeType === 9,\n                    hasOffset = !isWindow && !isDocument;\n                return {\n                    element: withinElement,\n                    isWindow: isWindow,\n                    isDocument: isDocument,\n                    offset: hasOffset ? $(element).offset() : {\n                        left: 0,\n                        top: 0\n                    },\n                    scrollLeft: withinElement.scrollLeft(),\n                    scrollTop: withinElement.scrollTop(),\n                    width: withinElement.outerWidth(),\n                    height: withinElement.outerHeight()\n                };\n            }\n        };\n\n        $.fn.pos = function(options) {\n            if (!options || !options.of) {\n                return _position.apply(this, arguments);\n            }\n\n            // Make a copy, we don't want to modify arguments\n            options = $.extend({}, options);\n\n            var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n                target = $(options.of),\n                within = $.pos.getWithinInfo(options.within),\n                scrollInfo = $.pos.getScrollInfo(within),\n                collision = (options.collision || \"flip\").split(\" \"),\n                offsets = {};\n\n            dimensions = getDimensions(target);\n            if (target[0].preventDefault) {\n\n                // Force left top to allow flipping\n                options.at = \"left top\";\n            }\n            targetWidth = dimensions.width;\n            targetHeight = dimensions.height;\n            targetOffset = dimensions.offset;\n\n            // Clone to reuse original targetOffset later\n            basePosition = $.extend({}, targetOffset);\n\n            // Force my and at to have valid horizontal and vertical positions\n            // if a value is missing or invalid, it will be converted to center\n            $.each([\"my\", \"at\"], function() {\n                var pos = (options[this] || \"\").split(\" \"),\n                    horizontalOffset,\n                    verticalOffset;\n\n                if (pos.length === 1) {\n                    pos = rhorizontal.test(pos[0]) ?\n                        pos.concat([\"center\"]) :\n                        rvertical.test(pos[0]) ? [\"center\"].concat(pos) : [\"center\", \"center\"];\n                }\n                pos[0] = rhorizontal.test(pos[0]) ? pos[0] : \"center\";\n                pos[1] = rvertical.test(pos[1]) ? pos[1] : \"center\";\n\n                // Calculate offsets\n                horizontalOffset = roffset.exec(pos[0]);\n                verticalOffset = roffset.exec(pos[1]);\n                offsets[this] = [\n                    horizontalOffset ? horizontalOffset[0] : 0,\n                    verticalOffset ? verticalOffset[0] : 0\n                ];\n\n                // Reduce to just the positions without the offsets\n                options[this] = [\n                    rposition.exec(pos[0])[0],\n                    rposition.exec(pos[1])[0]\n                ];\n            });\n\n            // Normalize collision option\n            if (collision.length === 1) {\n                collision[1] = collision[0];\n            }\n\n            if (options.at[0] === \"right\") {\n                basePosition.left += targetWidth;\n            } else if (options.at[0] === \"center\") {\n                basePosition.left += targetWidth / 2;\n            }\n\n            if (options.at[1] === \"bottom\") {\n                basePosition.top += targetHeight;\n            } else if (options.at[1] === \"center\") {\n                basePosition.top += targetHeight / 2;\n            }\n\n            atOffset = getOffsets(offsets.at, targetWidth, targetHeight);\n            basePosition.left += atOffset[0];\n            basePosition.top += atOffset[1];\n\n            return this.each(function() {\n                var collisionPosition, using,\n                    elem = $(this),\n                    elemWidth = elem.outerWidth(),\n                    elemHeight = elem.outerHeight(),\n                    marginLeft = parseCss(this, \"marginLeft\"),\n                    marginTop = parseCss(this, \"marginTop\"),\n                    collisionWidth = elemWidth + marginLeft + parseCss(this, \"marginRight\") +\n                    scrollInfo.width,\n                    collisionHeight = elemHeight + marginTop + parseCss(this, \"marginBottom\") +\n                    scrollInfo.height,\n                    position = $.extend({}, basePosition),\n                    myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());\n\n                if (options.my[0] === \"right\") {\n                    position.left -= elemWidth;\n                } else if (options.my[0] === \"center\") {\n                    position.left -= elemWidth / 2;\n                }\n\n                if (options.my[1] === \"bottom\") {\n                    position.top -= elemHeight;\n                } else if (options.my[1] === \"center\") {\n                    position.top -= elemHeight / 2;\n                }\n\n                position.left += myOffset[0];\n                position.top += myOffset[1];\n\n                collisionPosition = {\n                    marginLeft: marginLeft,\n                    marginTop: marginTop\n                };\n\n                $.each([\"left\", \"top\"], function(i, dir) {\n                    if ($.ui.pos[collision[i]]) {\n                        $.ui.pos[collision[i]][dir](position, {\n                            targetWidth: targetWidth,\n                            targetHeight: targetHeight,\n                            elemWidth: elemWidth,\n                            elemHeight: elemHeight,\n                            collisionPosition: collisionPosition,\n                            collisionWidth: collisionWidth,\n                            collisionHeight: collisionHeight,\n                            offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],\n                            my: options.my,\n                            at: options.at,\n                            within: within,\n                            elem: elem\n                        });\n                    }\n                });\n\n                if (options.using) {\n\n                    // Adds feedback as second argument to using callback, if present\n                    using = function(props) {\n                        var left = targetOffset.left - position.left,\n                            right = left + targetWidth - elemWidth,\n                            top = targetOffset.top - position.top,\n                            bottom = top + targetHeight - elemHeight,\n                            feedback = {\n                                target: {\n                                    element: target,\n                                    left: targetOffset.left,\n                                    top: targetOffset.top,\n                                    width: targetWidth,\n                                    height: targetHeight\n                                },\n                                element: {\n                                    element: elem,\n                                    left: position.left,\n                                    top: position.top,\n                                    width: elemWidth,\n                                    height: elemHeight\n                                },\n                                horizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n                                vertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n                            };\n                        if (targetWidth < elemWidth && abs(left + right) < targetWidth) {\n                            feedback.horizontal = \"center\";\n                        }\n                        if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {\n                            feedback.vertical = \"middle\";\n                        }\n                        if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {\n                            feedback.important = \"horizontal\";\n                        } else {\n                            feedback.important = \"vertical\";\n                        }\n                        options.using.call(this, props, feedback);\n                    };\n                }\n\n                elem.offset($.extend(position, {\n                    using: using\n                }));\n            });\n        };\n\n        $.ui.pos = {\n            _trigger: function(position, data, name, triggered) {\n                if (data.elem) {\n                    data.elem.trigger({\n                        'type': name,\n                        'position': position,\n                        'positionData': data,\n                        'triggered': triggered\n                    });\n                }\n            },\n            fit: {\n                left: function(position, data) {\n                    $.ui.pos._trigger(position, data, 'posCollide', 'fitLeft');\n                    var within = data.within,\n                        withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n                        outerWidth = within.width,\n                        collisionPosLeft = position.left - data.collisionPosition.marginLeft,\n                        overLeft = withinOffset - collisionPosLeft,\n                        overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n                        newOverRight;\n\n                    // Element is wider than within\n                    if (data.collisionWidth > outerWidth) {\n\n                        // Element is initially over the left side of within\n                        if (overLeft > 0 && overRight <= 0) {\n                            newOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n                                withinOffset;\n                            position.left += overLeft - newOverRight;\n\n                            // Element is initially over right side of within\n                        } else if (overRight > 0 && overLeft <= 0) {\n                            position.left = withinOffset;\n\n                            // Element is initially over both left and right sides of within\n                        } else {\n                            if (overLeft > overRight) {\n                                position.left = withinOffset + outerWidth - data.collisionWidth;\n                            } else {\n                                position.left = withinOffset;\n                            }\n                        }\n\n                        // Too far left -> align with left edge\n                    } else if (overLeft > 0) {\n                        position.left += overLeft;\n\n                        // Too far right -> align with right edge\n                    } else if (overRight > 0) {\n                        position.left -= overRight;\n\n                        // Adjust based on position and margin\n                    } else {\n                        position.left = max(position.left - collisionPosLeft, position.left);\n                    }\n                    $.ui.pos._trigger(position, data, 'posCollided', 'fitLeft');\n                },\n                top: function(position, data) {\n                    $.ui.pos._trigger(position, data, 'posCollide', 'fitTop');\n                    var within = data.within,\n                        withinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n                        outerHeight = data.within.height,\n                        collisionPosTop = position.top - data.collisionPosition.marginTop,\n                        overTop = withinOffset - collisionPosTop,\n                        overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n                        newOverBottom;\n\n                    // Element is taller than within\n                    if (data.collisionHeight > outerHeight) {\n\n                        // Element is initially over the top of within\n                        if (overTop > 0 && overBottom <= 0) {\n                            newOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n                                withinOffset;\n                            position.top += overTop - newOverBottom;\n\n                            // Element is initially over bottom of within\n                        } else if (overBottom > 0 && overTop <= 0) {\n                            position.top = withinOffset;\n\n                            // Element is initially over both top and bottom of within\n                        } else {\n                            if (overTop > overBottom) {\n                                position.top = withinOffset + outerHeight - data.collisionHeight;\n                            } else {\n                                position.top = withinOffset;\n                            }\n                        }\n\n                        // Too far up -> align with top\n                    } else if (overTop > 0) {\n                        position.top += overTop;\n\n                        // Too far down -> align with bottom edge\n                    } else if (overBottom > 0) {\n                        position.top -= overBottom;\n\n                        // Adjust based on position and margin\n                    } else {\n                        position.top = max(position.top - collisionPosTop, position.top);\n                    }\n                    $.ui.pos._trigger(position, data, 'posCollided', 'fitTop');\n                }\n            },\n            flip: {\n                left: function(position, data) {\n                    $.ui.pos._trigger(position, data, 'posCollide', 'flipLeft');\n                    var within = data.within,\n                        withinOffset = within.offset.left + within.scrollLeft,\n                        outerWidth = within.width,\n                        offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n                        collisionPosLeft = position.left - data.collisionPosition.marginLeft,\n                        overLeft = collisionPosLeft - offsetLeft,\n                        overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n                        myOffset = data.my[0] === \"left\" ?\n                        -data.elemWidth :\n                        data.my[0] === \"right\" ?\n                        data.elemWidth :\n                        0,\n                        atOffset = data.at[0] === \"left\" ?\n                        data.targetWidth :\n                        data.at[0] === \"right\" ?\n                        -data.targetWidth :\n                        0,\n                        offset = -2 * data.offset[0],\n                        newOverRight,\n                        newOverLeft;\n\n                    if (overLeft < 0) {\n                        newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n                            outerWidth - withinOffset;\n                        if (newOverRight < 0 || newOverRight < abs(overLeft)) {\n                            position.left += myOffset + atOffset + offset;\n                        }\n                    } else if (overRight > 0) {\n                        newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n                            atOffset + offset - offsetLeft;\n                        if (newOverLeft > 0 || abs(newOverLeft) < overRight) {\n                            position.left += myOffset + atOffset + offset;\n                        }\n                    }\n                    $.ui.pos._trigger(position, data, 'posCollided', 'flipLeft');\n                },\n                top: function(position, data) {\n                    $.ui.pos._trigger(position, data, 'posCollide', 'flipTop');\n                    var within = data.within,\n                        withinOffset = within.offset.top + within.scrollTop,\n                        outerHeight = within.height,\n                        offsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n                        collisionPosTop = position.top - data.collisionPosition.marginTop,\n                        overTop = collisionPosTop - offsetTop,\n                        overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n                        top = data.my[1] === \"top\",\n                        myOffset = top ?\n                        -data.elemHeight :\n                        data.my[1] === \"bottom\" ?\n                        data.elemHeight :\n                        0,\n                        atOffset = data.at[1] === \"top\" ?\n                        data.targetHeight :\n                        data.at[1] === \"bottom\" ?\n                        -data.targetHeight :\n                        0,\n                        offset = -2 * data.offset[1],\n                        newOverTop,\n                        newOverBottom;\n                    if (overTop < 0) {\n                        newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n                            outerHeight - withinOffset;\n                        if (newOverBottom < 0 || newOverBottom < abs(overTop)) {\n                            position.top += myOffset + atOffset + offset;\n                        }\n                    } else if (overBottom > 0) {\n                        newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n                            offset - offsetTop;\n                        if (newOverTop > 0 || abs(newOverTop) < overBottom) {\n                            position.top += myOffset + atOffset + offset;\n                        }\n                    }\n                    $.ui.pos._trigger(position, data, 'posCollided', 'flipTop');\n                }\n            },\n            flipfit: {\n                left: function() {\n                    $.ui.pos.flip.left.apply(this, arguments);\n                    $.ui.pos.fit.left.apply(this, arguments);\n                },\n                top: function() {\n                    $.ui.pos.flip.top.apply(this, arguments);\n                    $.ui.pos.fit.top.apply(this, arguments);\n                }\n            }\n        };\n        // fraction support test\n        (function() {\n            var testElement, testElementParent, testElementStyle, offsetLeft, i,\n                body = document.getElementsByTagName(\"body\")[0],\n                div = document.createElement(\"div\");\n\n            //Create a \"fake body\" for testing based on method used in jQuery.support\n            testElement = document.createElement(body ? \"div\" : \"body\");\n            testElementStyle = {\n                visibility: \"hidden\",\n                width: 0,\n                height: 0,\n                border: 0,\n                margin: 0,\n                background: \"none\"\n            };\n            if (body) {\n                $.extend(testElementStyle, {\n                    position: \"absolute\",\n                    left: \"-1000px\",\n                    top: \"-1000px\"\n                });\n            }\n            for (i in testElementStyle) {\n                testElement.style[i] = testElementStyle[i];\n            }\n            testElement.appendChild(div);\n            testElementParent = body || document.documentElement;\n            testElementParent.insertBefore(testElement, testElementParent.firstChild);\n\n            div.style.cssText = \"position: absolute; left: 10.7432222px;\";\n\n            offsetLeft = $(div).offset().left;\n            $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;\n\n            testElement.innerHTML = \"\";\n            testElementParent.removeChild(testElement);\n        })();\n\n    })();\n\n    var position = $.ui.position;\n\n\n\n\n}));\n"
  },
  {
    "path": "src/less/iconpicker.less",
    "content": "/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * @author Javi Aguilar, itsjavi.com\n * @license MIT License\n * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n */\n@import 'variables.less';\n@import 'popovers.less';\n\n.iconpicker {\n  * {\n    -webkit-box-sizing: content-box;\n    -moz-box-sizing: content-box;\n    box-sizing: content-box;\n    position: relative;\n  }\n  position: relative;\n  .clearfix();\n  text-align: left;\n  text-shadow: none;\n  line-height: 0;\n  display: block;\n  margin: 0;\n  overflow: hidden;\n\n  .iconpicker-items {\n    position: relative;\n    .clearfix();\n    clear: both;\n    float: none;\n    padding: @base_spacing 0 0 @base_spacing;\n    background: #fff;\n    //margin:0 -@base_spacing -@base_spacing 0;\n    //width:@picker_width - (@base_spacing*2);\n    margin: 0;\n    overflow: hidden;\n    overflow-y: auto;\n    min-height: @row_outer_height;\n    max-height: (@row_outer_height * @num_rows) + 1;\n\n  }\n\n  .iconpicker-item {\n    float: left;\n    width: @item_size;\n    height: @item_size;\n    padding: @base_spacing;\n    margin: 0 @base_spacing @base_spacing 0;\n    text-align: center;\n    cursor: pointer;\n    border-radius: 3px;\n    font-size: @item_size;\n    .outer-border();\n    color: inherit;\n    &:hover:not(.iconpicker-selected) {\n      background-color: @hover_bg;\n    }\n    &.iconpicker-selected {\n      box-shadow: none;\n      color: #fff;\n      background: #000;\n    }\n    /*&:nth-child(4n+4) {\n        margin-right: 0;\n    }\n    &:nth-last-child(-n+4) {\n        margin-bottom: 0;\n    }*/\n    //box-shadow:0;\n  }\n}\n\n.iconpicker-component {\n  cursor: pointer;\n}\n"
  },
  {
    "path": "src/less/popovers.less",
    "content": "//\n// Popovers\n// --------------------------------------------------\n\n.iconpicker-popover.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: none;\n  max-width: none;\n  padding: 1px;\n  text-align: left;\n  width: @picker_width + @num_cols;\n  background: @popover-title-bg;\n  z-index: 9;\n\n  // Offset the popover to account for the popover arrow\n  &.top, &.topLeftCorner, &.topLeft, &.topRight, &.topRightCorner {\n    margin-top: -@popover-arrow-width;\n  }\n  &.right, &.rightTop, &.rightBottom {\n    margin-left: @popover-arrow-width;\n  }\n  &.bottom, &.bottomRightCorner, &.bottomRight, &.bottomLeft, &.bottomLeftCorner {\n    margin-top: @popover-arrow-width;\n  }\n  &.left, &.leftBottom, &.leftTop {\n    margin-left: -@popover-arrow-width;\n  }\n\n  &.inline {\n    > .arrow {\n      display: none;\n    }\n    margin: 0 0 @base_spacing 0;\n    position: relative;\n    display: inline-block;\n    opacity: 1;\n    top: auto;\n    left: auto;\n    bottom: auto;\n    right: auto;\n    max-width: 100%;\n    box-shadow: none;\n    z-index: auto;\n    vertical-align: top;\n  }\n}\n\n.dropdown-menu .iconpicker-popover.inline {\n  margin: 0;\n  border: none;\n}\n\n.dropdown-menu.iconpicker-container {\n  padding: 0;\n}\n\n.iconpicker-popover.popover .popover-title {\n  //padding: 8px 14px;\n  //border-radius: 5px 5px 0 0;\n  padding: @base_spacing;\n  font-size: @title_size;\n  line-height: @title_size + 2px;\n  border-bottom: 1px solid darken(@popover-title-bg, 5%);\n  background-color: @popover-title-bg;\n\n  input[type=search].iconpicker-search {\n    margin: 0 0 2px 0;\n  }\n}\n\n.iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {\n  margin-top: @base_spacing;\n}\n\n.iconpicker-popover.popover .popover-content {\n  //padding: 9px 14px;\n  padding: 0px;\n  text-align: center;\n  //overflow:hidden;\n}\n\n.iconpicker-popover .popover-footer {\n  .clearfix();\n  float: none;\n  clear: both;\n  padding: @base_spacing;\n  text-align: right;\n  margin: 0;\n  border-top: 1px solid darken(@popover-title-bg, 5%);\n  background-color: @popover-title-bg;\n  .iconpicker-btn {\n    margin-left: 10px;\n  }\n  input[type=search].iconpicker-search {\n    /*width:auto;\n    float:left;*/\n    margin-bottom: @base_spacing;\n  }\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.iconpicker-popover.popover > .arrow {\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n}\n\n.iconpicker-popover.popover > .arrow {\n  border-width: @popover-arrow-outer-width;\n}\n\n.iconpicker-popover.popover > .arrow:after {\n  border-width: @popover-arrow-width;\n  content: \"\";\n}\n\n.iconpicker-popover.popover {\n  &.top, &.topLeft, &.topRight {\n    > .arrow {\n      left: 50%;\n      margin-left: -@popover-arrow-outer-width;\n      border-bottom-width: 0;\n      border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n      border-top-color: @popover-arrow-outer-color;\n      bottom: -@popover-arrow-outer-width;\n      &:after {\n        content: \" \";\n        bottom: 1px;\n        margin-left: -@popover-arrow-width;\n        border-bottom-width: 0;\n        border-top-color: @popover-arrow-color;\n      }\n    }\n  }\n  &.topLeft > .arrow {\n    left: @arrow_position;\n    margin-left: 0;\n  }\n  &.topRight > .arrow {\n    left: auto;\n    right: @arrow_position;\n    margin-left: 0;\n  }\n  &.right, &.rightTop, &.rightBottom {\n    > .arrow {\n      top: 50%;\n      left: -@popover-arrow-outer-width;\n      margin-top: -@popover-arrow-outer-width;\n      border-left-width: 0;\n      border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n      border-right-color: @popover-arrow-outer-color;\n      &:after {\n        content: \" \";\n        left: 1px;\n        bottom: -@popover-arrow-width;\n        border-left-width: 0;\n        border-right-color: @popover-arrow-color;\n      }\n    }\n  }\n\n  &.rightTop > .arrow {\n    top: auto;\n    bottom: @arrow_position;\n    margin-top: 0;\n  }\n  &.rightBottom > .arrow {\n    top: @arrow_position;\n    margin-top: 0;\n  }\n\n  &.bottom, &.bottomRight, &.bottomLeft {\n    > .arrow {\n      left: 50%;\n      margin-left: -@popover-arrow-outer-width;\n      border-top-width: 0;\n      border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n      border-bottom-color: @popover-arrow-outer-color;\n      top: -@popover-arrow-outer-width;\n      &:after {\n        content: \" \";\n        top: 1px;\n        margin-left: -@popover-arrow-width;\n        border-top-width: 0;\n        border-bottom-color: @popover-arrow-color;\n      }\n    }\n  }\n  &.bottomLeft > .arrow {\n    left: @arrow_position;\n    margin-left: 0;\n  }\n  &.bottomRight > .arrow {\n    left: auto;\n    right: @arrow_position;\n    margin-left: 0;\n  }\n\n  &.left, &.leftBottom, &.leftTop {\n    > .arrow {\n      top: 50%;\n      right: -@popover-arrow-outer-width;\n      margin-top: -@popover-arrow-outer-width;\n      border-right-width: 0;\n      border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n      border-left-color: @popover-arrow-outer-color;\n      &:after {\n        content: \" \";\n        right: 1px;\n        border-right-width: 0;\n        border-left-color: @popover-arrow-color;\n        bottom: -@popover-arrow-width;\n      }\n    }\n  }\n\n  &.leftBottom > .arrow {\n    top: @arrow_position;\n    margin-top: 0;\n  }\n  &.leftTop > .arrow {\n    top: auto;\n    bottom: @arrow_position;\n    margin-top: 0;\n  }\n}\n"
  },
  {
    "path": "src/less/variables.less",
    "content": "// Iconpicker variables:\n@item_size: 14px;\n@hover_bg: #eee;\n@num_cols: 4;\n@num_rows: 5;\n@base_spacing: 12px;\n@scrollbar_compensation: @base_spacing + 6px;\n@picker_width: (@item_size * @num_cols) + (@num_cols * @base_spacing * (@num_cols - 1)) + @base_spacing + @scrollbar_compensation;\n@row_outer_height: (@item_size + (@base_spacing * 3)) - 1px;\n@title_size: (@base_spacing + @item_size) / 2;\n@border_color: #ddd;\n@arrow_position: 8px; // arrow position when not centered (either for left, right, top or bottom)\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n@popover-bg: #fff;\n//** Popover maximum width\n@popover-max-width: 276px;\n//** Popover border color\n@popover-border-color: rgba(0, 0, 0, .2);\n//** Popover fallback border color\n@popover-fallback-border-color: #ccc;\n\n//** Popover title background color\n@popover-title-bg: darken(@popover-bg, 3%);\n\n//** Popover arrow width\n@popover-arrow-width: 10px;\n//** Popover arrow color\n@popover-arrow-color: #fff;\n\n//** Popover outer arrow width\n@popover-arrow-outer-width: (@popover-arrow-width + 1);\n//** Popover outer arrow color\n@popover-arrow-outer-color: fadein(@popover-border-color, 5%);\n//** Popover outer arrow fallback color\n@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);\n\n// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n\n.outer-border() {\n  box-shadow: 0 0 0 1px @border_color;\n}\n\n//\n// Other Bootstrap Variables:\n// --------------------------------------------------\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n@gray-darker: lighten(#000, 13.5%); // #222\n@gray-dark: lighten(#000, 20%); // #333\n@gray: lighten(#000, 33.5%); // #555\n@gray-light: lighten(#000, 60%); // #999\n@gray-lighter: lighten(#000, 93.5%); // #eee\n\n@brand-primary: #428bca;\n@brand-success: #5cb85c;\n@brand-info: #5bc0de;\n@brand-warning: #f0ad4e;\n@brand-danger: #d9534f;\n\n//== Scaffolding\n//\n// ## Settings for some of the most global styles.\n\n//** Background color for `<body>`.\n@body-bg: #fff;\n//** Global text color on `<body>`.\n@text-color: @gray-dark;\n\n//** Global textual link color.\n@link-color: @brand-primary;\n//** Link hover color set via `darken()` function.\n@link-hover-color: darken(@link-color, 15%);\n"
  }
]