[
  {
    "path": ".gitignore",
    "content": "# generated files\nbin/\ngen/\n\n# Local configuration file (sdk path, etc)\nlocal.properties\n\n# IntelliJ files\n.idea\n*.iml\n\n# gradle directory\n.gradle\nbuild/\n\n# thumbnails\n.DS_STORE\n\nclasses/\n"
  },
  {
    "path": "ADD_FONT.md",
    "content": "Adding a Custom Font\n=================\n\nAndroid Bootstrap uses Typeface Icon Sets, which provide scalable graphics without the hassle of\nadding different drawable sizes for various screen densities. It should be possible to define your\nown icon sets by following the instructions below. Please send pull requests if you want an icon set\nadded to the library by default.\n\n1.\nFind the [reference sheet](https://fortawesome.github.io/Font-Awesome/cheatsheet/)\n for the typeface, and use a script to parse it. \nAn example [parsing script](https://github.com/Bearded-Hen/AndroidBootstrapSample) is currently available\nfor the FontAwesome and Typicon typefaces. If possible, please also send a pull request for the script itself!\n\n2.\nCreate a class which implements the IconSet interface. This describes the location of the typeface\nin the assets directory, and the icon codes which map to unicode characters. See the default icon sets\nfor examples.\n\n3.\nCopy the typeface TTF file to the assets directory.\n\n4.\nInitialise the custom typeface by calling TypefaceProvider.registerCustomIconSet().\n\n5.\nAdd icons to text using the BootstrapTextBuilder.\n\n6.\nTest out the new icon set, send a pull request, or raise an issue if something isn't working."
  },
  {
    "path": "AndroidBootstrap/build.gradle",
    "content": "apply plugin: 'com.android.library'\napply from: 'push.gradle'\n\nandroid {\n    compileSdkVersion Integer.parseInt(TARGET_SDK_INT)\n    buildToolsVersion \"25.0.3\"\n\n    defaultConfig {\n        minSdkVersion Integer.parseInt(MIN_SDK_INT)\n        targetSdkVersion Integer.parseInt(TARGET_SDK_INT)\n        versionCode = Integer.parseInt(VERSION_CODE)\n        versionName = VERSION_NAME\n    }\n}\n\ndependencies {\n    compile 'com.android.support:support-annotations:25.3.1'\n    compile 'com.android.support:support-v4:25.3.1'\n}\n"
  },
  {
    "path": "AndroidBootstrap/proguard-project.txt",
    "content": "# To enable ProGuard in your project, edit project.properties\n# to define the proguard.config property as described in that file.\n#\n# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in ${sdk.dir}/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the ProGuard\n# include property in project.properties.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "AndroidBootstrap/push.gradle",
    "content": "/*\n * Copyright 2013 Chris Banes\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\napply plugin: 'maven'\napply plugin: 'signing'\n\ndef isReleaseBuild() {\n    return VERSION_NAME.contains(\"SNAPSHOT\") == false\n}\n\ndef getReleaseRepositoryUrl() {\n    return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL\n            : \"https://oss.sonatype.org/service/local/staging/deploy/maven2/\"\n}\n\ndef getSnapshotRepositoryUrl() {\n    return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL\n            : \"https://oss.sonatype.org/content/repositories/snapshots/\"\n}\n\ndef getRepositoryUsername() {\n    return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : \"\"\n}\n\ndef getRepositoryPassword() {\n    return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : \"\"\n}\n\nafterEvaluate { project ->\n    uploadArchives {\n        repositories {\n            mavenDeployer {\n                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }\n\n                pom.groupId = GROUP\n                pom.artifactId = POM_ARTIFACT_ID\n                pom.version = VERSION_NAME\n\n                repository(url: getReleaseRepositoryUrl()) {\n                    authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())\n                }\n                snapshotRepository(url: getSnapshotRepositoryUrl()) {\n                    authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())\n                }\n\n                pom.project {\n                    name POM_NAME\n                    packaging POM_PACKAGING\n                    description POM_DESCRIPTION\n                    url POM_URL\n\n                    scm {\n                        url POM_SCM_URL\n                        connection POM_SCM_CONNECTION\n                        developerConnection POM_SCM_DEV_CONNECTION\n                    }\n\n                    licenses {\n                        license {\n                            name POM_LICENCE_NAME\n                            url POM_LICENCE_URL\n                            distribution POM_LICENCE_DIST\n                        }\n                    }\n\n                    developers {\n                        developer {\n                            id POM_DEVELOPER_ID\n                            name POM_DEVELOPER_NAME\n                        }\n                    }\n                }\n            }\n        }\n    }\n\n    signing {\n        required { isReleaseBuild() && gradle.taskGraph.hasTask(\"uploadArchives\") }\n        sign configurations.archives\n    }\n\n    task androidJavadocs(type: Javadoc) {\n        source = android.sourceSets.main.java.srcDirs\n        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))\n    }\n\n    task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {\n        classifier = 'javadoc'\n        from androidJavadocs.destinationDir\n    }\n\n    task androidSourcesJar(type: Jar) {\n        classifier = 'sources'\n        from android.sourceSets.main.java.sourceFiles\n    }\n\n    artifacts {\n        archives androidSourcesJar\n        archives androidJavadocsJar\n    }\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest package=\"com.beardedhen.androidbootstrap\" />"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/AwesomeTextView.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.NonNull;\nimport android.support.annotation.Nullable;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.view.animation.AlphaAnimation;\nimport android.view.animation.Animation;\nimport android.view.animation.LinearInterpolator;\nimport android.view.animation.RotateAnimation;\nimport android.widget.TextView;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapTextView;\nimport com.beardedhen.androidbootstrap.font.FontAwesome;\nimport com.beardedhen.androidbootstrap.font.IconSet;\nimport com.beardedhen.androidbootstrap.font.MaterialIcons;\nimport com.beardedhen.androidbootstrap.font.Typicon;\n\nimport java.io.Serializable;\n\n/**\n * This class extends the default Android TextView to supply Bootstrap behaviour. The text color\n * can be set by changing the BootstrapBrand, and scalable Typeface icons can be interspersed with\n * regular text, using the BootstrapText spannable.\n */\npublic class AwesomeTextView extends TextView implements BootstrapTextView, BootstrapBrandView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.AwesomeTextView\";\n\n    private BootstrapText bootstrapText;\n    private BootstrapBrand bootstrapBrand;\n\n    public enum AnimationSpeed {\n        FAST(500, 200),\n        MEDIUM(1000, 500),\n        SLOW(2000, 1000);\n\n        private final long rotateDuration;\n        private final long flashDuration;\n\n        AnimationSpeed(long rotateDuration, long flashDuration) {\n            this.rotateDuration = rotateDuration;\n            this.flashDuration = flashDuration;\n        }\n\n        public long getRotateDuration() {\n            return rotateDuration;\n        }\n\n        public long getFlashDuration() {\n            return flashDuration;\n        }\n    }\n\n    public AwesomeTextView(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public AwesomeTextView(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public AwesomeTextView(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.AwesomeTextView);\n        String markdownText;\n\n        try {\n            int typeOrdinal = a.getInt(R.styleable.AwesomeTextView_bootstrapBrand, -1);\n            int faIconOrdinal = a.getInt(R.styleable.AwesomeTextView_fontAwesomeIcon, -1);\n            int typiconOrdinal = a.getInt(R.styleable.AwesomeTextView_typicon, -1);\n            int materialIconOrdinal = a.getInt(R.styleable.AwesomeTextView_materialIcon, -1);\n\n            boolean clickable = a.getBoolean(R.styleable.AwesomeTextView_android_clickable, true);\n\n            this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n            boolean editMode = isInEditMode();\n\n            if (typiconOrdinal != -1) {\n                final IconSet typicon = TypefaceProvider.retrieveRegisteredIconSet(Typicon.FONT_PATH, editMode);\n\n                if (!editMode) {\n                    setIcon(typicon.iconCodeForAttrIndex(typiconOrdinal), typicon);\n                }\n            }\n            if (faIconOrdinal != -1) {\n                final IconSet fontAwesome = TypefaceProvider.retrieveRegisteredIconSet(FontAwesome.FONT_PATH, editMode);\n\n                if (!editMode) {\n                    setIcon(fontAwesome.iconCodeForAttrIndex(faIconOrdinal), fontAwesome);\n                }\n            }\n            if (materialIconOrdinal != -1) {\n                final IconSet materialIcons = TypefaceProvider.retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, editMode);\n\n                if (!editMode) {\n                    setIcon(materialIcons.iconCodeForAttrIndex(materialIconOrdinal), materialIcons);\n                }\n            }\n            markdownText = a.getString(R.styleable.AwesomeTextView_bootstrapText);\n\n            setClickable(clickable); // allows view to reach android:state_pressed\n\n            int gravity = a.getInt(R.styleable.AwesomeTextView_android_gravity, Gravity.CENTER);\n            setGravity(gravity);\n        }\n        finally {\n            a.recycle();\n        }\n\n        if (markdownText != null) {\n            setMarkdownText(markdownText);\n        }\n        updateBootstrapState();\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n        bundle.putSerializable(BootstrapTextView.KEY, bootstrapText);\n        bundle.putSerializable(BootstrapBrand.KEY, bootstrapBrand);\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            Serializable text = bundle.getSerializable(BootstrapTextView.KEY);\n            Serializable brand = bundle.getSerializable(BootstrapBrand.KEY);\n\n            if (brand instanceof BootstrapBrand) {\n                bootstrapBrand = (BootstrapBrand) brand;\n            }\n            if (text instanceof BootstrapText) {\n                bootstrapText = (BootstrapText) text;\n            }\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateBootstrapState();\n    }\n\n    /**\n     * Starts a Flashing Animation on the AwesomeTextView\n     *\n     * @param forever whether the animation should be infinite or play once\n     * @param speed   how fast the item should flash\n     */\n    public void startFlashing(boolean forever, AnimationSpeed speed) {\n        Animation fadeIn = new AlphaAnimation(0, 1);\n\n        //set up extra variables\n        fadeIn.setDuration(50);\n        fadeIn.setRepeatMode(Animation.REVERSE);\n\n        //default repeat count is 0, however if user wants, set it up to be infinite\n        fadeIn.setRepeatCount(0);\n        if (forever) {\n            fadeIn.setRepeatCount(Animation.INFINITE);\n        }\n\n        fadeIn.setStartOffset(speed.getFlashDuration());\n        startAnimation(fadeIn);\n    }\n\n    /**\n     * Starts a rotating animation on the AwesomeTextView\n     *\n     * @param clockwise true for clockwise, false for anti clockwise spinning\n     * @param speed     how fast the item should rotate\n     */\n    public void startRotate(boolean clockwise, AnimationSpeed speed) {\n        Animation rotate;\n\n        //set up the rotation animation\n        if (clockwise) {\n            rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);\n        }\n        else {\n            rotate = new RotateAnimation(360, 0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);\n        }\n\n        //set up some extra variables\n        rotate.setRepeatCount(Animation.INFINITE);\n        rotate.setInterpolator(new LinearInterpolator());\n        rotate.setStartOffset(0);\n        rotate.setRepeatMode(Animation.RESTART);\n        rotate.setDuration(speed.getRotateDuration());\n        startAnimation(rotate);\n    }\n\n    /**\n     * Sets the text to display a FontIcon, replacing whatever text is already present.\n     * Used to set the text to display a FontAwesome Icon.\n     *\n     * @param iconSet - An implementation of FontIcon\n     */\n    public void setIcon(CharSequence iconCode, IconSet iconSet) {\n        setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addIcon(iconCode, iconSet).build());\n    }\n\n    /**\n     * Sets the text to display a FontIcon, replacing whatever text is already present.\n     * Used to set the text to display a FontAwesome Icon.\n     *\n     * @param iconCode the fontawesome icon code e.g. \"fa_play\"\n     */\n    public void setFontAwesomeIcon(@FontAwesome.Icon CharSequence iconCode) {\n        setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addFontAwesomeIcon(iconCode).build());\n    }\n\n    /**\n     * Sets the text to display a MaterialIcon, replacing whatever text is already present.\n     * Used to set the text to display a MaterialIcon Icon.\n     *\n     * @param iconCode the fontawesome icon code e.g. \"md_share\"\n     */\n    public void setMaterialIcon(@FontAwesome.Icon CharSequence iconCode) {\n        setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addMaterialIcon(iconCode).build());\n    }\n\n    /**\n     * Sets the text to display a FontIcon, replacing whatever text is already present.\n     * Used to set the text to display a Typicon.\n     *\n     * @param iconCode the typicon icon code e.g. \"ty_adjust_brightness\"\n     */\n    public void setTypicon(@Typicon.Icon CharSequence iconCode) {\n        setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addTypicon(iconCode).build());\n    }\n\n    @Override public void setMarkdownText(String text) {\n        setBootstrapText(IconResolver.resolveMarkdown(getContext(), text, isInEditMode()));\n    }\n\n    protected void updateBootstrapState() {\n        if (bootstrapText != null) {\n            setText(bootstrapText);\n        }\n        if (bootstrapBrand != null) {\n            setTextColor(bootstrapBrand.defaultFill(getContext()));\n        }\n    }\n\n    /*\n     * Getters/Setters\n     */\n\n    @Override public void setBootstrapText(BootstrapText bootstrapText) {\n        this.bootstrapText = bootstrapText;\n        updateBootstrapState();\n    }\n\n    @Nullable @Override public BootstrapText getBootstrapText() {\n        return bootstrapText;\n    }\n\n    @Override public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n        updateBootstrapState();\n    }\n\n    @NonNull @Override public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @Override public void setText(CharSequence text, BufferType type) {\n        super.setText(text, type);\n        bootstrapText = null;\n    }\n\n    @Override\n    protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {\n        super.onTextChanged(text, start, lengthBefore, lengthAfter);\n        if(!(text!=null && text.length()>0)){\n            setVisibility(GONE);\n        }else{\n            setVisibility(VISIBLE);\n        }\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BetaApi.java",
    "content": "package com.beardedhen.androidbootstrap;\n\n/**\n * Any class marked with this annotation is subject to Major API changes which may cause client code\n * to break between releases. Use with caution!!!\n */\npublic @interface BetaApi {}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapAlert.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Rect;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.text.Html;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.view.TouchDelegate;\nimport android.view.View;\nimport android.view.animation.AccelerateInterpolator;\nimport android.view.animation.AlphaAnimation;\nimport android.view.animation.Animation;\nimport android.widget.ImageView;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\nimport java.util.concurrent.atomic.AtomicInteger;\n\n/**\n * See\n * <a href=\"http://getbootstrap.com/components/#badges\">http://getbootstrap.com/components/#alerts</a>\n */\n@BetaApi\npublic class BootstrapAlert extends RelativeLayout implements Animation.AnimationListener {\n\n    /**\n     * Provides methods which receive callbacks in response to changes in the view visibility.\n     */\n    public interface VisibilityChangeListener{\n\n        /**\n         * Called when the alert is set to be dismissed with an animation.\n         * @param alert the alert\n         */\n        void onAlertDismissStarted(BootstrapAlert alert);\n\n        /**\n         * Called when the alert is no longer visible.\n         * @param alert the alert\n         */\n        void onAlertDismissCompletion(BootstrapAlert alert);\n\n        /**\n         * Called when the alert set to appear with an animation\n         * @param alert the alert\n         */\n        void onAlertAppearStarted(BootstrapAlert alert);\n\n        /**\n         * Called when the alert is now visible.\n         * @param alert the alert\n         */\n        void onAlertAppearCompletion(BootstrapAlert alert);\n    }\n\n    private ImageView closeButton;\n\n    private BootstrapBrand bootstrapBrand;\n\n    private String strongText;\n    private String messageText;\n\n    private float baselineFontSize;\n    private float baselinePadding;\n\n    private AlphaAnimation fadeInAnimation;\n    private AlphaAnimation fadeOutAnimation;\n\n    private boolean userDismissible;\n\n    private VisibilityChangeListener visibilityChangeListener;\n\n    private static final AtomicInteger nextGeneratedId = new AtomicInteger(1);\n\n    public BootstrapAlert(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapAlert(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapAlert(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapAlert);\n\n        try {\n            int typeOrdinal = a.getInt(R.styleable.BootstrapAlert_bootstrapBrand, -1);\n\n            this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n\n            strongText = a.getString(R.styleable.BootstrapAlert_strongText);\n            messageText = a.getString(R.styleable.BootstrapAlert_messageText);\n            userDismissible = a.getBoolean(R.styleable.BootstrapAlert_dismissible, false);\n\n            if (strongText == null) {\n                strongText = \"\";\n            }\n            if (messageText == null) {\n                messageText = \"\";\n            }\n        }\n        finally {\n            a.recycle();\n        }\n\n        baselineFontSize = DimenUtils.pixelsFromSpResource(getContext(),\n                                                           R.dimen.bootstrap_button_default_font_size);\n        baselinePadding = DimenUtils.pixelsFromDpResource(getContext(),\n                                                          R.dimen.bootstrap_alert_paddings);\n        setupAnimations();\n        updateBootstrapState();\n    }\n\n    private void updateBootstrapState() {\n        TextView alertText = new TextView(getContext());\n        closeButton = new ImageView(getContext());\n\n        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {\n            alertText.setId(generateViewUniqueId());\n            closeButton.setId(generateViewUniqueId());\n        }\n        else {\n            alertText.setId(View.generateViewId());\n            closeButton.setId(View.generateViewId());\n        }\n\n\n        LayoutParams textParams = new LayoutParams(LayoutParams.MATCH_PARENT,\n                                                   LayoutParams.WRAP_CONTENT);\n        LayoutParams closeParams = new LayoutParams(LayoutParams.WRAP_CONTENT,\n                                                    LayoutParams.WRAP_CONTENT);\n        textParams.addRule(RelativeLayout.LEFT_OF, closeButton.getId());\n        closeParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);\n\n        alertText.setLayoutParams(textParams);\n        alertText.setTextSize(baselineFontSize);\n        alertText.setGravity(Gravity.START);\n        alertText.setTextColor(\n                BootstrapDrawableFactory.bootstrapButtonText(getContext(), true, bootstrapBrand));\n        alertText.setText(Html.fromHtml(String.format(\"<b>%s</b>%s\", strongText,\n                                                      (strongText.length() > 0 ?\n                                                              \"&nbsp;\" + messageText :\n                                                              messageText))));\n\n        closeButton.setLayoutParams(closeParams);\n        Drawable buttonBg = BootstrapDrawableFactory.bootstrapAlertCloseIcon(\n                getContext(), (int) baselineFontSize, (int) baselineFontSize,\n                DimenUtils.dpToPixels(6));\n\n        ViewUtils.setBackgroundDrawable(closeButton, buttonBg);\n\n        Drawable bg = BootstrapDrawableFactory.bootstrapAlert(getContext(), bootstrapBrand);\n        ViewUtils.setBackgroundDrawable(this, bg);\n\n        addView(alertText);\n\n        if (userDismissible) {\n            addView(closeButton);\n            ((View) closeButton.getParent()).post(new Runnable() {\n                @Override\n                public void run() {\n                    Rect bounds = new Rect();\n                    closeButton.getHitRect(bounds);\n                    bounds.top -= DimenUtils.dpToPixels(6);\n                    bounds.bottom += DimenUtils.dpToPixels(6);\n                    bounds.left -= DimenUtils.dpToPixels(6);\n                    bounds.right += DimenUtils.dpToPixels(6);\n                    TouchDelegate touchDelegate = new TouchDelegate(bounds, closeButton);\n                    if (View.class.isInstance(closeButton.getParent())) {\n                        ((View) closeButton.getParent()).setTouchDelegate(touchDelegate);\n                    }\n                }\n            });\n            closeButton.setOnClickListener(new OnClickListener() {\n                @Override\n                public void onClick(View v) {\n                    dismiss(true);\n                }\n            });\n        }\n\n        int vert = (int) (baselinePadding * 1.5);\n        int hori = (int) (baselinePadding * 1.5);\n        setPadding(hori, vert, hori, vert);\n    }\n\n    private void setupAnimations() {\n        fadeInAnimation = new AlphaAnimation(0.0f, 1.0f);\n        fadeInAnimation.setDuration(300);\n        fadeInAnimation.setInterpolator(new AccelerateInterpolator());\n        fadeInAnimation.setAnimationListener(this);\n\n        fadeOutAnimation = new AlphaAnimation(1.0f, 0.0f);\n        fadeOutAnimation.setDuration(300);\n        fadeOutAnimation.setInterpolator(new AccelerateInterpolator());\n        fadeOutAnimation.setAnimationListener(this);\n    }\n\n    /**\n     * Hides the alert with an animation, setting its visibility to {@link View#GONE}\n     * @param  animated whether the dismissal should be animated or not\n     */\n    public void dismiss(boolean animated) {\n        if (animated) {\n            if (visibilityChangeListener != null) {\n                visibilityChangeListener.onAlertDismissStarted(this);\n            }\n            startAnimation(fadeOutAnimation);\n        }\n        else {\n            setVisibility(GONE);\n        }\n    }\n\n    /**\n     * Shows the alert with an animation, setting its visibility to {@link View#VISIBLE}\n     * @param  animated whether the appearance should be animated or not\n     */\n    public void show(boolean animated) {\n        if (animated) {\n            if (visibilityChangeListener != null) {\n                visibilityChangeListener.onAlertAppearStarted(this);\n            }\n            startAnimation(fadeInAnimation);\n        }\n        else {\n            setVisibility(VISIBLE);\n        }\n    }\n\n    /**\n     * Retrieves whether the user can dismiss the dialog or not\n     * @return true if dismissable\n     */\n    public boolean isUserDismissible() {\n        return userDismissible;\n    }\n\n    /**\n     * Sets whether the user can dismiss the dialog or not.\n     * @param userDismissible true if dismissable\n     */\n    public void setUserDismissible(boolean userDismissible) {\n        this.userDismissible = userDismissible;\n        updateBootstrapState();\n    }\n\n    /**\n     * Sets a {@link VisibilityChangeListener} that will be notified on changes\n     *\n     * @param visibilityChangeListener the listener\n     */\n    public void setVisibilityChangeListener(VisibilityChangeListener visibilityChangeListener) {\n        this.visibilityChangeListener = visibilityChangeListener;\n    }\n\n    private int generateViewUniqueId() {\n        for (; ; ) {\n            final int result = nextGeneratedId.get();\n            // aapt-generated IDs have the high byte nonzero; clamp to the range under that.\n            int newValue = result + 1;\n            if (newValue > 0x00FFFFFF) {\n                newValue = 1; // Roll over to 1, not 0.\n            }\n            if (nextGeneratedId.compareAndSet(result, newValue)) {\n                return result;\n            }\n        }\n    }\n\n    @Override\n    public void setVisibility(int visibility) {\n        super.setVisibility(visibility);\n\n        if (visibilityChangeListener != null) {\n            if (GONE == visibility) {\n                visibilityChangeListener.onAlertDismissCompletion(this);\n            }\n            else if (VISIBLE == visibility) {\n                visibilityChangeListener.onAlertAppearCompletion(this);\n            }\n        }\n    }\n\n    // Animation change listener\n\n    @Override\n    public void onAnimationStart(Animation animation) {\n\n    }\n\n    @Override\n    public void onAnimationEnd(Animation animation) {\n\n        if (animation == fadeInAnimation) {\n            setVisibility(VISIBLE);\n        }\n        else if (animation == fadeOutAnimation) {\n            setVisibility(GONE);\n        }\n        else {\n            throw new IllegalStateException(\"Unsupported animation attempted to use this listener\");\n        }\n    }\n\n    @Override\n    public void onAnimationRepeat(Animation animation) {\n\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapBadge.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.drawable.Drawable;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\nimport android.widget.ImageView;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBadgeView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\n/**\n * See\n *\n * <a href=\"http://getbootstrap.com/components/#badges\">http://getbootstrap.com/components/#badges</a>\n */\n@BetaApi\npublic class BootstrapBadge extends ImageView implements BootstrapSizeView, BootstrapBrandView,\n                                                         BootstrapBadgeView {\n\n    private String badgeText;\n    private int size;\n    private boolean insideContainer;\n    private BootstrapBrand bootstrapBrand = DefaultBootstrapBrand.REGULAR;\n    private float bootstrapSize;\n    private Drawable badgeDrawable;\n\n    public BootstrapBadge(Context context) {\n        super(context);\n        init(null);\n    }\n\n    public BootstrapBadge(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        init(attrs);\n    }\n\n    public BootstrapBadge(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        init(attrs);\n    }\n\n    private void init(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapBadge);\n\n        try {\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapBadge_bootstrapSize, -1);\n\n            if (badgeText == null) {\n                badgeText = a.getString(R.styleable.BootstrapBadge_badgeText);\n            }\n\n            bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal)\n                                                .scaleFactor();\n        }\n        finally {\n            a.recycle();\n        }\n\n        size = (int) DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_badge_default_size);\n        updateBootstrapState();\n    }\n\n    private void updateBootstrapState() {\n        badgeDrawable = BootstrapDrawableFactory.createBadgeDrawable(getContext(), bootstrapBrand,\n                                                                     (int) (size * bootstrapSize),\n                                                                     (int) (size * bootstrapSize),\n                                                                     badgeText,\n                                                                     insideContainer);\n\n        ViewUtils.setBackgroundDrawable(this, badgeDrawable);\n    }\n\n    Drawable getBadgeDrawable() {\n        return badgeDrawable;\n    }\n\n    @Override public String getBadgeText() {\n        return badgeText;\n    }\n\n    @Override public void setBadgeText(String badgeText) {\n        this.badgeText = badgeText;\n        updateBootstrapState();\n    }\n\n    public void setBootstrapBrand(BootstrapBrand bootstrapBrand, boolean insideContainer) {\n        this.insideContainer = insideContainer;\n        setBootstrapBrand(bootstrapBrand);\n    }\n\n    @Override\n    public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n        updateBootstrapState();\n    }\n\n    @NonNull\n    @Override\n    public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @Override\n    public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        this.bootstrapSize = bootstrapSize.scaleFactor();\n        updateBootstrapState();\n    }\n\n    @Override\n    public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n        updateBootstrapState();\n    }\n\n    @Override\n    public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapBaseThumbnail.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.annotation.TargetApi;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.NonNull;\nimport android.support.annotation.Nullable;\nimport android.util.AttributeSet;\nimport android.widget.ImageView;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.BorderView;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\n\nimport java.io.Serializable;\n\nimport static android.widget.ImageView.ScaleType.CENTER_CROP;\n\n/**\n * Parent class of Circle and Square Thumbnails - contains boilerplate code required to get\n * BootstrapBrand and borders working via getters/setters. Also overrides ImageView so that only\n * CENTER_CROP is allowed, and a callback is fired whenever the image source changes.\n */\nabstract class BootstrapBaseThumbnail extends ImageView implements BootstrapBrandView,\n        BorderView, BootstrapSizeView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapBaseThumbnail\";\n\n    protected BootstrapBrand bootstrapBrand;\n    protected boolean hasBorder;\n\n    protected float baselineBorderWidth;\n    protected float baselineOuterBorderWidth;\n    protected float bootstrapSize;\n\n    protected Bitmap sourceBitmap;\n    protected final Paint placeholderPaint = new Paint();\n    protected final Paint borderPaint = new Paint();\n    protected final Paint imagePaint = new Paint();\n\n    public BootstrapBaseThumbnail(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapBaseThumbnail(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapBaseThumbnail(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    protected void initialise(AttributeSet attrs) {\n        this.baselineOuterBorderWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bthumbnail_outer_stroke);\n        this.baselineBorderWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bthumbnail_default_border);\n        setupPaints();\n        updateImageState();\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n\n        bundle.putSerializable(BootstrapBrandView.KEY, bootstrapBrand);\n        bundle.putBoolean(BorderView.KEY_DISPLAYED, hasBorder);\n        bundle.putFloat(BootstrapSizeView.KEY, bootstrapSize);\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            this.hasBorder = bundle.getBoolean(BorderView.KEY_DISPLAYED);\n            this.bootstrapSize = bundle.getFloat(BootstrapSizeView.KEY);\n\n            Serializable brand = bundle.getSerializable(BootstrapBrandView.KEY);\n\n            if (brand instanceof BootstrapBrand) {\n                this.bootstrapBrand = (BootstrapBrand) brand;\n            }\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateImageState();\n    }\n\n    private void setupPaints() {\n        int strokeColor = bootstrapBrand.defaultEdge(getContext());\n        int placeholderColor = ColorUtils.resolveColor(R.color.bootstrap_gray_light, getContext());\n\n        borderPaint.setColor(strokeColor);\n        borderPaint.setAntiAlias(true);\n        borderPaint.setStrokeWidth(baselineBorderWidth);\n        borderPaint.setStyle(Paint.Style.STROKE);\n        imagePaint.setAntiAlias(true);\n\n        placeholderPaint.setColor(placeholderColor);\n        placeholderPaint.setAntiAlias(true);\n        placeholderPaint.setStyle(Paint.Style.FILL);\n    }\n\n    @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) {\n        super.onSizeChanged(w, h, oldw, oldh);\n        updateImageState();\n    }\n\n    @Override public void setScaleType(ScaleType scaleType) {\n        if (scaleType != CENTER_CROP) {\n            throw new IllegalArgumentException(\"Only CenterCrop is currently supported by this view\");\n        }\n        else {\n            super.setScaleType(scaleType);\n        }\n    }\n\n    @Override public ScaleType getScaleType() {\n        return CENTER_CROP;\n    }\n\n    /**\n     * @return the original Bitmap source that will be drawn as a circular image\n     */\n    @Nullable private Bitmap getBitmapForView() {\n        Drawable drawable = getDrawable();\n\n        if (drawable == null) {\n            return null;\n        }\n\n        if (drawable instanceof BitmapDrawable) {\n            return ((BitmapDrawable) drawable).getBitmap();\n        }\n        else {\n            int w = drawable.getIntrinsicWidth();\n            int h = drawable.getIntrinsicHeight();\n\n            Bitmap bm = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);\n            drawable.draw(new Canvas(bm));\n            return bm;\n        }\n    }\n\n    /*\n     * Image setter overrides\n     */\n\n    @Override public void setImageBitmap(Bitmap bm) {\n        super.setImageBitmap(bm);\n        this.sourceBitmap = bm;\n        updateImageState();\n    }\n\n    @Override public void setImageDrawable(Drawable drawable) {\n        super.setImageDrawable(drawable);\n        this.sourceBitmap = getBitmapForView();\n        updateImageState();\n    }\n\n    @Override public void setImageResource(int resId) {\n        super.setImageResource(resId);\n        this.sourceBitmap = getBitmapForView();\n        updateImageState();\n    }\n\n    @Override public void setImageURI(Uri uri) {\n        super.setImageURI(uri);\n        this.sourceBitmap = getBitmapForView();\n        updateImageState();\n    }\n\n    /**\n     * Called when the ImageView should alter its source bitmap, then invalidate itself.\n     */\n    protected abstract void updateImageState();\n\n    /*\n     * Getters/Setters\n     */\n\n    @Override public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n        updateImageState();\n    }\n\n    @NonNull @Override public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @TargetApi(16) @Override public void setBorderDisplayed(boolean displayed) {\n        this.hasBorder = displayed;\n        updateImageState();\n    }\n\n    @Override public boolean isBorderDisplayed() {\n        return hasBorder;\n    }\n\n    @Override public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n\n    @Override public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n        updateImageState();\n    }\n\n    @Override public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        setBootstrapSize(bootstrapSize.scaleFactor());\n    }\n\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.drawable.Drawable;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.NonNull;\nimport android.support.annotation.Nullable;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport android.view.ViewParent;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition;\nimport com.beardedhen.androidbootstrap.api.defaults.ButtonMode;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BadgeContainerView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBadgeView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.ButtonModeView;\nimport com.beardedhen.androidbootstrap.api.view.OutlineableView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\nimport java.io.Serializable;\n\n/**\n * BootstrapButtons are regular buttons styled with BootstrapBrand colors, roundable corners, and an\n * 'outlineable' mode. It is possible to group together multiple buttons using BootstrapButtonGroup,\n * allowing the use of different selection modes e.g. Checkbox/Radio group.\n */\npublic class BootstrapButton extends AwesomeTextView implements BootstrapSizeView,\n                                                                OutlineableView, RoundableView, ButtonModeView, BadgeContainerView,\n                                                                BootstrapBadgeView {\n\n\n    /**\n     * instances of this can be used with .setOnCheckedChangedLisener to notify you when the state of a radio, togle or checkbox button has changed.\n     */\n    public interface OnCheckedChangedListener{\n        /**\n         * This method will get called when the state of a radio button, checkbox or toggle button changes.\n         * @param bootstrapButton the view thats state is changing\n         * @param isChecked weather the button is checked or not.\n         */\n        public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked);\n    }\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapButton\";\n    private static final String KEY_MODE = \"com.beardedhen.androidbootstrap.BootstrapButton.MODE\";\n    private static final String KEY_INDEX = \"com.beardedhen.androidbootstrap.BootstrapButton.KEY_INDEX\";\n\n    private int parentIndex;\n    private ViewGroupPosition viewGroupPosition = ViewGroupPosition.SOLO;\n    private ButtonMode buttonMode = ButtonMode.REGULAR;\n\n    private float bootstrapSize;\n\n    private boolean roundedCorners;\n    private boolean showOutline;\n    private boolean mustBeSelected;\n\n    private float baselineFontSize;\n    private float baselineVertPadding;\n    private float baselineHoriPadding;\n    private float baselineStrokeWidth;\n    private float baselineCornerRadius;\n    private BootstrapBadge bootstrapBadge;\n    private String badgeText;\n\n    private OnCheckedChangedListener onCheckedChangedListener;\n\n    public BootstrapButton(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapButton(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapButton(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapButton);\n        viewGroupPosition = ViewGroupPosition.SOLO;\n\n        try {\n            this.roundedCorners = a.getBoolean(R.styleable.BootstrapButton_roundedCorners, false);\n            this.showOutline = a.getBoolean(R.styleable.BootstrapButton_showOutline, false);\n            this.mustBeSelected = a.getBoolean(R.styleable.BootstrapButton_checked, false);\n            this.badgeText = a.getString(R.styleable.BootstrapButton_badgeText);\n\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapButton_bootstrapSize, -1);\n            int modeOrdinal = a.getInt(R.styleable.BootstrapButton_buttonMode, -1);\n\n            bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n            buttonMode = ButtonMode.fromAttributeValue(modeOrdinal);\n        }\n        finally {\n            a.recycle();\n        }\n\n        baselineFontSize = DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_button_default_font_size);\n        baselineVertPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_vert_padding);\n        baselineHoriPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_hori_padding);\n        baselineStrokeWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_edge_width);\n        baselineCornerRadius = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_corner_radius);\n\n        updateBootstrapState();\n\n        if (badgeText != null) {\n            setBadge(new BootstrapBadge(getContext()));\n            setBadgeText(badgeText);\n        }\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n\n        bundle.putBoolean(RoundableView.KEY, roundedCorners);\n        bundle.putBoolean(OutlineableView.KEY, showOutline);\n        bundle.putInt(KEY_INDEX, parentIndex);\n        bundle.putFloat(BootstrapSizeView.KEY, bootstrapSize);\n        bundle.putSerializable(KEY_MODE, buttonMode);\n\n        if (bootstrapBadge != null) {\n            bundle.putString(BadgeContainerView.KEY, bootstrapBadge\n                    .getBadgeText());\n        }\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            this.roundedCorners = bundle.getBoolean(RoundableView.KEY);\n            this.showOutline = bundle.getBoolean(OutlineableView.KEY);\n            this.parentIndex = bundle.getInt(KEY_INDEX);\n            this.bootstrapSize = bundle.getFloat(BootstrapSizeView.KEY);\n\n            if (bootstrapBadge != null) {\n                setBadgeText(bundle.getString(BadgeContainerView.KEY));\n            }\n\n            Serializable m = bundle.getSerializable(KEY_MODE);\n\n            if (m instanceof ButtonMode) {\n                buttonMode = (ButtonMode) m;\n            }\n        }\n        super.onRestoreInstanceState(state);\n    }\n\n    @Override protected void updateBootstrapState() {\n        super.updateBootstrapState();\n        BootstrapBrand bootstrapBrand = getBootstrapBrand();\n\n        float cornerRadius = baselineCornerRadius;\n        float strokeWidth = baselineStrokeWidth;\n\n        final float fontSize = baselineFontSize * bootstrapSize;\n        setTextSize(fontSize);\n\n        cornerRadius *= bootstrapSize;\n        strokeWidth *= bootstrapSize;\n\n        setTextColor(BootstrapDrawableFactory.bootstrapButtonText(\n                getContext(),\n                showOutline,\n                bootstrapBrand));\n\n        Drawable bg = BootstrapDrawableFactory.bootstrapButton(\n                getContext(),\n                bootstrapBrand,\n                (int) strokeWidth,\n                (int) cornerRadius,\n                viewGroupPosition,\n                showOutline,\n                roundedCorners);\n\n        ViewUtils.setBackgroundDrawable(this, bg);\n\n        int vert = (int) (baselineVertPadding * bootstrapSize);\n        int hori = (int) (baselineHoriPadding * bootstrapSize);\n        setPadding(hori, vert, hori, vert);\n    }\n\n    @Override public boolean onTouchEvent(@NonNull MotionEvent event) {\n        switch (buttonMode) {\n            case REGULAR:\n                return super.onTouchEvent(event);\n            case TOGGLE:\n                return handleToggle(event);\n            case CHECKBOX:\n                return handleToggle(event);\n            case RADIO:\n                return handleRadioEvent(event);\n            default:\n                return super.onTouchEvent(event);\n        }\n    }\n\n    @Override\n    public void setSelected(boolean selected) {\n        super.setSelected(selected);\n        if (onCheckedChangedListener != null) {\n            onCheckedChangedListener.OnCheckedChanged(this, selected);\n        }\n    }\n\n    private boolean handleRadioEvent(@NonNull MotionEvent event) {\n        if (event.getAction() == MotionEvent.ACTION_DOWN) {\n            setSelected(true); // notify parent to deselect any peers\n\n            ViewParent parent = getParent();\n\n            if (parent instanceof BootstrapButtonGroup) {\n                ((BootstrapButtonGroup) parent).onRadioToggle(parentIndex);\n            }\n            return true;\n        }\n        else {\n            return false;\n        }\n    }\n\n    private boolean handleToggle(@NonNull MotionEvent event) {\n        if (event.getAction() == MotionEvent.ACTION_DOWN) {\n            setSelected(!isSelected());\n            return true;\n        }\n        else {\n            return false;\n        }\n    }\n\n    /**\n     * Called by the ViewParent, notifies the child of its position so that it can update its\n     * drawable to match the position\n     *\n     * @param viewGroupPosition the position in the ViewGroup\n     */\n    void setViewGroupPosition(ViewGroupPosition viewGroupPosition, int parentIndex) {\n        this.viewGroupPosition = viewGroupPosition;\n        this.parentIndex = parentIndex;\n        updateBootstrapState();\n    }\n\n    void updateFromParent(BootstrapBrand bootstrapBrand,\n                          float bootstrapSize,\n                          ButtonMode buttonMode,\n                          boolean outline,\n                          boolean rounded) { // called when viewparent attrs are updated\n\n        // called by BootstrapButtonGroup when updating state all at once\n\n        this.bootstrapSize = bootstrapSize;\n        this.buttonMode = buttonMode;\n        this.showOutline = outline;\n        this.roundedCorners = rounded;\n        setBootstrapBrand(bootstrapBrand);\n        updateBootstrapState();\n    }\n\n    @Override public void displayBadgeDrawable() {\n        if (bootstrapBadge != null) {\n            Drawable badgeDrawable = this.bootstrapBadge.getBadgeDrawable();\n\n            if (badgeDrawable != null) {\n                setCompoundDrawablesWithIntrinsicBounds(\n                        null,\n                        null, badgeDrawable,\n                        null);\n                setCompoundDrawablePadding(DimenUtils.dpToPixels(4));\n            }\n        }\n    }\n\n    /*\n     * Getters/Setters\n     */\n\n    public boolean isMustBeSelected() {\n        return mustBeSelected;\n    }\n\n    public void setChecked(boolean checked) {\n        this.mustBeSelected = checked;\n    }\n\n    @Override public boolean isShowOutline() {\n        return showOutline;\n    }\n\n    @Override public boolean isRounded() {\n        return roundedCorners;\n    }\n\n    @Override public void setShowOutline(boolean showOutline) {\n        this.showOutline = showOutline;\n        updateBootstrapState();\n    }\n\n    @Override public void setRounded(boolean rounded) {\n        this.roundedCorners = rounded;\n        updateBootstrapState();\n    }\n\n    @NonNull @Override public ButtonMode getButtonMode() {\n        return buttonMode;\n    }\n\n    @Override public void setButtonMode(@NonNull ButtonMode buttonMode) {\n        this.buttonMode = buttonMode;\n    }\n\n    @Override public void setBadge(BootstrapBadge badge) {\n        this.bootstrapBadge = badge;\n        this.bootstrapBadge.setBootstrapBrand(getBootstrapBrand(), true);\n        this.bootstrapBadge.setBootstrapSize(getBootstrapSize());\n        displayBadgeDrawable();\n    }\n\n    @Nullable\n    @Override\n    public String getBadgeText() {\n        return bootstrapBadge != null ? bootstrapBadge.getBadgeText() : null;\n    }\n\n    @Override\n    public void setBadgeText(@Nullable String badgeText) {\n        if (bootstrapBadge != null) {\n            this.badgeText = badgeText;\n            this.bootstrapBadge.setBadgeText(this.badgeText);\n            displayBadgeDrawable();\n        }\n    }\n\n    @Override public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n\n    @Override public BootstrapBadge getBootstrapBadge() {\n        return bootstrapBadge;\n    }\n\n    @Override public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        setBootstrapSize(bootstrapSize.scaleFactor());\n    }\n\n    @Override public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n        updateBootstrapState();\n    }\n\n    /**\n     * NOTE this method only works if the buttons mode is not set to regular.\n     * for non Toggle, checkbox and radio see {@link BootstrapButton#setOnClickListener}\n     * @param listener OnCheckedChangedListener that will be fired when the schecked state ofa button is changed.\n     */\n    public void setOnCheckedChangedListener(OnCheckedChangedListener listener){\n        onCheckedChangedListener = listener;\n    }\n\n    /**\n     * NOTE this method only works if the buttons mode is set to regular.\n     * for Toggle, checkbox and radio see {@link BootstrapButton#setOnCheckedChangedListener}\n     * @param l OnClickListener that will be fired on click.\n     */\n    @Override\n    public void setOnClickListener(OnClickListener l) {\n        super.setOnClickListener(l);\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButtonGroup.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.IdRes;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\nimport android.view.View;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition;\nimport com.beardedhen.androidbootstrap.api.defaults.ButtonMode;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.ButtonModeView;\nimport com.beardedhen.androidbootstrap.api.view.OutlineableView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\n\nimport java.io.Serializable;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.BOTTOM;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.END;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.MIDDLE_HORI;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.MIDDLE_VERT;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.SOLO;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.START;\nimport static com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition.TOP;\n\n/**\n * BootstrapButtonGroups are a LinearLayout which exclusively holds BootstrapButtons. It is possible\n * to set the properties of all children with one method call to this view. Options include\n * BootstrapBrand colors, roundable corners, 'outlineable' mode and different selection modes\n * e.g. Checkbox/Radio group.\n * If button mode is set to radio only one button is a button group may be selected at a time.\n */\npublic class BootstrapButtonGroup extends BootstrapGroup implements BootstrapSizeView,\n        OutlineableView, RoundableView, BootstrapBrandView, ButtonModeView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapButtonGroup\";\n    private static final String KEY_MODE = \"com.beardedhen.androidbootstrap.BootstrapButtonGroup.MODE\";\n\n    private float bootstrapSize;\n    private ButtonMode buttonMode;\n    private BootstrapBrand bootstrapBrand;\n\n    private boolean rounded;\n    private boolean outline;\n\n    private int checkedButtonId = 0;\n\n    public BootstrapButtonGroup(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapButtonGroup(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapButtonGroup(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    protected void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapButtonGroup);\n\n        try {\n            this.rounded = a.getBoolean(R.styleable.BootstrapButtonGroup_roundedCorners, false);\n            this.outline = a.getBoolean(R.styleable.BootstrapButtonGroup_showOutline, false);\n\n            int typeOrdinal = a.getInt(R.styleable.BootstrapButtonGroup_buttonMode, -1);\n            int brandOrdinal = a.getInt(R.styleable.BootstrapButtonGroup_bootstrapBrand, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapButtonGroup_bootstrapSize, -1);\n\n            this.checkedButtonId = a.getResourceId(R.styleable.BootstrapButtonGroup_checkedButton, 0);\n            this.buttonMode = ButtonMode.fromAttributeValue(typeOrdinal);\n            this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(brandOrdinal);\n            this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n        }\n        finally {\n            a.recycle();\n        }\n        updateBootstrapGroup();\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n\n        bundle.putSerializable(KEY_MODE, buttonMode);\n        bundle.putSerializable(BootstrapBrand.KEY, bootstrapBrand);\n\n        bundle.putBoolean(RoundableView.KEY, rounded);\n        bundle.putBoolean(OutlineableView.KEY, outline);\n\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            outline = bundle.getBoolean(OutlineableView.KEY);\n            rounded = bundle.getBoolean(RoundableView.KEY);\n\n            Serializable brand = bundle.getSerializable(BootstrapBrand.KEY);\n            Serializable m = bundle.getSerializable(KEY_MODE);\n\n            if (m instanceof ButtonMode) {\n                buttonMode = (ButtonMode) m;\n            }\n            if (brand instanceof BootstrapBrand) {\n                bootstrapBrand = (BootstrapBrand) brand;\n            }\n\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateBootstrapGroup();\n    }\n\n    @Override\n    protected void onBootstrapViewAdded() {\n        updateBootstrapGroup();\n    }\n\n    @Override\n    protected void onBootstrapViewRemoved() {\n        updateBootstrapGroup();\n    }\n\n    protected void updateBootstrapGroup() {\n        int childCount = getChildCount();\n        int orientation = getOrientation();\n\n        // tell children their position so they can draw backgrounds appropriately\n\n        if (childCount == 0) {\n            return;\n        }\n        else if (childCount == 1) {\n            BootstrapButton button = retrieveButtonChild(0);\n            button.setViewGroupPosition(SOLO, 0);\n        }\n\n        List<BootstrapButton> buttonList = new ArrayList<>();\n\n        for (int i = 0; i < childCount; i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n\n            if (button.getVisibility() == VISIBLE) {\n                buttonList.add(button);\n            }\n        }\n\n        final int size = buttonList.size();\n        for (int i = 0; i < size; i++) {\n            BootstrapButton button = buttonList.get(i);\n            ViewGroupPosition position;\n\n            if (i == 0) { // first view\n                position = orientation == HORIZONTAL ? START : TOP;\n            }\n            else if (i == size - 1) { // last view\n                position = orientation == HORIZONTAL ? END : BOTTOM;\n            }\n            else {\n                position = orientation == HORIZONTAL ? MIDDLE_HORI : MIDDLE_VERT;\n            }\n            button.setViewGroupPosition(position, i);\n            button.updateFromParent(bootstrapBrand, bootstrapSize, buttonMode, outline, rounded);\n            if (buttonMode == ButtonMode.RADIO && button.isMustBeSelected()) {\n                button.setSelected(true);\n                onRadioToggle(i);\n                checkedButtonId = 0; //BootstrapButton \"checked\" attribute is preferable\n            }\n            else if (buttonMode == ButtonMode.RADIO && button.getId() == checkedButtonId) {\n                button.setSelected(true);\n                onRadioToggle(i);\n            }\n        }\n    }\n\n    private BootstrapButton retrieveButtonChild(int i) {\n        View view = getChildAt(i);\n\n        if ((view instanceof BootstrapButton)) {\n            return (BootstrapButton) view;\n        }\n        else {\n            throw new IllegalStateException(\"All child view of BootstrapButtonGroup must be BootstrapButtons\");\n        }\n    }\n\n    /**\n     * Used for Radio Group Mode - resets all children to an unselected state,\n     * apart from the calling Button.\n     *\n     * @param index the index of the button becoming selected\n     */\n    void onRadioToggle(int index) {\n        for (int i = 0; i < getChildCount(); i++) {\n\n            if (i != index) {\n                BootstrapButton b = retrieveButtonChild(i);\n                b.setSelected(false);\n            }\n        }\n    }\n\n    /*\n     * Getters / Setters\n     */\n\n    public void check(@IdRes int id) {\n        this.checkedButtonId = id;\n    }\n\n    @Override public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n\n    @Override public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        setBootstrapSize(bootstrapSize.scaleFactor());\n    }\n\n    @Override public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n\n        for (int i = 0; i < getChildCount(); i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n            button.setBootstrapSize(this.bootstrapSize);\n        }\n    }\n\n    @NonNull public ButtonMode getButtonMode() {\n        return buttonMode;\n    }\n\n    public void setButtonMode(@NonNull ButtonMode buttonMode) {\n        this.buttonMode = buttonMode;\n\n        for (int i = 0; i < getChildCount(); i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n            button.setButtonMode(buttonMode);\n        }\n    }\n\n    @Override public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n\n        for (int i = 0; i < getChildCount(); i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n            button.setBootstrapBrand(bootstrapBrand);\n        }\n    }\n\n    @NonNull @Override public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @Override public void setShowOutline(boolean showOutline) {\n        this.outline = showOutline;\n\n        for (int i = 0; i < getChildCount(); i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n            button.setShowOutline(outline);\n        }\n    }\n\n    @Override public boolean isShowOutline() {\n        return outline;\n    }\n\n    @Override public void setRounded(boolean rounded) {\n        this.rounded = rounded;\n\n        for (int i = 0; i < getChildCount(); i++) {\n            BootstrapButton button = retrieveButtonChild(i);\n            button.setRounded(rounded);\n        }\n    }\n\n    @Override public boolean isRounded() {\n        return rounded;\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.BitmapShader;\nimport android.graphics.Canvas;\nimport android.graphics.Matrix;\nimport android.graphics.Paint;\nimport android.graphics.RectF;\nimport android.graphics.Shader;\nimport android.graphics.drawable.Drawable;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\n\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\n/**\n * BootstrapCircleThumbnails display a circular image with an optional border, that can be themed\n * using BootstrapBrand colors. The view extends ImageView, and will automatically center crop and\n * scale images.\n */\npublic class BootstrapCircleThumbnail extends BootstrapBaseThumbnail {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\";\n\n    private final RectF imageRectF = new RectF();\n    private final Matrix matrix = new Matrix();\n\n    public BootstrapCircleThumbnail(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapCircleThumbnail(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapCircleThumbnail(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    protected void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapCircleThumbnail);\n\n        try {\n            int typeOrdinal = a.getInt(R.styleable.BootstrapCircleThumbnail_bootstrapBrand, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapCircleThumbnail_bootstrapSize, -1);\n\n            this.hasBorder = a.getBoolean(R.styleable.BootstrapCircleThumbnail_hasBorder, true);\n            this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n\n            if (typeOrdinal == -1) { // override to use Primary for default border (looks nicer)\n                this.bootstrapBrand = DefaultBootstrapBrand.PRIMARY;\n            }\n            else {\n                this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n            }\n        }\n        finally {\n            a.recycle();\n        }\n\n        baselineOuterBorderWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bthumbnail_outer_stroke);\n        super.initialise(attrs);\n    }\n\n    /**\n     * This method is called when the Circle Image needs to be recreated due to changes in size etc.\n     * A Paint object uses a BitmapShader to draw a center-cropped, circular image onto the View\n     * Canvas. A Matrix on the BitmapShader scales the original Bitmap to match the current view\n     * bounds, avoiding any inefficiencies in duplicating Bitmaps.\n     * <a href=\"http://www.curious-creature.com/2012/12/11/android-recipe-1-image-with-rounded-corners\">\n     * Further reading</a>\n     */\n    protected void updateImageState() {\n        float viewWidth = getWidth();\n        float viewHeight = getHeight();\n\n        if ((int) viewWidth <= 0 || (int) viewHeight <= 0) {\n            return;\n        }\n\n        if (sourceBitmap != null) {\n            BitmapShader imageShader = new BitmapShader(sourceBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);\n            imagePaint.setShader(imageShader);\n\n            // Scale the bitmap using a matrix, ensuring that it always matches the view bounds.\n            float bitmapWidth = sourceBitmap.getWidth();\n            float bitmapHeight = sourceBitmap.getHeight();\n\n            float scaleFactor = (bitmapWidth < bitmapHeight) ? bitmapWidth : bitmapHeight;\n            float xScale = viewWidth / scaleFactor;\n            float yScale = viewHeight / scaleFactor;\n\n            // Translate image to center crop (if it is not a perfect square bitmap)\n            float dx = 0;\n            float dy = 0;\n\n            if (bitmapWidth > bitmapHeight) {\n                dx = (viewWidth - bitmapWidth * xScale) * 0.5f;\n            }\n            else if (bitmapHeight > bitmapWidth) {\n                dy = (viewHeight - bitmapHeight * yScale) * 0.5f;\n            }\n\n            matrix.set(null);\n            matrix.setScale(xScale, yScale);\n            matrix.postTranslate((dx + 0.5f), (dy + 0.5f));\n\n            imageShader.setLocalMatrix(matrix);\n            imageRectF.set(0, 0, viewWidth, viewHeight);\n        }\n        updateBackground();\n        invalidate();\n    }\n\n    @Override protected void onDraw(@NonNull Canvas canvas) {\n        float viewWidth = getWidth();\n        float viewHeight = getHeight();\n\n        if ((int) viewWidth <= 0 || (int) viewHeight <= 0) {\n            return;\n        }\n\n        boolean isPlaceholder = sourceBitmap == null;\n\n        // draw the image paint first, then draw a border as a Stroke paint (if needed)\n        float center = viewWidth / 2;\n        float imageRadius = center;\n\n        if (hasBorder) {\n            imageRadius -= (baselineBorderWidth * bootstrapSize);\n        }\n\n        Paint paint = (isPlaceholder) ? placeholderPaint : imagePaint;\n        canvas.drawCircle(center, center, imageRadius, paint);\n    }\n\n    @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\n        super.onMeasure(widthMeasureSpec, heightMeasureSpec);\n\n        int w = MeasureSpec.getSize(widthMeasureSpec); // AT_MOST/EXACTLY are used by default\n        int h = MeasureSpec.getSize(heightMeasureSpec);\n\n        if (sourceBitmap != null) {\n            if (MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.UNSPECIFIED) {\n                w = sourceBitmap.getWidth();\n            }\n            if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.UNSPECIFIED) {\n                h = sourceBitmap.getHeight();\n            }\n        }\n\n        if (w > h) { // no ovals allowed\n            w = h;\n        }\n        if (h > w) {\n            h = w;\n        }\n        setMeasuredDimension(w, h);\n    }\n\n    private void updateBackground() {\n        Drawable bg = null;\n\n        if (hasBorder) {\n            bg = BootstrapDrawableFactory.bootstrapCircleThumbnail(\n                    getContext(),\n                    bootstrapBrand,\n                    (int) (baselineOuterBorderWidth * bootstrapSize),\n                    ColorUtils.resolveColor(R.color.bootstrap_thumbnail_background, getContext()));\n        }\n        ViewUtils.setBackgroundDrawable(this, bg);\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Path;\nimport android.graphics.Rect;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.graphics.drawable.StateListDrawable;\nimport android.os.Build;\nimport android.support.annotation.ColorInt;\nimport android.text.TextPaint;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.ExpandDirection;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\n\n/**\n * Provides a factory for generating Drawables which are used as the backgrounds for Bootstrap Views.\n * This avoids needing to define hundreds of XML resource files.\n */\nclass BootstrapDrawableFactory {\n\n    /**\n     * Generates a background drawable for a Bootstrap Button\n     *\n     * @param context      the current context\n     * @param brand        the bootstrap brand\n     * @param strokeWidth  the stroke width in px\n     * @param cornerRadius the corner radius in px\n     * @param position     the position of the button in its parent view\n     * @param showOutline  whether the button should be outlined\n     * @param rounded      whether the corners should be rounded\n     * @return a background drawable for the BootstrapButton\n     */\n    static Drawable bootstrapButton(Context context,\n                                    BootstrapBrand brand,\n                                    int strokeWidth,\n                                    int cornerRadius,\n                                    ViewGroupPosition position,\n                                    boolean showOutline,\n                                    boolean rounded) {\n\n        GradientDrawable defaultGd = new GradientDrawable();\n        GradientDrawable activeGd = new GradientDrawable();\n        GradientDrawable disabledGd = new GradientDrawable();\n\n        defaultGd.setColor(showOutline ? Color.TRANSPARENT : brand.defaultFill(context));\n        activeGd.setColor(showOutline ? brand.activeFill(context) : brand.activeFill(context));\n        disabledGd.setColor(showOutline ? Color.TRANSPARENT : brand.disabledFill(context));\n\n        defaultGd.setStroke(strokeWidth, brand.defaultEdge(context));\n        activeGd.setStroke(strokeWidth, brand.activeEdge(context));\n        disabledGd.setStroke(strokeWidth, brand.disabledEdge(context));\n\n        if (showOutline && brand instanceof DefaultBootstrapBrand) {\n            DefaultBootstrapBrand db = (DefaultBootstrapBrand) brand;\n\n            if (db == DefaultBootstrapBrand.SECONDARY) {\n                int color = ColorUtils.resolveColor(R.color.bootstrap_brand_secondary_border, context);\n\n                defaultGd.setStroke(strokeWidth, color);\n                activeGd.setStroke(strokeWidth, color);\n                disabledGd.setStroke(strokeWidth, color);\n            }\n        }\n\n        setupDrawableCorners(position, rounded, cornerRadius, defaultGd, activeGd, disabledGd);\n        return setupStateDrawable(position, strokeWidth, defaultGd, activeGd, disabledGd);\n    }\n\n    /**\n     * Generates a Drawable for a Bootstrap Label background, according to state parameters\n     *\n     * @param context        the current context\n     * @param bootstrapBrand the BootstrapBrand theming whose colors should be used\n     * @param rounded        whether the corners should be rounded or not\n     * @param height         the view height in px\n     * @return the Bootstrap Label background\n     */\n    static Drawable bootstrapLabel(Context context,\n                                   BootstrapBrand bootstrapBrand,\n                                   boolean rounded,\n                                   float height) {\n\n        int cornerRadius = (int) DimenUtils.pixelsFromDpResource(context, R.dimen.bootstrap_default_corner_radius);\n\n        GradientDrawable drawable = new GradientDrawable();\n        drawable.setColor(bootstrapBrand.defaultFill(context));\n\n        // corner radius should be half height if rounded as a \"Pill\" label\n        drawable.setCornerRadius(rounded ? height / 2 : cornerRadius);\n        return drawable;\n    }\n\n    /**\n     * Generates a Drawable for a Bootstrap Edit Text background\n     *\n     * @param context        the current context\n     * @param bootstrapBrand the BootstrapBrand theming whose colors should be used\n     * @param rounded        whether the corners should be rounded or not\n     * @return the Bootstrap Edit Text background\n     */\n    static Drawable bootstrapEditText(Context context,\n                                      BootstrapBrand bootstrapBrand,\n                                      float strokeWidth,\n                                      float cornerRadius,\n                                      boolean rounded) {\n\n        StateListDrawable drawable = new StateListDrawable();\n\n        GradientDrawable activeDrawable = new GradientDrawable();\n        GradientDrawable disabledDrawable = new GradientDrawable();\n        GradientDrawable defaultDrawable = new GradientDrawable();\n\n        activeDrawable.setColor(ColorUtils.resolveColor(android.R.color.white, context));\n        disabledDrawable.setColor(ColorUtils.resolveColor(android.R.color.white, context));\n        defaultDrawable.setColor(ColorUtils.resolveColor(android.R.color.white, context));\n\n        if (rounded) {\n            activeDrawable.setCornerRadius(cornerRadius);\n            disabledDrawable.setCornerRadius(cornerRadius);\n            defaultDrawable.setCornerRadius(cornerRadius);\n        }\n\n        // stroke is larger when focused\n        int defaultBorder = ColorUtils.resolveColor(R.color.bootstrap_brand_secondary_border, context);\n        int disabledBorder = ColorUtils.resolveColor(R.color.bootstrap_edittext_disabled, context);\n\n        activeDrawable.setStroke((int) strokeWidth, bootstrapBrand.defaultEdge(context));\n        disabledDrawable.setStroke((int) strokeWidth, disabledBorder);\n        defaultDrawable.setStroke((int) strokeWidth, defaultBorder);\n\n        drawable.addState(new int[]{android.R.attr.state_focused}, activeDrawable);\n        drawable.addState(new int[]{-android.R.attr.state_enabled}, disabledDrawable);\n        drawable.addState(new int[]{}, defaultDrawable);\n\n        return drawable;\n    }\n\n    static Drawable bootstrapCircleThumbnail(Context context,\n                                             BootstrapBrand bootstrapBrand,\n                                             @ColorInt int outerBorderWidth,\n                                             @ColorInt int bg) {\n\n        GradientDrawable drawable = new GradientDrawable();\n        drawable.setShape(GradientDrawable.OVAL);\n        drawable.setColor(bg);\n        drawable.setStroke(outerBorderWidth, bootstrapBrand.defaultEdge(context));\n        return drawable;\n    }\n\n    static Drawable bootstrapThumbnail(Context context,\n                                       BootstrapBrand bootstrapBrand,\n                                       @ColorInt int outerBorderWidth,\n                                       @ColorInt int bg,\n                                       boolean rounded) {\n\n        GradientDrawable drawable = new GradientDrawable();\n        drawable.setShape(GradientDrawable.RECTANGLE);\n        drawable.setColor(bg);\n        drawable.setStroke(outerBorderWidth, bootstrapBrand.defaultEdge(context));\n\n        float r = DimenUtils.pixelsFromDpResource(context, R.dimen.bthumbnail_rounded_corner);\n\n        if (rounded) {\n            drawable.setCornerRadii(new float[]{r, r, r, r, r, r, r, r});\n        }\n\n        return drawable;\n    }\n\n    static Drawable bootstrapAlert(Context context,\n                                   BootstrapBrand bootstrapBrand) {\n\n        GradientDrawable disabledGd = new GradientDrawable();\n\n        int strokeWidth = context.getResources().getDimensionPixelSize(R.dimen.bootstrap_alert_stroke_width);\n\n        disabledGd.setColor(ColorUtils.increaseOpacityFromInt(context, bootstrapBrand.getColor(),\n                                                            40));\n        disabledGd.setCornerRadius(6);\n        disabledGd.setStroke(strokeWidth, ColorUtils.increaseOpacityFromInt(context, bootstrapBrand.getColor(), 70));\n        return disabledGd;\n    }\n\n    /**\n     * Generates a colorstatelist for a bootstrap button\n     *\n     * @param context the current context\n     * @param outline whether the button is outlined\n     * @param brand   the button brand\n     * @return the color state list\n     */\n    static ColorStateList bootstrapButtonText(Context context, boolean outline, BootstrapBrand brand) {\n\n        int defaultColor = outline ? brand.defaultFill(context) : brand.defaultTextColor(context);\n        int activeColor = outline ? ColorUtils.resolveColor(android.R.color.white, context) : brand.activeTextColor(context);\n        int disabledColor = outline ? brand.disabledFill(context) : brand.disabledTextColor(context);\n\n        if (outline && brand instanceof DefaultBootstrapBrand) { // special case\n            DefaultBootstrapBrand db = (DefaultBootstrapBrand) brand;\n\n            if (db == DefaultBootstrapBrand.SECONDARY) {\n                defaultColor = ColorUtils.resolveColor(R.color.bootstrap_brand_secondary_border, context);\n                disabledColor = defaultColor;\n            }\n        }\n        return new ColorStateList(getStateList(), getColorList(defaultColor, activeColor, disabledColor));\n    }\n\n    static Drawable bootstrapWell(@ColorInt int backgroundColor, int cornerRadius, int strokeWidth, @ColorInt int strokeColor) {\n        GradientDrawable background = new GradientDrawable();\n        background.setColor(backgroundColor);\n        background.setCornerRadius(cornerRadius);\n        background.setStroke(strokeWidth, strokeColor);\n        return background;\n    }\n\n    private static StateListDrawable setupStateDrawable(ViewGroupPosition position, int strokeWidth, GradientDrawable defaultGd, GradientDrawable activeGd, GradientDrawable disabledGd) {\n        StateListDrawable stateListDrawable = new StateListDrawable();\n        LayerDrawable defaultLayer = new LayerDrawable(new Drawable[]{defaultGd});\n        LayerDrawable activeLayer = new LayerDrawable(new Drawable[]{activeGd});\n        LayerDrawable disabledLayer = new LayerDrawable(new Drawable[]{disabledGd});\n\n        LayerDrawable[] ldAry = new LayerDrawable[]{defaultLayer, activeLayer, disabledLayer};\n        int n = strokeWidth * -1;\n\n        // use LayerDrawable to hide strokes on one side of the drawable (if needed), using negative insets\n        if (position != null) {\n            switch (position) {\n                case MIDDLE_HORI:\n                    setInsetOnLayers(ldAry, n, 0, 0, 0);\n                    break;\n                case END:\n                    setInsetOnLayers(ldAry, n, 0, 0, 0);\n                    break;\n                case MIDDLE_VERT:\n                    setInsetOnLayers(ldAry, 0, n, 0, 0);\n                    break;\n                case BOTTOM:\n                    setInsetOnLayers(ldAry, 0, n, 0, 0);\n            }\n        }\n\n        if (Build.VERSION.SDK_INT >= 14) {\n            stateListDrawable.addState(new int[]{android.R.attr.state_hovered}, activeLayer);\n        }\n\n        stateListDrawable.addState(new int[]{android.R.attr.state_activated}, activeLayer);\n        stateListDrawable.addState(new int[]{android.R.attr.state_focused}, activeLayer);\n        stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, activeLayer);\n        stateListDrawable.addState(new int[]{android.R.attr.state_selected}, activeLayer);\n        stateListDrawable.addState(new int[]{-android.R.attr.state_enabled}, disabledLayer);\n        stateListDrawable.addState(new int[]{}, defaultLayer);\n\n        return stateListDrawable;\n    }\n\n    private static void setupDrawableCorners(ViewGroupPosition position, boolean rounded, int r,\n                                             GradientDrawable defaultGd, GradientDrawable activeGd, GradientDrawable disabledGd) {\n        if (rounded) {\n            if (position == ViewGroupPosition.SOLO) {\n                defaultGd.setCornerRadius(r);\n                activeGd.setCornerRadius(r);\n                disabledGd.setCornerRadius(r);\n            }\n            else {\n                float[] radii; // X/Y pairs for top-left, top-right, bottom-right, bottom-left.\n\n                switch (position) {\n                    case MIDDLE_HORI:\n                        radii = new float[]{0, 0, 0, 0, 0, 0, 0, 0};\n                        break;\n                    case MIDDLE_VERT:\n                        radii = new float[]{0, 0, 0, 0, 0, 0, 0, 0};\n                        break;\n                    case TOP:\n                        radii = new float[]{r, r, r, r, 0, 0, 0, 0};\n                        break;\n                    case BOTTOM:\n                        radii = new float[]{0, 0, 0, 0, r, r, r, r};\n                        break;\n                    case START:\n                        radii = new float[]{r, r, 0, 0, 0, 0, r, r,};\n                        break;\n                    case END:\n                        radii = new float[]{0, 0, r, r, r, r, 0, 0};\n                        break;\n                    default:\n                        radii = new float[]{0, 0, 0, 0, 0, 0, 0, 0};\n                        break;\n                }\n\n                defaultGd.setCornerRadii(radii);\n                activeGd.setCornerRadii(radii);\n                disabledGd.setCornerRadii(radii);\n            }\n        }\n    }\n\n    private static int[][] getStateList() {\n        if (Build.VERSION.SDK_INT >= 14) {\n            return new int[][]\n                    {new int[]{android.R.attr.state_hovered}, new int[]{android.R.attr.state_activated},\n                            new int[]{android.R.attr.state_focused}, new int[]{android.R.attr.state_selected},\n                            new int[]{android.R.attr.state_pressed}, new int[]{android.R.attr.state_hovered},\n                            new int[]{-android.R.attr.state_enabled}, new int[]{}};\n        }\n        else {\n            return new int[][]\n                    {new int[]{android.R.attr.state_activated}, new int[]{android.R.attr.state_focused},\n                            new int[]{android.R.attr.state_selected}, new int[]{android.R.attr.state_pressed},\n                            new int[]{android.R.attr.state_hovered}, new int[]{-android.R.attr.state_enabled},\n                            new int[]{}};\n        }\n    }\n\n    private static int[] getColorList(int defaultColor, int activeColor, int disabledColor) {\n        if (Build.VERSION.SDK_INT >= 14) {\n            return new int[]{activeColor, activeColor, activeColor, activeColor, activeColor,\n                    activeColor, disabledColor, defaultColor};\n        }\n        else {\n            return new int[]{activeColor, activeColor, activeColor, activeColor, activeColor,\n                    disabledColor, defaultColor};\n        }\n    }\n\n    static StateListDrawable bootstrapDropDownArrow(Context context, int width, int height, ExpandDirection expandDirection, boolean outline, BootstrapBrand brand) {\n        StateListDrawable stateListDrawable = new StateListDrawable();\n\n        int defaultColor = outline ? brand.defaultFill(context) : brand.defaultTextColor(context);\n        int activeColor = outline ? ColorUtils.resolveColor(android.R.color.white, context) : brand.activeTextColor(context);\n        int disabledColor = outline ? brand.disabledFill(context) : brand.disabledTextColor(context);\n\n        if (Build.VERSION.SDK_INT >= 14) {\n            stateListDrawable.addState(new int[]{android.R.attr.state_hovered}, createArrowIcon(context, width, height, activeColor, expandDirection));\n        }\n\n        stateListDrawable.addState(new int[]{android.R.attr.state_activated}, createArrowIcon(context, width, height, activeColor, expandDirection));\n        stateListDrawable.addState(new int[]{android.R.attr.state_focused}, createArrowIcon(context, width, height, activeColor, expandDirection));\n        stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, createArrowIcon(context, width, height, activeColor, expandDirection));\n        stateListDrawable.addState(new int[]{android.R.attr.state_selected}, createArrowIcon(context, width, height, activeColor, expandDirection));\n        stateListDrawable.addState(new int[]{-android.R.attr.state_enabled}, createArrowIcon(context, width, height, disabledColor, expandDirection));\n        stateListDrawable.addState(new int[]{}, createArrowIcon(context, width, height, defaultColor, expandDirection));\n        return stateListDrawable;\n    }\n\n    static StateListDrawable bootstrapAlertCloseIcon(Context context, int width, int height, int inset) {\n\n        StateListDrawable stateListDrawable = new StateListDrawable();\n\n        int defaultColor = ColorUtils.resolveColor(R.color.bootstrap_alert_cross_default, context);\n        int activeColor = ColorUtils.resolveColor(R.color.bootstrap_gray, context);\n        int disabledColor = ColorUtils.resolveColor(R.color.bootstrap_alert_cross_default, context);\n\n        if (Build.VERSION.SDK_INT >= 14) {\n            stateListDrawable.addState(new int[]{android.R.attr.state_hovered}, createCloseCrossIcon(context, width, height, activeColor, inset));\n        }\n\n        stateListDrawable.addState(new int[]{android.R.attr.state_activated}, createCloseCrossIcon(context, width, height, activeColor, inset));\n        stateListDrawable.addState(new int[]{android.R.attr.state_focused}, createCloseCrossIcon(context, width, height, activeColor, inset));\n        stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, createCloseCrossIcon(context, width, height, activeColor, inset));\n        stateListDrawable.addState(new int[]{android.R.attr.state_selected}, createCloseCrossIcon(context, width, height, activeColor, inset));\n        stateListDrawable.addState(new int[]{-android.R.attr.state_enabled}, createCloseCrossIcon(context, width, height, disabledColor, inset));\n        stateListDrawable.addState(new int[]{}, createCloseCrossIcon(context, width, height, defaultColor, inset));\n        return stateListDrawable;\n    }\n\n    /**\n     * Creates arrow icon that depends on ExpandDirection\n     *\n     * @param context context\n     * @param width  width of icon in pixels\n     * @param height height of icon in pixels\n     * @param color arrow color\n     * @param expandDirection arrow direction\n     * @return icon drawable\n     */\n    private static Drawable createArrowIcon(Context context, int width, int height, int color, ExpandDirection expandDirection) {\n        Bitmap canvasBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);\n        Canvas canvas = new Canvas(canvasBitmap);\n        Paint paint = new Paint();\n        paint.setStyle(Paint.Style.FILL_AND_STROKE);\n        paint.setStrokeWidth(1);\n        paint.setColor(color);\n        paint.setAntiAlias(true);\n        Path path = new Path();\n        path.setFillType(Path.FillType.EVEN_ODD);\n        switch (expandDirection) {\n            case UP:\n                path.moveTo(0, (height / 3) * 2);\n                path.lineTo(width, (height / 3) * 2);\n                path.lineTo(width / 2, height / 3);\n                path.lineTo(0, (height / 3) * 2);\n                break;\n            case DOWN:\n                path.moveTo(0, height / 3);\n                path.lineTo(width, height / 3);\n                path.lineTo(width / 2, (height / 3) * 2);\n                path.lineTo(0, height / 3);\n                break;\n        }\n        path.close();\n        canvas.drawPath(path, paint);\n        return new BitmapDrawable(context.getResources(), canvasBitmap);\n    }\n\n    private static Drawable createCloseCrossIcon(Context context, int width, int height, int color, int inset) {\n        Bitmap canvasBitmap = Bitmap.createBitmap(width + inset * 2, height + inset * 2, Bitmap.Config.ARGB_8888);\n        Canvas canvas = new Canvas(canvasBitmap);\n        Paint paint = new Paint();\n        paint.setStyle(Paint.Style.FILL_AND_STROKE);\n        paint.setStrokeWidth(3);\n        paint.setColor(color);\n        paint.setAntiAlias(true);\n        Path path = new Path();\n        path.setFillType(Path.FillType.EVEN_ODD);\n        path.moveTo(inset, inset);\n        path.lineTo(width + inset, height + inset);\n        path.moveTo(width + inset, inset);\n        path.lineTo(inset, height + inset);\n        path.close();\n        canvas.drawPath(path, paint);\n        return new BitmapDrawable(context.getResources(), canvasBitmap);\n    }\n\n    public static Drawable createBadgeDrawable(Context context, BootstrapBrand brand, int width,\n                                               int height, String badgeText, boolean insideAnObject) {\n\n        if (badgeText == null) {\n            return null;\n        }\n        else {\n            Paint badgePaint = new Paint();\n            Rect canvasBounds = new Rect();\n            TextPaint badgeTextPaint = new TextPaint();\n            badgePaint.setFlags(Paint.ANTI_ALIAS_FLAG);\n            badgeTextPaint.setFlags(Paint.ANTI_ALIAS_FLAG);\n            badgeTextPaint.setTextAlign(Paint.Align.CENTER);\n            badgeTextPaint.setTextSize((float) (height * 0.7));\n\n            if (insideAnObject) {\n                badgePaint.setColor(brand.defaultTextColor(context));\n                badgeTextPaint.setColor(brand.defaultFill(context));\n            }\n            else {\n                badgePaint.setColor(brand.defaultFill(context));\n                badgeTextPaint.setColor(brand.defaultTextColor(context));\n            }\n\n            int rectLength = (int) badgeTextPaint.measureText(badgeText);\n\n            Bitmap canvasBitmap = Bitmap.createBitmap(width + rectLength, height, Bitmap.Config.ARGB_8888);\n            Canvas canvas = new Canvas(canvasBitmap);\n            canvas.getClipBounds(canvasBounds);\n\n            int firstCircleDx = canvasBounds.left + canvasBounds.height() / 2;\n            int circleDy = canvasBounds.height() / 2;\n            int circleRadius = canvasBounds.height() / 2;\n            int secondCircleDx = firstCircleDx + rectLength;\n\n            Rect rect = new Rect();\n            rect.left = firstCircleDx;\n            rect.top = 0;\n            rect.right = rect.left + rectLength;\n            rect.bottom = canvasBounds.height();\n\n            canvas.drawCircle(firstCircleDx, circleDy, circleRadius, badgePaint);\n            canvas.drawRect(rect, badgePaint);\n            canvas.drawCircle(secondCircleDx, circleDy, circleRadius, badgePaint);\n            canvas.drawText(badgeText, canvasBounds.width() / 2, canvasBounds.height() / 2 - ((badgeTextPaint.descent() +\n                                                                                               badgeTextPaint.ascent()) / 2),\n                            badgeTextPaint);\n\n            return new BitmapDrawable(context.getResources(), canvasBitmap);\n        }\n    }\n\n    static ColorStateList bootstrapDropDownViewText(Context context) {\n\n        int defaultColor = ColorUtils.resolveColor(R.color.bootstrap_gray_dark, context);\n        int activeColor = ColorUtils.resolveColor(android.R.color.black, context);\n        int disabledColor = ColorUtils.resolveColor(R.color.bootstrap_gray_light, context);\n\n        return new ColorStateList(getStateList(), getColorList(defaultColor, activeColor, disabledColor));\n    }\n\n    private static void setInsetOnLayers(LayerDrawable[] ary, int l, int t, int r, int b) {\n        for (LayerDrawable ld : ary) {\n            ld.setLayerInset(0, l, t, r, b);\n        }\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDropDown.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.graphics.drawable.Drawable;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.v4.widget.PopupWindowCompat;\nimport android.util.AttributeSet;\nimport android.util.DisplayMetrics;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.WindowManager;\nimport android.widget.LinearLayout;\nimport android.widget.LinearLayout.LayoutParams;\nimport android.widget.PopupWindow;\nimport android.widget.ScrollView;\nimport android.widget.TextView;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.defaults.ExpandDirection;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.OutlineableView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.DrawableUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\nimport java.io.Serializable;\nimport java.util.regex.Pattern;\n\n/**\n * BootstrapButtons are buttons which provide contextual menus, styled with BootstrapBrand colors,\n * roundable corners, and an 'outlineable' mode.\n */\n@BetaApi\npublic class BootstrapDropDown extends AwesomeTextView implements View.OnClickListener, RoundableView, OutlineableView, PopupWindow.OnDismissListener {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapDropDown\";\n    private static final String KEY_DIRECTION = \"com.beardedhen.androidbootstrap.BootstrapDropDown.EXPAND_DIRECTION\";\n\n    private static final String SEARCH_REGEX_HEADER = \"\\\\{dropdown_header\\\\}.*\";\n    private static final String SEARCH_REGEX_SEPARATOR = \"\\\\{dropdown_separator\\\\}.*\";\n    private static final String SEARCH_REGEX_DISABLED = \"\\\\{dropdown_disabled\\\\}.*\";\n    private static final String REPLACE_REGEX_HEADER = \"\\\\{dropdown_header\\\\}\";\n    private static final String REPLACE_REGEX_SEPARATOR = \"\\\\{dropdown_separator\\\\}\";\n    private static final String REPLACE_REGEX_DISABLED = \"\\\\{dropdown_disabled\\\\}\";\n    private static final int SCREEN_WIDTH_GUESS = 1000;\n\n    private ExpandDirection expandDirection;\n    private PopupWindow dropdownWindow;\n    private View.OnClickListener clickListener;\n    private String[] dropdownData;\n    private OnDropDownItemClickListener onDropDownItemClickListener;\n\n    private boolean roundedCorners;\n    private boolean showOutline;\n\n    private float bootstrapSize;\n    private int itemHeight;\n    private int dropDownViewHeight;\n    private int dropDownViewWidth;\n    private int screenWidth;\n\n    private float baselineStrokeWidth;\n    private float baselineCornerRadius;\n    private float baselineFontSize;\n    private float baselineDropDownViewFontSize;\n    private float baselineItemRightPadding;\n    private float baselineItemLeftPadding;\n    private float baselineVertPadding;\n    private float baselineHoriPadding;\n\n    public BootstrapDropDown(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapDropDown(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapDropDown(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapDropDown);\n\n        try {\n            this.roundedCorners = a.getBoolean(R.styleable.BootstrapDropDown_roundedCorners, false);\n            this.showOutline = a.getBoolean(R.styleable.BootstrapDropDown_showOutline, false);\n\n            int directionOrdinal = a.getInt(R.styleable.BootstrapDropDown_bootstrapExpandDirection, -1);\n            int dataOrdinal = a.getResourceId(R.styleable.BootstrapDropDown_dropdownResource, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapDropDown_bootstrapSize, -1);\n\n            expandDirection = ExpandDirection.fromAttributeValue(directionOrdinal);\n\n            bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n            itemHeight = a.getDimensionPixelSize(R.styleable.BootstrapDropDown_itemHeight, (int) DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_dropdown_default_item_height));\n\n            if (isInEditMode()) {\n                dropdownData = new String[] {\"Android Studio\", \"Layout Preview\", \"Is Always\", \"Breaking\"};\n            }\n            else {\n                dropdownData = getContext().getResources().getStringArray(dataOrdinal);\n            }\n        }\n        finally {\n            a.recycle();\n        }\n\n        baselineStrokeWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_dropdown_default_edge_width);\n        baselineCornerRadius = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_dropdown_default_corner_radius);\n        baselineFontSize = DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_dropdown_default_font_size);\n        baselineDropDownViewFontSize = DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_dropdown_default_item_font_size);\n        baselineItemLeftPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_dropdown_default_item_left_padding);\n        baselineItemRightPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_dropdown_default_item_right_padding);\n        baselineVertPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_vert_padding);\n        baselineHoriPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_button_default_hori_padding);\n\n        if (isInEditMode()) {\n            screenWidth = SCREEN_WIDTH_GUESS; // take a sensible guess\n        }\n        else {\n            DisplayMetrics metrics = new DisplayMetrics();\n            ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(metrics);\n            screenWidth = metrics.widthPixels;\n        }\n\n        createDropDown();\n        updateDropDownState();\n    }\n\n    private void createDropDown() {\n        ScrollView dropdownView = createDropDownView();\n        dropdownWindow = new PopupWindow();\n        dropdownWindow.setFocusable(true);\n        dropdownWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);\n\n        if (!isInEditMode()) {\n            dropdownWindow.setBackgroundDrawable(DrawableUtils.resolveDrawable(android.R.drawable\n                                                                                       .dialog_holo_light_frame, getContext()));\n        }\n\n        dropdownWindow.setContentView(dropdownView);\n        dropdownWindow.setOnDismissListener(this);\n        dropdownWindow.setAnimationStyle(android.R.style.Animation_Activity);\n        float longestStringWidth = measureStringWidth(getLongestString(dropdownData))\n                + DimenUtils.dpToPixels((baselineItemRightPadding + baselineItemLeftPadding) * bootstrapSize);\n\n        if (longestStringWidth < getMeasuredWidth()) {\n            dropdownWindow.setWidth(DimenUtils.dpToPixels(getMeasuredWidth()));\n        }\n        else {\n            dropdownWindow.setWidth((int) longestStringWidth + DimenUtils.dpToPixels(8));\n        }\n    }\n\n    private ScrollView createDropDownView() {\n        final LinearLayout dropdownView = new LinearLayout(getContext());\n        ScrollView scrollView = new ScrollView(getContext());\n        int clickableChildCounter = 0;\n\n        dropdownView.setOrientation(LinearLayout.VERTICAL);\n        int height = (int) (itemHeight * bootstrapSize);\n        LayoutParams childParams = new LayoutParams(LayoutParams.MATCH_PARENT, height);\n\n        for (String text : dropdownData) {\n            TextView childView = new TextView(getContext());\n            childView.setGravity(Gravity.CENTER_VERTICAL);\n            childView.setLayoutParams(childParams);\n\n            int padding = (int) (baselineItemLeftPadding * bootstrapSize);\n            childView.setPadding(padding, 0, padding, 0);\n            childView.setTextSize(baselineDropDownViewFontSize * bootstrapSize);\n            childView.setTextColor(ColorUtils.resolveColor(android.R.color.black, getContext()));\n\n            Drawable background = getContext().obtainStyledAttributes(null, new int[]{\n                    android.R.attr.selectableItemBackground}, 0, 0)\n                                            .getDrawable(0);\n            ViewUtils.setBackgroundDrawable(childView, background);\n\n            childView.setTextColor(BootstrapDrawableFactory.bootstrapDropDownViewText(getContext()));\n            childView.setOnClickListener(new OnClickListener() {\n                @Override\n                public void onClick(View v) {\n                    dropdownWindow.dismiss();\n                    if (onDropDownItemClickListener != null) {\n                        onDropDownItemClickListener.onItemClick(dropdownView, v, v.getId());\n                    }\n                }\n            });\n\n            if (Pattern.matches(SEARCH_REGEX_HEADER, text)) {\n                childView.setText(text.replaceFirst(REPLACE_REGEX_HEADER, \"\"));\n                childView.setTextSize((baselineDropDownViewFontSize - 2F) * bootstrapSize);\n                childView.setClickable(false);\n                childView.setTextColor(ColorUtils.resolveColor(R.color.bootstrap_gray_light,\n                                                               getContext()));\n            }\n            else if (Pattern.matches(SEARCH_REGEX_SEPARATOR, text)) {\n                childView = new DividerView(getContext());\n                childView.setClickable(false);\n                childView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 3));\n            }\n            else if (Pattern.matches(SEARCH_REGEX_DISABLED, text)) {\n                childView.setEnabled(false);\n                childView.setId(clickableChildCounter++);\n                childView.setText(text.replaceFirst(REPLACE_REGEX_DISABLED, \"\"));\n            }\n            else {\n                childView.setText(text);\n                childView.setId(clickableChildCounter++);\n            }\n            dropdownView.addView(childView);\n        }\n\n        dropdownView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);\n        dropDownViewHeight = dropdownView.getMeasuredHeight();\n        dropDownViewWidth = dropdownView.getMeasuredWidth();\n\n        scrollView.setVerticalScrollBarEnabled(false);\n        scrollView.setHorizontalScrollBarEnabled(false);\n        scrollView.addView(dropdownView);\n\n        cleanData();\n        return scrollView;\n    }\n\n    private void updateDropDownState() {\n        super.updateBootstrapState();\n\n        BootstrapBrand bootstrapBrand = getBootstrapBrand();\n\n        float cornerRadius = baselineCornerRadius;\n        float strokeWidth = baselineStrokeWidth;\n        final float fontSize = baselineFontSize * bootstrapSize;\n\n        strokeWidth *= bootstrapSize;\n\n        super.setOnClickListener(this);\n        setTextSize(fontSize);\n        setGravity(Gravity.CENTER);\n\n        setCompoundDrawablesWithIntrinsicBounds(null, null,\n                BootstrapDrawableFactory.bootstrapDropDownArrow(getContext(),\n                        DimenUtils.dpToPixels(8 * bootstrapSize),\n                        DimenUtils.dpToPixels(12 * bootstrapSize),\n                        expandDirection,\n                        showOutline,\n                        getBootstrapBrand())\n                , null);\n        setCompoundDrawablePadding(DimenUtils.dpToPixels(8));\n\n        setTextColor(BootstrapDrawableFactory.bootstrapButtonText(\n                getContext(),\n                showOutline,\n                bootstrapBrand));\n\n        Drawable bg = BootstrapDrawableFactory.bootstrapButton(getContext(),\n                bootstrapBrand,\n                (int) strokeWidth,\n                (int) cornerRadius,\n                ViewGroupPosition.SOLO,\n                showOutline,\n                roundedCorners);\n\n        ViewUtils.setBackgroundDrawable(this, bg);\n\n        int vert = (int) (baselineVertPadding * bootstrapSize);\n        int hori = (int) (baselineHoriPadding * bootstrapSize);\n        setPadding(hori, vert, hori, vert);\n    }\n\n    /**\n     * Calculating string width\n     *\n     * @param text String to calculate\n     * @return width of String in pixels\n     */\n    private float measureStringWidth(String text) {\n        Paint mPaint = new Paint();\n        mPaint.setTextSize(baselineDropDownViewFontSize * bootstrapSize);\n        return (float) (DimenUtils.dpToPixels(mPaint.measureText(text)));\n    }\n\n\n    /**\n     * Searching for longest string in array\n     *\n     * @param array input string array\n     * @return longest string\n     */\n    private String getLongestString(String[] array) {\n        int maxLength = 0;\n        String longestString = null;\n        for (String s : array) {\n            if (s.length() > maxLength) {\n                maxLength = s.length();\n                longestString = s;\n            }\n        }\n        return longestString;\n    }\n\n    private void cleanData() {\n        String[] cleanArray = new String[dropdownData.length];\n        for (int i = 0; i < dropdownData.length; i++) {\n            cleanArray[i] = dropdownData[i].replaceAll(REPLACE_REGEX_HEADER, \"\")\n                    .replaceAll(REPLACE_REGEX_DISABLED, \"\")\n                    .replaceAll(REPLACE_REGEX_SEPARATOR, \"\");\n        }\n        dropdownData = cleanArray;\n    }\n\n    /**\n     * Sets a listener which will be called when an item is clicked in the dropdown.\n     *\n     * @param onDropDownItemClickListener the listener\n     */\n    public void setOnDropDownItemClickListener(OnDropDownItemClickListener onDropDownItemClickListener) {\n        this.onDropDownItemClickListener = onDropDownItemClickListener;\n    }\n\n    @Override public boolean isShowOutline() {\n        return showOutline;\n    }\n\n    @Override public boolean isRounded() {\n        return roundedCorners;\n    }\n\n    /**\n     * Gets the direction in which the dropdown expands.\n     *\n     * @return the direction\n     */\n    public ExpandDirection getExpandDirection() {\n        return expandDirection;\n    }\n\n    /**\n     * Retrieves the data used to populate the dropdown.\n     *\n     * @return a string array of values\n     */\n    public String[] getDropdownData() {\n        return dropdownData;\n    }\n\n    @Override public void setShowOutline(boolean showOutline) {\n        this.showOutline = showOutline;\n        updateDropDownState();\n    }\n\n    @Override public void setRounded(boolean rounded) {\n        this.roundedCorners = rounded;\n        updateDropDownState();\n    }\n\n    /**\n     * Sets the direction in which the dropdown should expand.\n     *\n     * @param expandDirection the direction\n     */\n    public void setExpandDirection(ExpandDirection expandDirection) {\n        this.expandDirection = expandDirection;\n        updateDropDownState();\n    }\n\n    /**\n     * Sets the String values which should be used to populate the menu displayed in the dropdown.\n     *\n     * @param dropdownData an array of string values.\n     */\n    public void setDropdownData(String[] dropdownData) {\n        this.dropdownData = dropdownData;\n        createDropDown();\n        updateDropDownState();\n    }\n\n    @Override public void onDismiss() {\n        setSelected(false);\n        dropdownWindow.getContentView().scrollTo(0, 0);\n    }\n\n    @Override public void onClick(View v) {\n        if (clickListener != null) {\n            clickListener.onClick(v);\n        }\n        //using 8dip on axisX offset to make dropdown view visually be at start of dropdown itself\n        //using 4dip on axisY offset to make space between dropdown view and dropdown itself\n        //all offsets are necessary because of the dialog_holo_light_frame to display correctly on screen(shadow was made by inset)\n        int gravity;\n        int axisXOffset;\n        if (dropDownViewWidth + getX() > screenWidth) {\n            gravity = Gravity.TOP | Gravity.END;\n            axisXOffset = DimenUtils.dpToPixels(8);\n        }\n        else {\n            gravity = Gravity.TOP | Gravity.START;\n            axisXOffset = -DimenUtils.dpToPixels(8);\n        }\n        int axisYOffset = DimenUtils.dpToPixels(4);\n        switch (expandDirection) {\n            case UP:\n                PopupWindowCompat.showAsDropDown(dropdownWindow, v,\n                        axisXOffset,\n                        -dropDownViewHeight - getMeasuredHeight() - axisYOffset * 3,\n                        gravity);\n                break;\n            case DOWN:\n                PopupWindowCompat.showAsDropDown(dropdownWindow, v,\n                        axisXOffset,\n                        -axisYOffset,\n                        gravity);\n                break;\n        }\n        setSelected(true);\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n\n        bundle.putBoolean(RoundableView.KEY, roundedCorners);\n        bundle.putBoolean(OutlineableView.KEY, showOutline);\n        bundle.putSerializable(KEY_DIRECTION, expandDirection);\n        bundle.putFloat(BootstrapSizeView.KEY, bootstrapSize);\n\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            this.roundedCorners = bundle.getBoolean(RoundableView.KEY);\n            this.showOutline = bundle.getBoolean(OutlineableView.KEY);\n            this.bootstrapSize = bundle.getFloat(BootstrapSizeView.KEY);\n\n            Serializable direction = bundle.getSerializable(KEY_DIRECTION);\n\n            if (direction instanceof ExpandDirection) {\n                expandDirection = (ExpandDirection) direction;\n            }\n        }\n        super.onRestoreInstanceState(state);\n    }\n\n    @Override public void setOnClickListener(OnClickListener clickListener) {\n        this.clickListener = clickListener;\n    }\n\n    /**\n     * A listener which provides methods relating to {@link BootstrapDropDown}\n     */\n    public interface OnDropDownItemClickListener {\n\n        /**\n         * Called when an item is clicked in a {@link BootstrapDropDown}\n         *\n         * @param parent the parent viewgroup\n         * @param v      the view\n         * @param id     the id\n         */\n        void onItemClick(ViewGroup parent, View v, int id);\n    }\n\n    private static class DividerView extends TextView {\n\n        private final Paint paint;\n\n        public DividerView(Context context) {\n            super(context);\n            paint = new Paint();\n            paint.setColor(ColorUtils.resolveColor(R.color.bootstrap_dropdown_divider, context));\n        }\n\n        @Override protected void onDraw(Canvas canvas) {\n            canvas.drawLine(0, 1, canvas.getWidth(), 1, paint);\n            super.onDraw(canvas);\n        }\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapEditText.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.drawable.Drawable;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.widget.EditText;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\nimport java.io.Serializable;\n\n/**\n * BootstrapEditText allows users to enter values like a regular Android EditText, and allows coloring\n * via BootstrapBrand, and rounding of its background.\n */\npublic class BootstrapEditText extends EditText implements BootstrapBrandView, RoundableView,\n        BootstrapSizeView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapEditText\";\n\n    private float baselineFontSize;\n    private float baselineVertPadding;\n    private float baselineHoriPadding;\n    private float baselineStrokeWidth;\n    private float baselineCornerRadius;\n\n    private BootstrapBrand bootstrapBrand;\n    private float bootstrapSize;\n    private boolean rounded;\n\n    public BootstrapEditText(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapEditText(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapEditText(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapEditText);\n\n        try {\n            this.rounded = a.getBoolean(R.styleable.BootstrapEditText_roundedCorners, false);\n\n            int typeOrdinal = a.getInt(R.styleable.BootstrapEditText_bootstrapBrand, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapEditText_bootstrapSize, -1);\n\n            this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n            this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n        }\n        finally {\n            a.recycle();\n        }\n\n        baselineFontSize = DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_edit_text_default_font_size);\n        baselineVertPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_edit_text_vert_padding);\n        baselineHoriPadding = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_edit_text_hori_padding);\n        baselineStrokeWidth = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_edit_text_edge_width);\n        baselineCornerRadius = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_edit_text_corner_radius);\n\n        a = getContext().obtainStyledAttributes(attrs, new int[] {android.R.attr.gravity});\n        try {\n            setGravity(a.getInt(0, Gravity.CENTER_VERTICAL)); // center text vertically by default\n        } finally {\n            a.recycle();\n        }\n        updateBootstrapState();\n        invalidate();\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n        bundle.putBoolean(RoundableView.KEY, rounded);\n        bundle.putFloat(BootstrapSizeView.KEY, bootstrapSize);\n        bundle.putSerializable(BootstrapBrand.KEY, bootstrapBrand);\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n            this.rounded = bundle.getBoolean(RoundableView.KEY);\n            this.bootstrapSize = bundle.getFloat(BootstrapSizeView.KEY);\n\n            Serializable brand = bundle.getSerializable(BootstrapBrand.KEY);\n\n            if (brand instanceof BootstrapBrand) {\n                bootstrapBrand = (BootstrapBrand) brand;\n            }\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateBootstrapState();\n    }\n\n    private void updateBootstrapState() {\n        int vPadding = (int) (baselineVertPadding * bootstrapSize);\n        int hPadding = (int) (baselineHoriPadding * bootstrapSize);\n        setPadding(vPadding, hPadding, vPadding, hPadding);\n\n        int strokeWidth = (int) (baselineStrokeWidth * bootstrapSize);\n        float cornerRadius = baselineCornerRadius * bootstrapSize;\n\n        final float fontSize = baselineFontSize * bootstrapSize;\n        setTextSize(fontSize);\n\n        Drawable bg = BootstrapDrawableFactory.bootstrapEditText(\n                getContext(),\n                bootstrapBrand,\n                strokeWidth,\n                cornerRadius,\n                rounded);\n\n        ViewUtils.setBackgroundDrawable(this, bg);\n    }\n\n    /*\n     * Getters/Setters\n     */\n\n    @Override public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n        updateBootstrapState();\n    }\n\n    @NonNull @Override public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @Override public void setRounded(boolean rounded) {\n        this.rounded = rounded;\n        updateBootstrapState();\n    }\n\n    @Override public boolean isRounded() {\n        return rounded;\n    }\n\n    @Override public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n\n    @Override public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n        updateBootstrapState();\n    }\n\n    @Override public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        setBootstrapSize(bootstrapSize.scaleFactor());\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapGroup.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.LinearLayout;\n\n/**\n * This is a base class that provies methods to get updates when a view is removed or added or rotated and contains abstract methods for the set up of the class.\n *  @see BootstrapProgressBarGroup\n *  @see BootstrapButtonGroup\n */\nabstract class BootstrapGroup extends LinearLayout {\n\n    public BootstrapGroup(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapGroup(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapGroup(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    protected abstract void initialise(AttributeSet attrs);\n\n    @Override public void setOrientation(int orientation) {\n        super.setOrientation(orientation);\n        updateBootstrapGroup();\n    }\n\n    protected abstract void updateBootstrapGroup();\n\n\n    protected abstract void onBootstrapViewAdded();\n    protected abstract void onBootstrapViewRemoved();\n\n    @Override\n    public void addView(View child, int index, ViewGroup.LayoutParams params) {\n        super.addView(child, index, params);\n        onBootstrapViewAdded();\n    }\n\n    @Override\n    public void removeAllViews() {\n        super.removeAllViews();\n        onBootstrapViewRemoved();\n    }\n\n    @Override\n    public void removeView(View view) {\n        super.removeView(view);\n        onBootstrapViewRemoved();\n    }\n\n    @Override\n    public void removeViewInLayout(View view) {\n        super.removeViewInLayout(view);\n        onBootstrapViewRemoved();\n    }\n\n    @Override\n    public void removeViewsInLayout(int start, int count) {\n        super.removeViewsInLayout(start, count);\n        onBootstrapViewRemoved();\n    }\n\n    @Override\n    public void removeViewAt(int index) {\n        View child = getChildAt(index);\n        super.removeViewAt(index);\n        onBootstrapViewRemoved();\n    }\n\n    @Override\n    public void removeViews(int start, int count) {\n        super.removeViews(start, count);\n        onBootstrapViewRemoved();\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapLabel.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Typeface;\nimport android.graphics.drawable.Drawable;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapHeading;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapHeadingView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\nimport java.io.Serializable;\n\n/**\n * BootstrapLabels are designed for showing text styled with BootstrapBrands - they should be\n * considered similar to a BootstrapButton, but without the press functionality. It is possible to\n * set the size of BootstrapLabels using H1-H6 elements.\n */\npublic class BootstrapLabel extends AwesomeTextView implements RoundableView, BootstrapHeadingView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapLabel\";\n\n    private BootstrapHeading bootstrapHeading;\n    private boolean roundable;\n\n    public BootstrapLabel(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapLabel(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapLabel(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapLabel);\n\n        try {\n            int attrValue = a.getInt(R.styleable.BootstrapLabel_bootstrapHeading, 5);\n            this.roundable = a.getBoolean(R.styleable.BootstrapLabel_roundedCorners, false);\n\n            this.bootstrapHeading = DefaultBootstrapHeading.fromAttributeValue(attrValue);\n        }\n        finally {\n            a.recycle();\n        }\n        updateBootstrapState();\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n        bundle.putBoolean(RoundableView.KEY, roundable);\n        bundle.putSerializable(BootstrapHeading.KEY, bootstrapHeading);\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            this.roundable = bundle.getBoolean(RoundableView.KEY);\n\n            Serializable heading = bundle.getSerializable(BootstrapHeading.KEY);\n\n            if (heading instanceof BootstrapHeading) {\n                bootstrapHeading = (BootstrapHeading) heading;\n            }\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateBootstrapState();\n    }\n\n    @Override public void updateBootstrapState() {\n        super.updateBootstrapState();\n        // set bg color etc\n\n        if (bootstrapHeading != null) {\n            int vert = (int) bootstrapHeading.verticalPadding(getContext());\n            int hori = (int) bootstrapHeading.horizontalPadding(getContext());\n\n            setPadding(hori, vert, hori, vert);\n            setTextSize(bootstrapHeading.getTextSize(getContext()));\n        }\n\n        setTextColor(getBootstrapBrand().defaultTextColor(getContext()));\n        setTypeface(Typeface.DEFAULT_BOLD);\n\n        Drawable bg = BootstrapDrawableFactory.bootstrapLabel(\n                getContext(),\n                getBootstrapBrand(),\n                roundable,\n                getHeight());\n\n        ViewUtils.setBackgroundDrawable(this, bg);\n    }\n\n    @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) {\n        super.onSizeChanged(w, h, oldw, oldh);\n\n        if (roundable && h != oldh) { // corner radius should always be h/2\n            updateBootstrapState();\n        }\n    }\n\n    /*\n     * Getters/Setters\n     */\n\n    @Override public void setRounded(boolean rounded) {\n        this.roundable = rounded;\n        updateBootstrapState();\n    }\n\n    @Override public boolean isRounded() {\n        return roundable;\n    }\n\n    @Override public void setBootstrapHeading(@NonNull BootstrapHeading bootstrapHeading) {\n        this.bootstrapHeading = bootstrapHeading;\n        updateBootstrapState();\n    }\n\n    @NonNull @Override public BootstrapHeading getBootstrapHeading() {\n        return bootstrapHeading;\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBar.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.animation.Animator;\nimport android.animation.ValueAnimator;\nimport android.annotation.SuppressLint;\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Path;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.Rect;\nimport android.graphics.RectF;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.support.annotation.ColorInt;\nimport android.support.annotation.NonNull;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.view.ViewParent;\nimport android.view.animation.DecelerateInterpolator;\nimport android.view.animation.LinearInterpolator;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapBrandView;\nimport com.beardedhen.androidbootstrap.api.view.BootstrapSizeView;\nimport com.beardedhen.androidbootstrap.api.view.ProgressView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\n\nimport java.io.Serializable;\n\nimport static android.graphics.Bitmap.Config.ARGB_8888;\n\n/**\n * BootstrapProgressBar displays determinate progress to the user, and is colored with BootstrapBrands.\n * Striped effects and progress update animations are supported out of the box.\n *\n * Its possible to group multiple together in an {@link com.beardedhen.androidbootstrap.BootstrapProgressBarGroup BootstrapProgressBarGroup} to give the appearance of a <a href=\"http://getbootstrap.com/components/#progress-stacked\">stacked</a> progressbar.\n */\npublic class BootstrapProgressBar extends View implements ProgressView, BootstrapBrandView,\n        RoundableView, BootstrapSizeView, Animator.AnimatorListener, ValueAnimator.AnimatorUpdateListener {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.AwesomeTextView\";\n\n    private static final long UPDATE_ANIM_MS = 300;\n    private static final int STRIPE_ALPHA = 150;\n    private static final long STRIPE_CYCLE_MS = 1500;\n\n    private Paint progressPaint;\n    private Paint stripePaint;\n    private Paint bgPaint;\n    private Paint textPaint;\n\n    private int userProgress;\n    private int drawnProgress;\n\n    private int maxProgress;\n\n    private boolean striped;\n    private boolean animated;\n    private boolean rounded;\n\n    //used for progressbarGroup so that only the currect corners will be rounded\n    private boolean canRoundLeft = true;\n    private boolean canRoundRight = true;\n\n    private ValueAnimator progressAnimator;\n    private Paint tilePaint;\n    private final float baselineHeight = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_progress_bar_height);\n\n    private BootstrapBrand bootstrapBrand;\n\n    private Canvas progressCanvas;\n    private Bitmap progressBitmap;\n    private Bitmap stripeTile;\n\n    private float bootstrapSize;\n    private boolean showPercentage;\n\n    public BootstrapProgressBar(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapProgressBar(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapProgressBar(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        ValueAnimator.setFrameDelay(15); // attempt 60fps\n        tilePaint = new Paint();\n\n        progressPaint = new Paint();\n        progressPaint.setStyle(Paint.Style.FILL);\n        progressPaint.setAntiAlias(true);\n\n        stripePaint = new Paint();\n        stripePaint.setStyle(Paint.Style.FILL);\n        stripePaint.setAntiAlias(true);\n\n        textPaint = new Paint();\n        textPaint.setStyle(Paint.Style.FILL);\n        textPaint.setAntiAlias(true);\n        textPaint.setColor(ColorUtils.resolveColor(android.R.color.black, getContext()));\n        textPaint.setTextSize(DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_progress_bar_default_font_size));\n\n        bgPaint = new Paint();\n        bgPaint.setStyle(Paint.Style.FILL);\n        bgPaint.setColor(ColorUtils.resolveColor(R.color.bootstrap_gray_light, getContext()));\n\n        // get attributes\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapProgressBar);\n\n        try {\n            this.animated = a.getBoolean(R.styleable.BootstrapProgressBar_animated, false);\n            this.rounded = a.getBoolean(R.styleable.BootstrapProgressBar_roundedCorners, false);\n            this.striped = a.getBoolean(R.styleable.BootstrapProgressBar_striped, false);\n            this.showPercentage = a.getBoolean(R.styleable.BootstrapProgressBar_bootstrapshowPercentage, false);\n            this.userProgress = a.getInt(R.styleable.BootstrapProgressBar_bootstrapProgress, 0);\n            this.maxProgress = a.getInt(R.styleable.BootstrapProgressBar_bootstrapMaxProgress, 100);\n\n            int typeOrdinal = a.getInt(R.styleable.BootstrapProgressBar_bootstrapBrand, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapProgressBar_bootstrapSize, -1);\n\n            this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n            this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n            this.drawnProgress = userProgress;\n        } finally {\n            a.recycle();\n        }\n\n        textPaint.setColor(bootstrapBrand.defaultTextColor(getContext()));\n        textPaint.setTextSize((DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_button_default_font_size)) * this.bootstrapSize );\n        updateBootstrapState();\n        setProgress(this.userProgress);\n        setMaxProgress(this.maxProgress);\n    }\n\n    @Override\n    public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n\n        bundle.putInt(KEY_USER_PROGRESS, userProgress);\n        bundle.putInt(KEY_DRAWN_PROGRESS, drawnProgress);\n        bundle.putBoolean(KEY_STRIPED, striped);\n        bundle.putBoolean(KEY_ANIMATED, animated);\n        bundle.putBoolean(RoundableView.KEY, rounded);\n        bundle.putFloat(BootstrapSizeView.KEY, bootstrapSize);\n        bundle.putSerializable(BootstrapBrand.KEY, bootstrapBrand);\n        return bundle;\n    }\n\n    @Override\n    public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n\n            Serializable brand = bundle.getSerializable(BootstrapBrand.KEY);\n\n            if (brand instanceof BootstrapBrand) {\n                bootstrapBrand = (BootstrapBrand) brand;\n            }\n\n            this.userProgress = bundle.getInt(KEY_USER_PROGRESS);\n            this.drawnProgress = bundle.getInt(KEY_DRAWN_PROGRESS);\n            this.striped = bundle.getBoolean(KEY_STRIPED);\n            this.animated = bundle.getBoolean(KEY_ANIMATED);\n            this.rounded = bundle.getBoolean(RoundableView.KEY);\n            this.bootstrapSize = bundle.getFloat(BootstrapSizeView.KEY);\n\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n        updateBootstrapState();\n        setProgress(userProgress);\n    }\n\n    private int getStripeColor(@ColorInt int color) {\n        return Color.argb(STRIPE_ALPHA, Color.red(color), Color.green(color), Color.blue(color));\n    }\n\n    /**\n     * Starts an animation which moves the progress bar from one value to another, in response to\n     * a call to setProgress(). Animation update callbacks allow the interpolator value to be used\n     * to calculate the current progress value, which is stored in a temporary variable. The view is\n     * then invalidated.\n     * <p/>\n     * If this method is called when a progress update animation is already running, the previous\n     * animation will be cancelled, and the currently drawn progress recorded. A new animation will\n     * then be started from the last drawn point.\n     */\n    private void startProgressUpdateAnimation() {\n        clearAnimation();\n\n        progressAnimator = ValueAnimator.ofFloat(drawnProgress, userProgress);\n        progressAnimator.setDuration(UPDATE_ANIM_MS);\n        progressAnimator.setRepeatCount(0);\n        progressAnimator.setRepeatMode(ValueAnimator.RESTART);\n        progressAnimator.setInterpolator(new DecelerateInterpolator());\n\n        progressAnimator.addUpdateListener(this);\n\n        // start striped animation after progress update if needed\n        progressAnimator.addListener(this);\n        progressAnimator.start();\n    }\n\n    @Override\n    public void onAnimationUpdate(ValueAnimator animation) {\n        drawnProgress = (int) ((float) animation.getAnimatedValue());\n        invalidate();\n    }\n\n    @Override\n    public void onAnimationStart(Animator animation) {\n    }\n\n    @Override\n    public void onAnimationEnd(Animator animation) {\n        startStripedAnimationIfNeeded(); // start striped animation after progress update\n    }\n\n    @Override\n    public void onAnimationCancel(Animator animation) {\n    }\n\n    @Override\n    public void onAnimationRepeat(Animator animation) {\n    }\n\n    /**\n     * Starts an infinite animation cycle which provides the visual effect of stripes moving\n     * backwards. The current system time is used to offset tiled bitmaps of the progress background,\n     * producing the effect that the stripes are moving backwards.\n     */\n    private void startStripedAnimationIfNeeded() {\n        if (!striped || !animated) {\n            return;\n        }\n\n        clearAnimation();\n\n        progressAnimator = ValueAnimator.ofFloat(0, 0);\n        progressAnimator.setDuration(UPDATE_ANIM_MS);\n        progressAnimator.setRepeatCount(ValueAnimator.INFINITE);\n        progressAnimator.setRepeatMode(ValueAnimator.RESTART);\n\n        progressAnimator.setInterpolator(new LinearInterpolator());\n        progressAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {\n            @Override\n            public void onAnimationUpdate(ValueAnimator animation) {\n                invalidate();\n            }\n        });\n        progressAnimator.start();\n    }\n\n    /*\n     * Custom Measuring/Drawing\n     */\n\n    @Override\n    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\n        // restrict view to default progressbar height\n\n        int width = MeasureSpec.getSize(widthMeasureSpec);\n        int height = MeasureSpec.getSize(heightMeasureSpec);\n\n        int heightMode = MeasureSpec.getMode(heightMeasureSpec);\n\n        switch (heightMode) {\n            case MeasureSpec.EXACTLY:\n                break;\n            case MeasureSpec.AT_MOST: // prefer default height, if not all available use as much as possible\n                float desiredHeight = (baselineHeight * bootstrapSize);\n                height = (height > desiredHeight) ? (int) desiredHeight : height;\n                break;\n            default:\n                height = (int) (baselineHeight * bootstrapSize);\n                break;\n        }\n        setMeasuredDimension(width, height);\n    }\n\n    @Override\n    protected void onSizeChanged(int w, int h, int oldw, int oldh) {\n        if (h != oldh) {\n            stripeTile = null; // dereference cached bitmap\n        }\n\n        super.onSizeChanged(w, h, oldw, oldh);\n    }\n\n    @Override\n    protected void onDraw(Canvas canvas) {\n        float w = getWidth();\n        float h = getHeight();\n\n        if (w <= 0 || h <= 0) {\n            return;\n        }\n\n        if (progressBitmap == null) {\n            progressBitmap = Bitmap.createBitmap((int) w, (int) h, ARGB_8888);\n        }\n        if (progressCanvas == null) {\n            progressCanvas = new Canvas(progressBitmap);\n        }\n        progressCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);\n\n        float ratio = (drawnProgress / (float) maxProgress);\n        int lineEnd = (int) (w * ratio);\n\n        float offset = 0;\n        float offsetFactor = (System.currentTimeMillis() % STRIPE_CYCLE_MS) / (float) STRIPE_CYCLE_MS;\n\n        if (striped && animated) { // determine offset for current animation frame of progress bar\n            offset = (h * 2) * offsetFactor;\n        }\n\n        if (striped) { // draw a regular striped bar\n            if (stripeTile == null) {\n                stripeTile = createTile(h, stripePaint, progressPaint);\n            }\n\n            float start = 0 - offset;\n\n            while (start < lineEnd) { // FIXME\n                progressCanvas.drawBitmap(stripeTile, start, 0, tilePaint);\n                start += stripeTile.getWidth();\n            }\n        }\n        else { // draw a filled bar\n            progressCanvas.drawRect(0, 0, lineEnd, h, progressPaint);\n        }\n\n        progressCanvas.drawRect(lineEnd, 0, w, h, bgPaint); // draw bg\n\n        float corners = rounded ? h / 2 : 0;\n        Bitmap round = createRoundedBitmap(progressBitmap, corners, canRoundRight, canRoundLeft);\n        canvas.drawBitmap(round, 0, 0, tilePaint);\n\n        if(showPercentage) {\n            String percent = getProgress() + \"%\";\n            int xPos = (lineEnd / 2);\n            xPos = xPos - (int) (textPaint.measureText(percent) / 2);\n            int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() + textPaint.ascent()) / 2));\n            //((textPaint.descent() + textPaint.ascent()) / 2) is the distance from the baseline to the center.\n\n            canvas.drawText(percent, xPos, yPos, textPaint);\n        }\n    }\n\n    /**\n     * Creates a Bitmap which is a tile of the progress bar background\n     *\n     * @param h the view height\n     * @return a bitmap of the progress bar background\n     */\n    private static Bitmap createTile(float h, Paint stripePaint, Paint progressPaint) {\n        Bitmap bm = Bitmap.createBitmap((int) h * 2, (int) h, ARGB_8888);\n        Canvas tile = new Canvas(bm);\n\n        float x = 0;\n        Path path = new Path();\n\n        path.moveTo(x, 0);\n        path.lineTo(x, h);\n        path.lineTo(h, h);\n        tile.drawPath(path, stripePaint); // draw striped triangle\n\n        path.reset();\n        path.moveTo(x, 0);\n        path.lineTo(x + h, h);\n        path.lineTo(x + (h * 2), h);\n        path.lineTo(x + h, 0);\n        tile.drawPath(path, progressPaint); // draw progress parallelogram\n\n        x += h;\n        path.reset();\n        path.moveTo(x, 0);\n        path.lineTo(x + h, 0);\n        path.lineTo(x + h, h);\n        tile.drawPath(path, stripePaint); // draw striped triangle (completing tile)\n\n        return bm;\n    }\n\n    /**\n     * Creates a rounded bitmap with transparent corners, from a square bitmap.\n     * See <a href=\"http://stackoverflow.com/questions/4028270\">StackOverflow</a>\n     *\n     * @param bitmap       the original bitmap\n     * @param cornerRadius the radius of the corners\n     * @param roundRight if you should round the corners on the right, note that if set to true and cornerRadius == 0 it will create a square\n     * @param roundLeft if you should round the corners on the right, note that if set to true and cornerRadius == 0 it will create a square\n     * @return a rounded bitmap\n     */\n    private static Bitmap createRoundedBitmap(Bitmap bitmap, float cornerRadius, boolean roundRight, boolean  roundLeft) {\n        Bitmap roundedBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), ARGB_8888);\n        Canvas canvas = new Canvas(roundedBitmap);\n\n        final Paint paint = new Paint();\n        final Rect frame = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());\n\n//        final Rect frameLeft = new Rect(0, 0, bitmap.getWidth() /2, bitmap.getHeight());\n//        final Rect frameRight = new Rect(bitmap.getWidth() /2, bitmap.getHeight(), bitmap.getWidth(), bitmap.getHeight());\n\n        final Rect leftRect = new Rect(0, 0, bitmap.getWidth() / 2, bitmap.getHeight());\n        final Rect rightRect = new Rect(bitmap.getWidth() / 2, 0, bitmap.getWidth(), bitmap.getHeight());\n\n        // prepare canvas for transfer\n        paint.setAntiAlias(true);\n        paint.setColor(0xFFFFFFFF);\n        paint.setStyle(Paint.Style.FILL);\n        canvas.drawARGB(0, 0, 0, 0);\n\n        canvas.drawRoundRect(new RectF(frame), cornerRadius, cornerRadius, paint);\n\n        if (!roundLeft){\n            canvas.drawRect(leftRect, paint);\n        }\n\n        if (!roundRight){\n            canvas.drawRect(rightRect, paint);\n        }\n        // draw bitmap\n        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));\n        canvas.drawBitmap(bitmap, frame, frame, paint);\n\n        return roundedBitmap;\n    }\n\n    private void updateBootstrapState() {\n        int color = bootstrapBrand.defaultFill(getContext());\n        progressPaint.setColor(color);\n        stripePaint.setColor(getStripeColor(color));\n        invalidateDrawCache();\n        invalidate();\n    }\n\n    private void invalidateDrawCache() {\n        stripeTile = null;\n        progressBitmap = null;\n        progressCanvas = null;\n    }\n\n    /*\n     * Getters/Setters\n     */\n\n\n    @SuppressLint(\"DefaultLocale\")\n    @Override\n    public void setProgress(int progress) {\n        if (getParent() instanceof BootstrapProgressBarGroup){\n            this.userProgress = 0;\n            setMaxProgress(progress);\n        }else {\n            if (progress < 0 || progress > maxProgress) {\n                throw new IllegalArgumentException(\n                        String.format(\"Invalid value '%d' - progress must be an integer in the range 0-%d\", progress, maxProgress));\n            }\n        }\n\n        this.userProgress = progress;\n\n        if (animated) {\n            startProgressUpdateAnimation();\n        }\n        else {\n            this.drawnProgress = progress;\n            invalidate();\n        }\n\n        ViewParent parent = getParent();\n        if (parent != null) {\n            if (parent instanceof BootstrapProgressBarGroup) {\n                BootstrapProgressBarGroup parentGroup = (BootstrapProgressBarGroup) parent;\n                parentGroup.onProgressChanged(this);\n            }\n        }\n    }\n\n    @Override\n    public int getProgress() {\n        return userProgress;\n    }\n\n    @Override\n    public void setStriped(boolean striped) {\n        this.striped = striped;\n        invalidate();\n        startStripedAnimationIfNeeded();\n    }\n\n    @Override\n    public boolean isStriped() {\n        return striped;\n    }\n\n    @Override\n    public void setAnimated(boolean animated) {\n        this.animated = animated;\n        invalidate();\n        startStripedAnimationIfNeeded();\n    }\n\n    @Override\n    public boolean isAnimated() {\n        return animated;\n    }\n\n    @Override\n    public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) {\n        this.bootstrapBrand = bootstrapBrand;\n        textPaint.setColor(bootstrapBrand.defaultTextColor(getContext()));\n        updateBootstrapState();\n    }\n\n    @NonNull\n    @Override\n    public BootstrapBrand getBootstrapBrand() {\n        return bootstrapBrand;\n    }\n\n    @Override\n    public void setRounded(boolean rounded) {\n        this.rounded = rounded;\n        updateBootstrapState();\n    }\n\n    @Override\n    public boolean isRounded() {\n        return rounded;\n    }\n\n    @Override\n    public float getBootstrapSize() {\n        return bootstrapSize;\n    }\n\n    @Override\n    public void setBootstrapSize(float bootstrapSize) {\n        this.bootstrapSize = bootstrapSize;\n        textPaint.setTextSize((DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_progress_bar_default_font_size)) * this.bootstrapSize );\n        requestLayout();\n        updateBootstrapState();\n    }\n\n    @Override\n    public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) {\n        setBootstrapSize(bootstrapSize.scaleFactor());\n    }\n\n    /**\n     *\n     * @return int, the max progress.\n     */\n    public int getMaxProgress() {\n        return maxProgress;\n    }\n\n    /**\n     * Used for settings the maxprogress. Also check if currentProgress is smaller than newMaxProgress.\n     * @param newMaxProgress the maxProgress value\n     */\n    public void setMaxProgress(int newMaxProgress) {\n        if (getProgress() <= newMaxProgress) {\n            maxProgress = newMaxProgress;\n        }\n        else {\n            throw new IllegalArgumentException(\n                    String.format(\"MaxProgress cant be smaller than the current progress %d<%d\", getProgress(), newMaxProgress));\n        }\n        invalidate();\n        BootstrapProgressBarGroup parent = (BootstrapProgressBarGroup) getParent();\n    }\n\n    void setCornerRounding(boolean left, boolean right){\n        canRoundLeft = left;\n        canRoundRight = right;\n    }\n\n    boolean getCornerRoundingLeft(){\n        return canRoundLeft;\n    }\n\n    boolean getCornerRoundingRight(){\n        return canRoundRight;\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBarGroup.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.util.AttributeSet;\nimport android.util.TypedValue;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.LinearLayout;\n\nimport com.beardedhen.androidbootstrap.api.view.ProgressView;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\n\n/**\n * BootstrapProgressBarGroups are a LinearLayout which exclusively holds BootstrapProgressBars in a horizontal orientation.\n * This can be used to create the effect of stacked progress bars see <a href=\"http://getbootstrap.com/components/#progress-stacked\">here</a>\n *\n * Each child will have there weight and max progress set to there progress. An empty progressbar emptyProgressBar will then be added to the end of layout if the bar is not full.\n */\npublic class BootstrapProgressBarGroup extends BootstrapGroup implements ProgressView, RoundableView {\n\n    private int cumulativeProgress;\n    private int maxProgress;\n    private final BootstrapProgressBar emptyProgressBar = new BootstrapProgressBar(getContext());\n    private int sizeOrdinal;\n\n    private boolean striped = false;\n\n    private boolean isEmptyBeingAdded = false;\n    private boolean rounded;\n    private boolean animated;\n\n    public BootstrapProgressBarGroup(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapProgressBarGroup(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapProgressBarGroup(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    protected void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapProgressBarGroup);\n\n        try {\n            this.maxProgress = a.getInt(R.styleable.BootstrapProgressBarGroup_bootstrapMaxProgress, 100);\n            this.sizeOrdinal = a.getInt(R.styleable.BootstrapProgressBarGroup_bootstrapSize, 2);\n            this.rounded = a.getBoolean(R.styleable.BootstrapProgressBarGroup_roundedCorners, false);\n        } finally {\n            a.recycle();\n        }\n\n        setOrientation(HORIZONTAL);\n        updateBootstrapGroup();\n    }\n\n    @Override\n    protected void onBootstrapViewAdded() {\n        addEmptyProgressBar();\n\n        updateBootstrapGroup();\n    }\n\n    @Override\n    protected void onBootstrapViewRemoved() {\n        addEmptyProgressBar();\n\n        updateBootstrapGroup();\n    }\n\n    /**\n     * This looks for instances of emptyProgressBar and removes them if they are not at the end and then adds one at the end if its needed.\n     */\n    private void addEmptyProgressBar(){\n        int whereIsEmpty = -1;\n        for (int i = 0; i < getChildCount(); i++) {\n            if (retrieveChild(i) != null && retrieveChild(i).equals(emptyProgressBar)) {\n                whereIsEmpty = i;\n            }\n        }\n\n        if (whereIsEmpty != getChildCount() - 1) {\n            if (whereIsEmpty != -1) {\n                //the flowing true/false is to stop empty progressbar being added more than once as removeView and addView indirectly call this method\n                isEmptyBeingAdded = true;\n                removeView(emptyProgressBar);\n                isEmptyBeingAdded = false;\n            }\n            if (!isEmptyBeingAdded) {\n                addView(emptyProgressBar);\n            }\n        }\n    }\n\n    @Override\n    protected void updateBootstrapGroup() {\n        if (getChildCount() == 0) {\n            return;\n        }\n\n        cumulativeProgress = getCumulativeProgress();\n\n        int numChildren = getChildCount();\n        for (int i = 0; i < numChildren; i++) {\n            LayoutParams layoutParams = getDefultlayoutParams();\n            layoutParams.weight = retrieveChild(i).getProgress();\n            retrieveChild(i).setLayoutParams(layoutParams);\n\n            retrieveChild(i).setMaxProgress(retrieveChild(i).getProgress());\n            retrieveChild(i).setBootstrapSize(sizeOrdinal);\n\n            retrieveChild(i).setRounded(rounded);\n            retrieveChild(i).setCornerRounding(false, false);\n        }\n        //this means that rounded corners will display correctly by telling only the first child to draw the left edge as rounded and only the last to draw right edge as rounded\n        retrieveChild(0).setCornerRounding(true, false);\n        retrieveChild(numChildren - 1).setCornerRounding(false, true);\n\n        //update empty progressbar attributes\n        LayoutParams layoutParams = getDefultlayoutParams();\n        layoutParams.weight = (float) maxProgress - cumulativeProgress;\n        emptyProgressBar.setLayoutParams(layoutParams);\n        emptyProgressBar.setMaxProgress(maxProgress - cumulativeProgress);\n        emptyProgressBar.setBootstrapSize(sizeOrdinal);\n\n        setWeightSum((float)maxProgress);\n    }\n\n    private LinearLayout.LayoutParams getDefultlayoutParams(){\n        int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 0, getResources().getDisplayMetrics());\n\n        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(height, ViewGroup.LayoutParams.WRAP_CONTENT);\n        return layoutParams;\n    }\n\n    /**\n     * This get the total progress of all the children\n     * @return the CumulativeProgress i.e. the total progress of all children\n     */\n    public int getCumulativeProgress(){\n        int numChildren = getChildCount();\n        int total = 0;\n        for (int i = 0; i < numChildren; i++) {\n            total += getChildProgress(i);\n        }\n        checkCumulativeSmallerThanMax(maxProgress, total);\n        return total;\n    }\n\n    private void checkCumulativeSmallerThanMax(int max, int cumulative){\n        StringBuilder builder = new StringBuilder();\n        builder.append(\"Max Progress Cant be smaller than cumulative progress. Max = \");\n        builder.append(max);\n        builder.append(\", cumlative = \");\n        builder.append(cumulative);\n        builder.append(\". \\n\");\n        for (int i = 0; i < getChildCount(); i++) {\n            builder.append(\"Child \").append(i).append(\" has progress \").append(getChildProgress(i));\n        }\n        if (max < cumulative){\n            throw new IllegalStateException(builder.toString());\n\n        }\n\n    }\n\n    private int getChildProgress(int i){\n        return retrieveChild(i).getProgress();\n    }\n\n    private BootstrapProgressBar retrieveChild(int i) {\n        View view = getChildAt(i);\n\n        if ((view instanceof BootstrapProgressBar)) {\n            return (BootstrapProgressBar) view;\n        }\n        else {\n            throw new IllegalStateException(\"All child view of BootstrapProgressBarGroup must be BootstrapProgressBar\");\n        }\n    }\n\n    /**\n     * this should be called by all children to notify the BootstrapProgressBarGroup that there progress has changed\n     * @param bootstrapProgressBar the child View\n     */\n    public void onProgressChanged(BootstrapProgressBar bootstrapProgressBar){\n        updateBootstrapGroup();\n    }\n\n    /**\n     *\n     * @return int maxProgress. Returns the maxProgress value\n     */\n    public int getMaxProgress(){\n        return maxProgress;\n    }\n\n    /**\n     * Used for settings the maxprogress. Also check if Cumulative progress is smaller than the max before asigning, see {@link #checkCumulativeSmallerThanMax}.\n     * @param maxProgress the maxProgress value\n     */\n    public void setMaxProgress(int maxProgress){\n        checkCumulativeSmallerThanMax(maxProgress, cumulativeProgress);\n        this.maxProgress = maxProgress;\n    }\n\n    /**\n     *\n     * @param rounded if it should display rounded corners. true will round the corners, false wont\n     */\n    @Override\n    public void setRounded(boolean rounded){\n        this.rounded = rounded;\n        updateBootstrapGroup();\n    }\n\n    /**\n     *\n     * @return a boolean weather the progressbarGroup will have rounded edges\n     */\n    @Override\n    public boolean isRounded(){\n        return rounded;\n    }\n\n    @Override\n    public void setProgress(int progress) {\n        throw new IllegalStateException(\"This method not applicable for type BootstrapProgressBarGroup\");\n    }\n\n    @Override\n    public int getProgress() {\n        throw new IllegalStateException(\"This method not applicable for type BootstrapProgressBarGroup\");\n    }\n\n    /**\n     * This will set all children to striped.\n     * @param striped true for a striped pattern, false for a plain pattern\n     */\n    @Override\n    public void setStriped(boolean striped) {\n        this.striped = striped;\n        for (int i = 0; i < getChildCount(); i++) {\n            retrieveChild(i).setStriped(striped);\n        }\n    }\n\n    /**\n     * This will only be true if setStriped(true) was called\n     * @return striped true for a striped pattern, false for a plain pattern\n     */\n    @Override\n    public boolean isStriped() {\n        return striped;\n    }\n\n\n    /**\n     *\n     * @param animated whether the view should animate its updates or not.\n     */\n    @Override\n    public void setAnimated(boolean animated) {\n        this.animated = animated;\n        for (int i = 0; i < getChildCount(); i++) {\n            retrieveChild(i).setAnimated(animated);\n        }\n    }\n\n    /**\n     * This will only be true if setAnimated(true) was called\n     * @return animated if all children have been set to be animated (through the Group)\n     */\n    @Override\n    public boolean isAnimated() {\n        return animated;\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapText.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.text.SpannableString;\nimport android.text.Spanned;\n\nimport com.beardedhen.androidbootstrap.font.AwesomeTypefaceSpan;\nimport com.beardedhen.androidbootstrap.font.FontAwesome;\nimport com.beardedhen.androidbootstrap.font.IconSet;\nimport com.beardedhen.androidbootstrap.font.MaterialIcons;\nimport com.beardedhen.androidbootstrap.font.Typicon;\n\nimport java.io.Serializable;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Bootstrap Text provides a Builder class, which allows convenient construction of SpannableStrings.\n * Currently regular text, FontAwesome icons, and Typicons can be added.\n */\npublic class BootstrapText extends SpannableString implements Serializable {\n\n    private BootstrapText(CharSequence source) {\n        super(source);\n    }\n\n    /**\n     * This class should be used to construct BootstrapText instances. Text is appended to itself\n     * in the order in which it was added.\n     */\n    public static class Builder {\n\n        private final StringBuilder sb;\n        private final Context context;\n        private final boolean editMode;\n        private final Map<Integer, IconSet> fontIndicesMap;\n\n        public Builder(Context context) {\n            fontIndicesMap = new HashMap<>();\n            sb = new StringBuilder();\n            this.context = context.getApplicationContext();\n            this.editMode = false;\n        }\n\n        public Builder(Context context, boolean editMode) {\n            fontIndicesMap = new HashMap<>();\n            sb = new StringBuilder();\n            this.context = context.getApplicationContext();\n            this.editMode = editMode;\n        }\n\n        /**\n         * Appends a regular piece of text to the BootstrapText under construction.\n         *\n         * @param text a regular piece of text\n         * @return the updated builder instance\n         */\n        public Builder addText(CharSequence text) {\n            sb.append(text);\n            return this;\n        }\n\n        /**\n         * Appends a FontAwesomeIcon to the BootstrapText under construction\n         *\n         * @return the updated builder instance\n         */\n        public Builder addFontAwesomeIcon(@FontAwesome.Icon CharSequence iconCode) {\n            IconSet iconSet = TypefaceProvider.retrieveRegisteredIconSet(FontAwesome.FONT_PATH, editMode);\n            sb.append(iconSet.unicodeForKey(iconCode.toString().replaceAll(\"\\\\-\", \"_\")));\n            fontIndicesMap.put(sb.length(), iconSet);\n            return this;\n        }\n\n        /**\n         * Appends a Typicon to the BootstrapText under construction\n         *\n         * @return the updated builder instance\n         */\n        public Builder addTypicon(@Typicon.Icon CharSequence iconCode) {\n            IconSet iconSet = TypefaceProvider.retrieveRegisteredIconSet(Typicon.FONT_PATH, editMode);\n            sb.append(iconSet.unicodeForKey(iconCode.toString().replaceAll(\"\\\\-\", \"_\")));\n            fontIndicesMap.put(sb.length(), iconSet);\n            return this;\n        }\n\n        /**\n         * Appends a Typicon to the BootstrapText under construction\n         *\n         * @return the updated builder instance\n         */\n        public Builder addMaterialIcon( CharSequence iconCode) {\n            IconSet iconSet = TypefaceProvider.retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, editMode);\n            sb.append(iconSet.unicodeForKey(iconCode.toString().replaceAll(\"\\\\-\", \"_\")));\n            fontIndicesMap.put(sb.length(), iconSet);\n            return this;\n        }\n\n        /**\n         * Appends a font icon to the BootstrapText under construction\n         *\n         * @param iconSet a font icon\n         * @return the updated builder instance\n         */\n        public Builder addIcon(CharSequence iconCode, IconSet iconSet) {\n            sb.append(iconSet.unicodeForKey(iconCode.toString().replaceAll(\"\\\\-\", \"_\")));\n            fontIndicesMap.put(sb.length(), iconSet);\n            return this;\n        }\n\n        /**\n         * @return a new instance of BootstrapText, constructed according to Builder arguments.\n         */\n        public BootstrapText build() {\n            BootstrapText bootstrapText = new BootstrapText(sb.toString());\n\n            for (Map.Entry<Integer, IconSet> entry : fontIndicesMap.entrySet()) {\n                int index = entry.getKey();\n\n                AwesomeTypefaceSpan span = new AwesomeTypefaceSpan(context, entry.getValue());\n                bootstrapText.setSpan(span, index - 1, index, Spanned.SPAN_INCLUSIVE_INCLUSIVE);\n            }\n            return bootstrapText;\n        }\n    }\n\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapThumbnail.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.graphics.RectF;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.util.AttributeSet;\n\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.api.view.RoundableView;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\n/**\n * BootstrapThumbnail displays a rectangular image with an optional border, that can be\n * themed. The view extends ImageView, and will automatically center crop and\n * scale images.\n */\npublic class BootstrapThumbnail extends BootstrapBaseThumbnail implements RoundableView {\n\n    private static final String TAG = \"com.beardedhen.androidbootstrap.BootstrapThumbnail\";\n\n    private Paint placeholderPaint;\n    private final RectF imageRect = new RectF();\n\n    private boolean roundedCorners;\n    private float baselineCornerRadius;\n\n    public BootstrapThumbnail(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapThumbnail(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapThumbnail(Context context, AttributeSet attrs, int defStyle) {\n        super(context, attrs, defStyle);\n        initialise(attrs);\n    }\n\n    @Override public Parcelable onSaveInstanceState() {\n        Bundle bundle = new Bundle();\n        bundle.putParcelable(TAG, super.onSaveInstanceState());\n        bundle.putBoolean(RoundableView.KEY, roundedCorners);\n        return bundle;\n    }\n\n    @Override public void onRestoreInstanceState(Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n            this.roundedCorners = bundle.getBoolean(RoundableView.KEY);\n            state = bundle.getParcelable(TAG);\n        }\n        super.onRestoreInstanceState(state);\n    }\n\n    protected void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapThumbnail);\n\n        try {\n            int typeOrdinal = a.getInt(R.styleable.BootstrapThumbnail_bootstrapBrand, -1);\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapThumbnail_bootstrapSize, -1);\n\n            this.hasBorder = a.getBoolean(R.styleable.BootstrapCircleThumbnail_hasBorder, true);\n            this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n\n            if (typeOrdinal == -1) { // override to use Primary for default border (looks nicer)\n                this.bootstrapBrand = DefaultBootstrapBrand.PRIMARY;\n            }\n            else {\n                this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal);\n            }\n        }\n        finally {\n            a.recycle();\n        }\n\n        placeholderPaint = new Paint();\n        placeholderPaint.setColor(ColorUtils.resolveColor(R.color.bootstrap_gray_light, getContext()));\n        placeholderPaint.setStyle(Paint.Style.FILL);\n        placeholderPaint.setAntiAlias(true);\n\n        this.baselineCornerRadius = getResources().getDimension(R.dimen.bthumbnail_rounded_corner);\n        this.baselineBorderWidth = getResources().getDimension(R.dimen.bthumbnail_default_border);\n        setScaleType(ScaleType.CENTER_CROP);\n\n        super.initialise(attrs);\n    }\n\n    protected void updateImageState() {\n        updateBackground();\n        updatePadding();\n        invalidate();\n    }\n\n    private void updateBackground() {\n        Drawable bg = null;\n\n        if (hasBorder) {\n            bg = BootstrapDrawableFactory.bootstrapThumbnail(\n                    getContext(),\n                    bootstrapBrand,\n                    (int) (baselineOuterBorderWidth * bootstrapSize),\n                    ColorUtils.resolveColor(R.color.bootstrap_thumbnail_background, getContext()),\n                    roundedCorners);\n        }\n        ViewUtils.setBackgroundDrawable(this, bg);\n    }\n\n    private void updatePadding() {\n        if (Build.VERSION.SDK_INT >= 16) {\n            int p = hasBorder ? (int) (baselineBorderWidth * bootstrapSize) : 0;\n            setPadding(p, p, p, p);\n            setCropToPadding(hasBorder);\n        }\n    }\n\n    @Override protected void onDraw(Canvas canvas) {\n        if (sourceBitmap == null) { // draw a placeholder\n\n            float padding = hasBorder ? (baselineBorderWidth * bootstrapSize) : 0;\n            imageRect.top = padding;\n            imageRect.bottom = getHeight() - padding;\n            imageRect.left = padding;\n            imageRect.right = getWidth() - padding;\n\n            if (roundedCorners) {\n                canvas.drawRoundRect(\n                        imageRect,\n                        (baselineCornerRadius * bootstrapSize),\n                        (baselineCornerRadius * bootstrapSize),\n                        placeholderPaint);\n            }\n            else {\n                canvas.drawRect(imageRect, placeholderPaint);\n            }\n        }\n        else {\n            super.onDraw(canvas);\n        }\n    }\n\n    /*\n     * Getters/setters\n     */\n\n    @Override public void setRounded(boolean rounded) {\n        this.roundedCorners = rounded;\n        updateImageState();\n    }\n\n    @Override public boolean isRounded() {\n        return roundedCorners;\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapWell.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.drawable.Drawable;\nimport android.util.AttributeSet;\nimport android.widget.FrameLayout;\n\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.utils.ColorUtils;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\nimport com.beardedhen.androidbootstrap.utils.ViewUtils;\n\n/**\n * BootstrapWells are used as a container layout for other views, typically text.\n */\npublic class BootstrapWell extends FrameLayout {\n\n    private float bootstrapSize;\n\n    public BootstrapWell(Context context) {\n        super(context);\n        initialise(null);\n    }\n\n    public BootstrapWell(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        initialise(attrs);\n    }\n\n    public BootstrapWell(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        initialise(attrs);\n    }\n\n    private void initialise(AttributeSet attrs) {\n        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapButton);\n\n        try {\n            int sizeOrdinal = a.getInt(R.styleable.BootstrapButton_bootstrapSize, -1);\n            bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor();\n        }\n        finally {\n            a.recycle();\n        }\n        updateBootstrapState();\n    }\n\n    private void updateBootstrapState() {\n        Drawable bg = BootstrapDrawableFactory.bootstrapWell(ColorUtils.resolveColor(R.color.bootstrap_well_background, getContext()),\n                (int) (DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_well_corner_radius) * bootstrapSize / 2),\n                (int) DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_well_stroke_width),\n                ColorUtils.resolveColor(R.color.bootstrap_well_border_color, getContext()));\n\n        ViewUtils.setBackgroundDrawable(this, bg);\n\n        int padding = (int) (DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_well_default_padding) * bootstrapSize * 2.5);\n        setPadding(padding, padding, padding, padding);\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\n\nimport com.beardedhen.androidbootstrap.font.FontAwesome;\nimport com.beardedhen.androidbootstrap.font.IconSet;\nimport com.beardedhen.androidbootstrap.font.MaterialIcons;\nimport com.beardedhen.androidbootstrap.font.Typicon;\n\nimport static com.beardedhen.androidbootstrap.TypefaceProvider.getRegisteredIconSets;\nimport static com.beardedhen.androidbootstrap.TypefaceProvider.retrieveRegisteredIconSet;\n\n/**\n * Resolves markdown strings using FA codes and produces BootstrapText instances.\n */\nclass IconResolver {\n\n    private static final String REGEX_FONT_AWESOME = \"(fa_|fa-)[a-z_0-9]+\";\n    private static final String REGEX_TYPICONS = \"(ty_|ty-)[a-z_0-9]+\";\n    private static final String REGEX_MATERIAL_ICONS = \"(md_)[a-z_0-9]+\";\n\n    /**\n     * Resolves markdown to produce a BootstrapText instance. e.g. \"{fa_android}\" would be replaced\n     * with the appropriate FontAwesome character and a SpannableString producec.\n     *\n     * @param context  the current context\n     * @param markdown the markdown string\n     * @param editMode - whether the view requesting the icon set is displayed in the preview editor\n     * @return a constructed BootstrapText\n     */\n    static BootstrapText resolveMarkdown(Context context, String markdown, boolean editMode) {\n        if (markdown == null) {\n            return null;\n        }\n        else { // detect {fa_*} and split into spannable, ignore escaped chars\n            BootstrapText.Builder builder = new BootstrapText.Builder(context, editMode);\n\n            int lastAddedIndex = 0;\n            int startIndex = -1;\n            int endIndex = -1;\n\n            for (int i = 0; i < markdown.length(); i++) {\n                char c = markdown.charAt(i);\n\n                if (c == '\\\\') { // escape sequence, ignore next char\n                    i += 2;\n                    continue;\n                }\n\n                if (c == '{') {\n                    startIndex = i;\n                }\n                else if (c == '}') {\n                    endIndex = i;\n                }\n\n                if (startIndex != -1 && endIndex != -1) { // recognised markdown string\n\n                    if (startIndex >= 0 && endIndex < markdown.length()) {\n                        String iconCode = markdown.substring(startIndex + 1, endIndex).replaceAll(\"\\\\-\", \"_\");\n                        builder.addText(markdown.substring(lastAddedIndex, startIndex));\n\n                        if (iconCode.matches(REGEX_FONT_AWESOME)) { // text is FontAwesome code\n                            if (editMode) {\n                                builder.addText(\"?\");\n                            }\n                            else {\n                                builder.addIcon(iconCode, retrieveRegisteredIconSet(FontAwesome.FONT_PATH, false));\n                            }\n                        }\n                        else if (iconCode.matches(REGEX_TYPICONS)) {\n                            if (editMode) {\n                                builder.addText(\"?\");\n                            }\n                            else {\n                                builder.addIcon(iconCode, retrieveRegisteredIconSet(Typicon.FONT_PATH, false));\n                            }\n                        }\n                        else if(iconCode.matches(REGEX_MATERIAL_ICONS)){\n                            if (editMode) {\n                                builder.addText(\"?\");\n                            }\n                            else {\n                                builder.addIcon(iconCode, retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, false));\n                            }\n                        }\n                        else {\n                            if (editMode) {\n                                builder.addText(\"?\");\n                            }\n                            else {\n                                builder.addIcon(iconCode, resolveIconSet(iconCode));\n                            }\n                        }\n                        lastAddedIndex = endIndex + 1;\n                    }\n                    startIndex = -1;\n                    endIndex = -1;\n                }\n            }\n            return builder.addText(markdown.substring(lastAddedIndex, markdown.length())).build();\n        }\n    }\n\n    /**\n     * Searches for the unicode character value for the Font Icon Code. This method searches all\n     * active FontIcons in the application.\n     *\n     * @param iconCode the font icon code\n     * @return the unicode character matching the icon, or null if none matches\n     */\n    private static IconSet resolveIconSet(String iconCode) {\n        CharSequence unicode;\n\n        for (IconSet set : getRegisteredIconSets()) {\n\n            if (set.fontPath().equals(FontAwesome.FONT_PATH) || set.fontPath().equals(Typicon.FONT_PATH) || set.fontPath().equals(MaterialIcons.FONT_PATH)) {\n                continue; // already checked previously, ignore\n            }\n\n            unicode = set.unicodeForKey(iconCode);\n\n            if (unicode != null) {\n                return set;\n            }\n        }\n\n        String message = String.format(\"Could not find FontIcon value for '%s', \" +\n                \"please ensure that it is mapped to a valid font\", iconCode);\n\n        throw new IllegalArgumentException(message);\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java",
    "content": "package com.beardedhen.androidbootstrap;\n\nimport android.content.Context;\nimport android.graphics.Typeface;\n\nimport com.beardedhen.androidbootstrap.font.FontAwesome;\nimport com.beardedhen.androidbootstrap.font.IconSet;\nimport com.beardedhen.androidbootstrap.font.MaterialIcons;\nimport com.beardedhen.androidbootstrap.font.Typicon;\n\nimport java.util.Collection;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Holds static instances of Typefaces, and IconSets, allowing views to use them across the application\n * without expensive initialisation.\n */\npublic class TypefaceProvider {\n\n    private final static Map<CharSequence, Typeface> TYPEFACE_MAP = new HashMap<>();\n    private final static Map<CharSequence, IconSet> REGISTERED_ICON_SETS = new HashMap<>();\n\n    /**\n     * Returns a reference to the requested typeface, creating a new instance if none already exists\n     *\n     * @param context the current context\n     * @param iconSet the icon typeface\n     * @return a reference to the typeface instance\n     */\n    public static Typeface getTypeface(Context context, IconSet iconSet) {\n        String path = iconSet.fontPath().toString();\n\n        if (TYPEFACE_MAP.get(path) == null) {\n            final Typeface font = Typeface.createFromAsset(context.getAssets(), path);\n            TYPEFACE_MAP.put(path, font);\n        }\n        return TYPEFACE_MAP.get(path);\n    }\n\n    /**\n     * Registers instances of the Default IconSets so that they are available throughout the whole\n     * application. Currently the default icon sets include FontAwesome and Typicon.\n     */\n    public static void registerDefaultIconSets() {\n        final FontAwesome fontAwesome = new FontAwesome();\n        final Typicon typicon = new Typicon();\n        final MaterialIcons materialIcons = new MaterialIcons();\n\n        REGISTERED_ICON_SETS.put(fontAwesome.fontPath(), fontAwesome);\n        REGISTERED_ICON_SETS.put(typicon.fontPath(), typicon);\n        REGISTERED_ICON_SETS.put(materialIcons.fontPath(), materialIcons);\n    }\n\n    /**\n     * Registers a custom IconSet, so that it is available for use throughout the whole application.\n     *\n     * @param iconSet a custom IconSet\n     */\n    public static void registerCustomIconSet(IconSet iconSet) {\n        REGISTERED_ICON_SETS.put(iconSet.fontPath(), iconSet);\n    }\n\n    /**\n     * Retrieves a registered IconSet whose font can be found in the asset directory at the given path\n     *\n     * @param fontPath the given path\n     * @param editMode - whether the view requesting the icon set is displayed in the preview editor\n     * @return the registered IconSet instance\n     */\n    public static IconSet retrieveRegisteredIconSet(String fontPath, boolean editMode) {\n        final IconSet iconSet = REGISTERED_ICON_SETS.get(fontPath);\n\n        if (iconSet == null && !editMode) {\n            throw new RuntimeException(String.format(\"Font '%s' not properly registered, please\" +\n                    \" see the README at https://github.com/Bearded-Hen/Android-Bootstrap\", fontPath));\n        }\n        return iconSet;\n    }\n\n    /**\n     * Retrieves a collection of all registered IconSets in the application\n     *\n     * @return a collection of registered IconSets.\n     */\n    public static Collection<IconSet> getRegisteredIconSets() {\n        return REGISTERED_ICON_SETS.values();\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapBrand.java",
    "content": "package com.beardedhen.androidbootstrap.api.attributes;\n\nimport android.content.Context;\nimport android.support.annotation.ColorInt;\n\nimport java.io.Serializable;\n\n/**\n * A Bootstrap Brand is a color which is used universally across many Bootstrap Views. An example is\n * the 'Info' Brand which colors views light blue.\n */\npublic interface BootstrapBrand extends Serializable {\n\n    String KEY = \"BootstrapBrand\";\n\n    /**\n     * Retrieves the color that should be used for the default fill state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int defaultFill(Context context);\n\n    /**\n     * Retrieves the color that should be used for the default border state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int defaultEdge(Context context);\n\n    /**\n     * Retrieves the text color that should be used for the default state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int defaultTextColor(Context context);\n\n    /**\n     * Retrieves the color that should be used for the active fill state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int activeFill(Context context);\n\n    /**\n     * Retrieves the color that should be used for the active border state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int activeEdge(Context context);\n\n    /**\n     * Retrieves the text color that should be used for the active state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int activeTextColor(Context context);\n\n    /**\n     * Retrieves the color that should be used for the disabled fill state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int disabledFill(Context context);\n\n    /**\n     * Retrieves the color that should be used for the disabled border state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int disabledEdge(Context context);\n\n    /**\n     * Retrieves the text color that should be used for the disabled state\n     *\n     * @param context the current context\n     * @return the color for the current brand\n     */\n    @ColorInt int disabledTextColor(Context context);\n\n    @ColorInt int getColor();\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapHeading.java",
    "content": "package com.beardedhen.androidbootstrap.api.attributes;\n\nimport android.content.Context;\n\nimport java.io.Serializable;\n\n/**\n * A Heading defines the text size and padding of its view. Bootstrap supports styles for H1-H6\n * elements out of the box.\n */\npublic interface BootstrapHeading extends Serializable {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.attributes.BootstrapHeading\";\n\n    /**\n     * Retrieves the text size for the current BootstrapHeading.\n     *\n     * @param context the current context\n     * @return the text size\n     */\n    float getTextSize(Context context);\n\n    /**\n     * Retrieves the vertical padding for the current BootstrapHeading\n     *\n     * @param context the current context\n     * @return the vertical padding\n     */\n    float verticalPadding(Context context);\n\n    /**\n     * Retrieves the horizontal padding for the current BootstrapHeading\n     *\n     * @param context the current context\n     * @return the horizontal padding\n     */\n    float horizontalPadding(Context context);\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/ViewGroupPosition.java",
    "content": "package com.beardedhen.androidbootstrap.api.attributes;\n\npublic enum ViewGroupPosition {\n    SOLO,\n    MIDDLE_HORI,\n    MIDDLE_VERT,\n    TOP,\n    BOTTOM,\n    START,\n    END\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/ButtonMode.java",
    "content": "package com.beardedhen.androidbootstrap.api.defaults;\n\npublic enum ButtonMode {\n    REGULAR,\n    TOGGLE,\n    CHECKBOX,\n    RADIO;\n\n    public static ButtonMode fromAttributeValue(int attrValue) {\n        switch (attrValue) {\n            case 0:\n                return REGULAR;\n            case 1:\n                return TOGGLE;\n            case 2:\n                return CHECKBOX;\n            case 3:\n                return RADIO;\n            default:\n                return REGULAR;\n        }\n    }\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapBrand.java",
    "content": "package com.beardedhen.androidbootstrap.api.defaults;\n\nimport android.content.Context;\nimport android.support.annotation.ColorInt;\n\nimport com.beardedhen.androidbootstrap.R;\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\n\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.ACTIVE_OPACITY_FACTOR_EDGE;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.ACTIVE_OPACITY_FACTOR_FILL;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.DISABLED_ALPHA_EDGE;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.DISABLED_ALPHA_FILL;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.decreaseRgbChannels;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.increaseOpacity;\nimport static com.beardedhen.androidbootstrap.utils.ColorUtils.resolveColor;\n\n/**\n * Bootstrap provides 6 brands by default - Primary, Success, Info, Warning, Danger, and Default.\n * Brands are often supplemented by view-specific colors, which are <b>not</b> globally used.\n */\npublic enum DefaultBootstrapBrand implements BootstrapBrand {\n\n    PRIMARY(R.color.bootstrap_brand_primary),\n    SUCCESS(R.color.bootstrap_brand_success),\n    INFO(R.color.bootstrap_brand_info),\n    WARNING(R.color.bootstrap_brand_warning),\n    DANGER(R.color.bootstrap_brand_danger),\n    SECONDARY(R.color.bootstrap_brand_secondary_fill, R.color.bootstrap_brand_secondary_text),\n    REGULAR(R.color.bootstrap_gray_light);\n\n    private final int textColor;\n    private final int color;\n\n    DefaultBootstrapBrand(int color) {\n        this.color = color;\n        this.textColor =  android.R.color.white;\n    }\n\n    DefaultBootstrapBrand(int color, int textColor) {\n        this.color = color;\n        this.textColor =  textColor;\n    }\n\n    public static DefaultBootstrapBrand fromAttributeValue(int attrValue) {\n        switch (attrValue) {\n            case 0:\n                return PRIMARY;\n            case 1:\n                return SUCCESS;\n            case 2:\n                return INFO;\n            case 3:\n                return WARNING;\n            case 4:\n                return DANGER;\n            case 5:\n                return REGULAR;\n            case 6:\n                return SECONDARY;\n            default:\n                return REGULAR;\n        }\n    }\n\n    @ColorInt public int defaultFill(Context context) {\n        return resolveColor(color, context);\n    }\n\n    @ColorInt public int defaultEdge(Context context) {\n        return decreaseRgbChannels(context, color, ACTIVE_OPACITY_FACTOR_EDGE);\n    }\n\n    @ColorInt public int activeFill(Context context) {\n        return decreaseRgbChannels(context, color, ACTIVE_OPACITY_FACTOR_FILL);\n    }\n\n    @ColorInt public int activeEdge(Context context) {\n        return decreaseRgbChannels(context, color, ACTIVE_OPACITY_FACTOR_FILL + ACTIVE_OPACITY_FACTOR_EDGE);\n    }\n\n    @ColorInt public int disabledFill(Context context) {\n        return increaseOpacity(context, color, DISABLED_ALPHA_FILL);\n    }\n\n    @ColorInt public int disabledEdge(Context context) {\n        return increaseOpacity(context, color, DISABLED_ALPHA_FILL - DISABLED_ALPHA_EDGE);\n    }\n\n    @ColorInt public int defaultTextColor(Context context) {\n        return resolveColor(textColor, context);\n    }\n\n    @ColorInt public int activeTextColor(Context context) {\n        return resolveColor(textColor, context);\n    }\n\n    @ColorInt public int disabledTextColor(Context context) {\n        return resolveColor(textColor, context);\n    }\n\n    @ColorInt public int getColor() {\n        return color;\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapHeading.java",
    "content": "package com.beardedhen.androidbootstrap.api.defaults;\n\nimport android.content.Context;\nimport android.support.annotation.DimenRes;\n\nimport com.beardedhen.androidbootstrap.R;\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapHeading;\nimport com.beardedhen.androidbootstrap.utils.DimenUtils;\n\n/**\n * Bootstrap provides styling for elements H1-H6, and sets their text size and padding using the\n * values supplied here.\n */\npublic enum DefaultBootstrapHeading implements BootstrapHeading {\n\n    H1(R.dimen.bootstrap_h1_text_size,\n       R.dimen.bootstrap_h1_vert_padding,\n       R.dimen.bootstrap_h1_hori_padding),\n\n    H2(R.dimen.bootstrap_h2_text_size,\n       R.dimen.bootstrap_h2_vert_padding,\n       R.dimen.bootstrap_h2_hori_padding),\n\n    H3(R.dimen.bootstrap_h3_text_size,\n       R.dimen.bootstrap_h3_vert_padding,\n       R.dimen.bootstrap_h3_hori_padding),\n\n    H4(R.dimen.bootstrap_h4_text_size,\n       R.dimen.bootstrap_h4_vert_padding,\n       R.dimen.bootstrap_h4_hori_padding),\n\n    H5(R.dimen.bootstrap_h5_text_size,\n       R.dimen.bootstrap_h5_vert_padding,\n       R.dimen.bootstrap_h5_hori_padding),\n\n    H6(R.dimen.bootstrap_h6_text_size,\n       R.dimen.bootstrap_h6_vert_padding,\n       R.dimen.bootstrap_h6_hori_padding);\n\n    private final @DimenRes int textSize;\n    private final @DimenRes int vertPadding;\n    private final @DimenRes int horiPadding;\n\n    DefaultBootstrapHeading(int textSize, int vertPadding, int horiPadding) {\n        this.textSize = textSize;\n        this.vertPadding = vertPadding;\n        this.horiPadding = horiPadding;\n    }\n\n    public static DefaultBootstrapHeading fromAttributeValue(int attrValue) {\n        switch (attrValue) {\n            case 0:\n                return H1;\n            case 1:\n                return H2;\n            case 2:\n                return H3;\n            case 3:\n                return H4;\n            case 4:\n                return H5;\n            case 5:\n                return H6;\n            default:\n                return H6;\n        }\n    }\n\n    @Override public float getTextSize(Context context) {\n        return DimenUtils.pixelsFromSpResource(context, textSize);\n    }\n\n    @Override public float verticalPadding(Context context) {\n        return DimenUtils.pixelsFromDpResource(context, vertPadding);\n    }\n\n    @Override public float horizontalPadding(Context context) {\n        return DimenUtils.pixelsFromDpResource(context, horiPadding);\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapSize.java",
    "content": "package com.beardedhen.androidbootstrap.api.defaults;\n\n/**\n * Bootstrap provides 5 sizes - XS, SM, MD, LG, and XL. In the Android implementation the scale\n * factors used are 0.70, 0.85, 1.00, 1.30, and 1.60 respectively.\n */\npublic enum DefaultBootstrapSize {\n\n    XS(),\n    SM(),\n    MD(),\n    LG(),\n    XL();\n\n    public static DefaultBootstrapSize fromAttributeValue(int attrValue) {\n        switch (attrValue) {\n            case 0:\n                return XS;\n            case 1:\n                return SM;\n            case 2:\n                return MD;\n            case 3:\n                return LG;\n            case 4:\n                return XL;\n            default:\n                return MD;\n        }\n    }\n\n    public float scaleFactor() {\n        switch (this) {\n            case XS:\n                return 0.70f;\n            case SM:\n                return 0.85f;\n            case MD:\n                return 1.00f;\n            case LG:\n                return 1.30f;\n            case XL:\n                return 1.60f;\n            default:\n                return 1.00f;\n        }\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/ExpandDirection.java",
    "content": "package com.beardedhen.androidbootstrap.api.defaults;\n\n\npublic enum ExpandDirection {\n    UP,\n    DOWN;\n\n    public static ExpandDirection fromAttributeValue(int attrValue) {\n        switch (attrValue) {\n            case 0:\n                return UP;\n            case 1:\n                return DOWN;\n            default:\n                return DOWN;\n        }\n    }\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BadgeContainerView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport com.beardedhen.androidbootstrap.BootstrapBadge;\n\n/**\n * Classes which implement this interface can be used as BootstrapBadge container.\n * For example, a Button can be set up with BootstrapBadge.\n */\npublic interface BadgeContainerView extends BootstrapBadgeView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.view.BadgeContainerView\";\n\n    /**\n     * Sets the badge object to be used inside a container.\n     *\n     * @param badge BootstrapBadge to setup\n     */\n    void setBadge(BootstrapBadge badge);\n\n    /**\n     * Retrieves BootstrapBadge object from container view.\n     *\n     * @return BootstrapBadge if exist or null if not\n     */\n    BootstrapBadge getBootstrapBadge();\n\n    /**\n     * Method where badge display logic must be implemented\n     *\n     */\n    void displayBadgeDrawable();\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BootstrapBadgeView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport android.support.annotation.Nullable;\n\npublic interface BootstrapBadgeView {\n\n    /**\n     * Retrieves the currently displayed badge text\n     *\n     * @return the badge text\n     */\n    @Nullable\n    String getBadgeText();\n\n    /**\n     * Updates the badge to display a text string\n     *\n     * @param badgeText the badge text\n     */\n    void setBadgeText(@Nullable String badgeText);\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BootstrapBrandView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport android.support.annotation.NonNull;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\n\n/**\n * Views which implement this interface change their color according to the given Bootstrap Brand\n */\npublic interface BootstrapBrandView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.view.BootstrapBrandView\";\n\n    /**\n     * Changes the color of the view to match the given Bootstrap Brand\n     *\n     * @param bootstrapBrand the Bootstrap Brand\n     */\n    void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand);\n\n    /**\n     * @return the current Bootstrap Brand\n     */\n    @NonNull BootstrapBrand getBootstrapBrand();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BootstrapHeadingView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport android.support.annotation.NonNull;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapHeading;\n\n/**\n * Views which implement this interface change their text size and padding according to the\n * given Bootstrap Heading\n */\npublic interface BootstrapHeadingView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.attributes.BootstrapHeading\";\n\n    /**\n     * Sets this view to use the given Bootstrap Heading, changing its text size and padding\n     *\n     * @param bootstrapHeading the Bootstrap Heading\n     */\n    void setBootstrapHeading(@NonNull BootstrapHeading bootstrapHeading);\n\n    /**\n     * @return the Bootstrap Heading for the view\n     */\n    @NonNull BootstrapHeading getBootstrapHeading();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BootstrapSizeView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\n/**\n * Classes which implement this interface allow aspects of their view to be scaled by a float factor.\n * For example, a Button may double its padding from the baseline if a factor of 2.0 is provided.\n */\npublic interface BootstrapSizeView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.view.BootstrapSizeView\";\n\n    /**\n     * Retrieves the scale factor that should be used to scale a view from its baseline size.\n     * For example, specifying that a Button should use a scale factor of 2.0 may increase its\n     * padding and font size by that factor.\n     *\n     * @return the scale factor\n     */\n    float getBootstrapSize();\n\n    /**\n     * Sets the scale factor that should be used to scale a view from its baseline size.\n     * For example, specifying that a Button should use a scale factor of 2.0 may increase its\n     * padding and font size by that factor.\n     *\n     * @param bootstrapSize the scale factor\n     */\n    void setBootstrapSize(float bootstrapSize);\n\n    /**\n     * Convenience method that sets the scale factor using a default bootstrap size enum value.\n     *\n     * @param bootstrapSize a default scale factor\n     */\n    void setBootstrapSize(DefaultBootstrapSize bootstrapSize);\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BootstrapTextView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport android.support.annotation.Nullable;\n\nimport com.beardedhen.androidbootstrap.BootstrapText;\n\n/**\n * Views which implement this interface can set their text using BootstrapText\n */\npublic interface BootstrapTextView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.BootstrapText\";\n\n    /**\n     * Sets the view to display the given BootstrapText\n     *\n     * @param bootstrapText the BootstrapText\n     */\n    void setBootstrapText(@Nullable BootstrapText bootstrapText);\n\n    /**\n     * @return the current BootstrapText, or null if none exists\n     */\n    @Nullable BootstrapText getBootstrapText();\n\n    /**\n     * Sets the view to display the given markdown text, by constructing a BootstrapText. e.g.\n     * \"This is a {fa-stop} button\"\n     *\n     * @param text the markdown text\n     */\n    void setMarkdownText(@Nullable String text);\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/BorderView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\n/**\n * Views which implement this interface allow the border to be dynamically displayed\n */\npublic interface BorderView {\n\n    String KEY_DISPLAYED = \"com.beardedhen.androidbootstrap.api.view.KEY_DISPLAYED\";\n\n    /**\n     * Sets whether a border should be displayed or not\n     *\n     * @param displayed whether a border should be displayed or not\n     */\n    void setBorderDisplayed(boolean displayed);\n\n    /**\n     * @return whether the border is displayed or not\n     */\n    boolean isBorderDisplayed();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ButtonModeView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\nimport android.support.annotation.NonNull;\n\nimport com.beardedhen.androidbootstrap.api.defaults.ButtonMode;\n\n/**\n * Views which implement this interface allow the selection mode of their buttons to be set\n */\npublic interface ButtonModeView {\n\n    /**\n     * @return the selection mode currently used by the button\n     */\n    @NonNull ButtonMode getButtonMode();\n\n    /**\n     * Sets the selection mode the button should use\n     *\n     * @param buttonMode the selection mode\n     */\n    void setButtonMode(@NonNull ButtonMode buttonMode);\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/OutlineableView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\n/**\n * Views which implement this interface allow the user to specify whether the view should be\n * displayed as an outline or not.\n */\npublic interface OutlineableView {\n\n    String KEY = \"Outlineable\";\n\n    /**\n     * Sets whether the view should display itself as an outline or not.\n     *\n     * @param showOutline true to display as an outline, otherwise false\n     */\n    void setShowOutline(boolean showOutline);\n\n    /**\n     * @return true if the view is currently displaying itself as an outline\n     */\n    boolean isShowOutline();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ProgressView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\n/**\n * Views which implement this interface visually display ongoing progress to users\n */\npublic interface ProgressView {\n\n    String KEY_USER_PROGRESS = \"com.beardedhen.androidbootstrap.api.view.KEY_USER_PROGRESS\";\n    String KEY_DRAWN_PROGRESS = \"com.beardedhen.androidbootstrap.api.view.KEY_DRAWN_PROGRESS\";\n    String KEY_STRIPED = \"com.beardedhen.androidbootstrap.api.view.KEY_STRIPED\";\n    String KEY_ANIMATED = \"com.beardedhen.androidbootstrap.api.view.KEY_ANIMATED\";\n\n    /**\n     * Updates the amount of progress displayed to the user.\n     *\n     * @param progress a positive integer\n     */\n    void setProgress(int progress);\n\n    /**\n     * @return the amount of progress displayed to the user\n     */\n    int getProgress();\n\n    /**\n     * Sets whether the view should display a striped pattern.\n     *\n     * @param striped true for a striped pattern, false for a plain pattern\n     */\n    void setStriped(boolean striped);\n\n    /**\n     * @return true if the view is displaying a striped pattern, otherwise false\n     */\n    boolean isStriped();\n\n    /**\n     * Sets whether the view should animate itself. If the view is striped, the animation will run\n     * in an infinite loop; if the view is not striped, the animation will only be visible when\n     * setProgress() is called.\n     *\n     * @param animated whether the view should animate its updates or not.\n     */\n    void setAnimated(boolean animated);\n\n    /**\n     * @return true if the view should animate itself\n     */\n    boolean isAnimated();\n\n    /**\n     * @return int maxProgress. Returns the maxProgress value\n     */\n    int getMaxProgress();\n\n\n    /**\n     * Used for settings the maxprogress. Also check if Cumulative progress is smaller than the\n     * max before asigning.\n     * @param maxProgress the maxProgress value\n     */\n    void setMaxProgress(int maxProgress);\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/RoundableView.java",
    "content": "package com.beardedhen.androidbootstrap.api.view;\n\n/**\n * Views which implement this interface allow the user to specify whether the view should have\n * rounded corners or not. The interpretation of what a 'rounded corner' is will differ between views.\n */\npublic interface RoundableView {\n\n    String KEY = \"com.beardedhen.androidbootstrap.api.view.Roundable\";\n\n    /**\n     * Sets whether the view should display rounded corners or not\n     *\n     * @param rounded whether the view should be rounded\n     */\n    void setRounded(boolean rounded);\n\n    /**\n     * @return true if the view is displaying rounded corners, otherwise false\n     */\n    boolean isRounded();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/AwesomeTypefaceSpan.java",
    "content": "package com.beardedhen.androidbootstrap.font;\n\nimport android.content.Context;\nimport android.support.annotation.NonNull;\nimport android.text.TextPaint;\nimport android.text.style.TypefaceSpan;\n\nimport com.beardedhen.androidbootstrap.TypefaceProvider;\n\n/**\n * A custom span which paints text using the typeface specified by the IconSet passed to the constructor\n */\npublic class AwesomeTypefaceSpan extends TypefaceSpan {\n\n    private final Context context;\n    private final IconSet iconSet;\n\n    public AwesomeTypefaceSpan(Context context, IconSet iconSet) {\n        super(iconSet.fontPath().toString());\n        this.context = context.getApplicationContext();\n        this.iconSet = iconSet;\n    }\n\n    @Override public void updateDrawState(@NonNull TextPaint ds) {\n        ds.setTypeface(TypefaceProvider.getTypeface(context, iconSet));\n    }\n\n    @Override public void updateMeasureState(@NonNull TextPaint paint) {\n        paint.setTypeface(TypefaceProvider.getTypeface(context, iconSet));\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/FontAwesome.java",
    "content": "package com.beardedhen.androidbootstrap.font;\n\nimport android.support.annotation.StringDef;\n\nimport java.lang.annotation.Retention;\nimport java.lang.annotation.RetentionPolicy;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Maps FontAwesome Icon Codes to unicode characters, allowing its use in AwesomeTextView.\n * See the <a href=\"http://fortawesome.github.io/Font-Awesome/cheatsheet/\">Cheatsheet</a> for icon\n * code reference. <b>Please note that icon codes use underscores rather than hyphens in this\n * library.</b> For example, \"fa-play\" would become \"fa_play\". This is due to restrictions in how\n * Android Attributes can be named.\n */\npublic class FontAwesome implements IconSet {\n\n    public static final String FONT_PATH = \"fontawesome-webfont-v470.ttf\";\n\n    @Override public CharSequence unicodeForKey(@Icon CharSequence key) {\n        return ICON_MAP.get(key);\n    }\n\n    @Override public CharSequence iconCodeForAttrIndex(int index) {\n        return ATTR_MAP.get(index);\n    }\n\n    @Override public CharSequence fontPath() {\n        return FONT_PATH;\n    }\n\n    // Auto-generated Icon Set from 2015-10-05\n\n    private static final Map<String, String> ICON_MAP = new HashMap<>();\n    private static final Map<Integer, String> ATTR_MAP = new HashMap<>();\n\n    @Retention(RetentionPolicy.SOURCE)\n    @StringDef({\n            FA_ADJUST,\n            FA_ADN,\n            FA_ALIGN_CENTER,\n            FA_ALIGN_JUSTIFY,\n            FA_ALIGN_LEFT,\n            FA_ALIGN_RIGHT,\n            FA_AMAZON,\n            FA_AMBULANCE,\n            FA_ANCHOR,\n            FA_ANDROID,\n            FA_ANGELLIST,\n            FA_ANGLE_DOUBLE_DOWN,\n            FA_ANGLE_DOUBLE_LEFT,\n            FA_ANGLE_DOUBLE_RIGHT,\n            FA_ANGLE_DOUBLE_UP,\n            FA_ANGLE_DOWN,\n            FA_ANGLE_LEFT,\n            FA_ANGLE_RIGHT,\n            FA_ANGLE_UP,\n            FA_APPLE,\n            FA_ARCHIVE,\n            FA_AREA_CHART,\n            FA_ARROW_CIRCLE_DOWN,\n            FA_ARROW_CIRCLE_LEFT,\n            FA_ARROW_CIRCLE_O_DOWN,\n            FA_ARROW_CIRCLE_O_LEFT,\n            FA_ARROW_CIRCLE_O_RIGHT,\n            FA_ARROW_CIRCLE_O_UP,\n            FA_ARROW_CIRCLE_RIGHT,\n            FA_ARROW_CIRCLE_UP,\n            FA_ARROW_DOWN,\n            FA_ARROW_LEFT,\n            FA_ARROW_RIGHT,\n            FA_ARROW_UP,\n            FA_ARROWS,\n            FA_ARROWS_ALT,\n            FA_ARROWS_H,\n            FA_ARROWS_V,\n            FA_ASTERISK,\n            FA_AT,\n            FA_AUTOMOBILE,\n            FA_BACKWARD,\n            FA_BALANCE_SCALE,\n            FA_BAN,\n            FA_BANK,\n            FA_BAR_CHART,\n            FA_BAR_CHART_O,\n            FA_BARCODE,\n            FA_BARS,\n            FA_BATTERY_0,\n            FA_BATTERY_1,\n            FA_BATTERY_2,\n            FA_BATTERY_3,\n            FA_BATTERY_4,\n            FA_BATTERY_EMPTY,\n            FA_BATTERY_FULL,\n            FA_BATTERY_HALF,\n            FA_BATTERY_QUARTER,\n            FA_BATTERY_THREE_QUARTERS,\n            FA_BED,\n            FA_BEER,\n            FA_BEHANCE,\n            FA_BEHANCE_SQUARE,\n            FA_BELL,\n            FA_BELL_O,\n            FA_BELL_SLASH,\n            FA_BELL_SLASH_O,\n            FA_BICYCLE,\n            FA_BINOCULARS,\n            FA_BIRTHDAY_CAKE,\n            FA_BITBUCKET,\n            FA_BITBUCKET_SQUARE,\n            FA_BITCOIN,\n            FA_BLACK_TIE,\n            FA_BLUETOOTH,\n            FA_BLUETOOTH_B,\n            FA_BOLD,\n            FA_BOLT,\n            FA_BOMB,\n            FA_BOOK,\n            FA_BOOKMARK,\n            FA_BOOKMARK_O,\n            FA_BRIEFCASE,\n            FA_BTC,\n            FA_BUG,\n            FA_BUILDING,\n            FA_BUILDING_O,\n            FA_BULLHORN,\n            FA_BULLSEYE,\n            FA_BUS,\n            FA_BUYSELLADS,\n            FA_CAB,\n            FA_CALCULATOR,\n            FA_CALENDAR,\n            FA_CALENDAR_CHECK_O,\n            FA_CALENDAR_MINUS_O,\n            FA_CALENDAR_O,\n            FA_CALENDAR_PLUS_O,\n            FA_CALENDAR_TIMES_O,\n            FA_CAMERA,\n            FA_CAMERA_RETRO,\n            FA_CAR,\n            FA_CARET_DOWN,\n            FA_CARET_LEFT,\n            FA_CARET_RIGHT,\n            FA_CARET_SQUARE_O_DOWN,\n            FA_CARET_SQUARE_O_LEFT,\n            FA_CARET_SQUARE_O_RIGHT,\n            FA_CARET_SQUARE_O_UP,\n            FA_CARET_UP,\n            FA_CART_ARROW_DOWN,\n            FA_CART_PLUS,\n            FA_CC,\n            FA_CC_AMEX,\n            FA_CC_DINERS_CLUB,\n            FA_CC_DISCOVER,\n            FA_CC_JCB,\n            FA_CC_MASTERCARD,\n            FA_CC_PAYPAL,\n            FA_CC_STRIPE,\n            FA_CC_VISA,\n            FA_CERTIFICATE,\n            FA_CHAIN,\n            FA_CHAIN_BROKEN,\n            FA_CHECK,\n            FA_CHECK_CIRCLE,\n            FA_CHECK_CIRCLE_O,\n            FA_CHECK_SQUARE,\n            FA_CHECK_SQUARE_O,\n            FA_CHEVRON_CIRCLE_DOWN,\n            FA_CHEVRON_CIRCLE_LEFT,\n            FA_CHEVRON_CIRCLE_RIGHT,\n            FA_CHEVRON_CIRCLE_UP,\n            FA_CHEVRON_DOWN,\n            FA_CHEVRON_LEFT,\n            FA_CHEVRON_RIGHT,\n            FA_CHEVRON_UP,\n            FA_CHILD,\n            FA_CHROME,\n            FA_CIRCLE,\n            FA_CIRCLE_O,\n            FA_CIRCLE_O_NOTCH,\n            FA_CIRCLE_THIN,\n            FA_CLIPBOARD,\n            FA_CLOCK_O,\n            FA_CLONE,\n            FA_CLOSE,\n            FA_CLOUD,\n            FA_CLOUD_DOWNLOAD,\n            FA_CLOUD_UPLOAD,\n            FA_CNY,\n            FA_CODE,\n            FA_CODE_FORK,\n            FA_CODEPEN,\n            FA_CODIEPIE,\n            FA_COFFEE,\n            FA_COG,\n            FA_COGS,\n            FA_COLUMNS,\n            FA_COMMENT,\n            FA_COMMENT_O,\n            FA_COMMENTING,\n            FA_COMMENTING_O,\n            FA_COMMENTS,\n            FA_COMMENTS_O,\n            FA_COMPASS,\n            FA_COMPRESS,\n            FA_CONNECTDEVELOP,\n            FA_CONTAO,\n            FA_COPY,\n            FA_COPYRIGHT,\n            FA_CREATIVE_COMMONS,\n            FA_CREDIT_CARD,\n            FA_CREDIT_CARD_ALT,\n            FA_CROP,\n            FA_CROSSHAIRS,\n            FA_CSS3,\n            FA_CUBE,\n            FA_CUBES,\n            FA_CUT,\n            FA_CUTLERY,\n            FA_DASHBOARD,\n            FA_DASHCUBE,\n            FA_DATABASE,\n            FA_DEDENT,\n            FA_DELICIOUS,\n            FA_DESKTOP,\n            FA_DEVIANTART,\n            FA_DIAMOND,\n            FA_DIGG,\n            FA_DOLLAR,\n            FA_DOT_CIRCLE_O,\n            FA_DOWNLOAD,\n            FA_DRIBBBLE,\n            FA_DROPBOX,\n            FA_DRUPAL,\n            FA_EDGE,\n            FA_EDIT,\n            FA_EJECT,\n            FA_ELLIPSIS_H,\n            FA_ELLIPSIS_V,\n            FA_EMPIRE,\n            FA_ENVELOPE,\n            FA_ENVELOPE_O,\n            FA_ENVELOPE_SQUARE,\n            FA_ERASER,\n            FA_EUR,\n            FA_EURO,\n            FA_EXCHANGE,\n            FA_EXCLAMATION,\n            FA_EXCLAMATION_CIRCLE,\n            FA_EXCLAMATION_TRIANGLE,\n            FA_EXPAND,\n            FA_EXPEDITEDSSL,\n            FA_EXTERNAL_LINK,\n            FA_EXTERNAL_LINK_SQUARE,\n            FA_EYE,\n            FA_EYE_SLASH,\n            FA_EYEDROPPER,\n            FA_FACEBOOK,\n            FA_FACEBOOK_F,\n            FA_FACEBOOK_OFFICIAL,\n            FA_FACEBOOK_SQUARE,\n            FA_FAST_BACKWARD,\n            FA_FAST_FORWARD,\n            FA_FAX,\n            FA_FEED,\n            FA_FEMALE,\n            FA_FIGHTER_JET,\n            FA_FILE,\n            FA_FILE_ARCHIVE_O,\n            FA_FILE_AUDIO_O,\n            FA_FILE_CODE_O,\n            FA_FILE_EXCEL_O,\n            FA_FILE_IMAGE_O,\n            FA_FILE_MOVIE_O,\n            FA_FILE_O,\n            FA_FILE_PDF_O,\n            FA_FILE_PHOTO_O,\n            FA_FILE_PICTURE_O,\n            FA_FILE_POWERPOINT_O,\n            FA_FILE_SOUND_O,\n            FA_FILE_TEXT,\n            FA_FILE_TEXT_O,\n            FA_FILE_VIDEO_O,\n            FA_FILE_WORD_O,\n            FA_FILE_ZIP_O,\n            FA_FILES_O,\n            FA_FILM,\n            FA_FILTER,\n            FA_FIRE,\n            FA_FIRE_EXTINGUISHER,\n            FA_FIREFOX,\n            FA_FLAG,\n            FA_FLAG_CHECKERED,\n            FA_FLAG_O,\n            FA_FLASH,\n            FA_FLASK,\n            FA_FLICKR,\n            FA_FLOPPY_O,\n            FA_FOLDER,\n            FA_FOLDER_O,\n            FA_FOLDER_OPEN,\n            FA_FOLDER_OPEN_O,\n            FA_FONT,\n            FA_FONTICONS,\n            FA_FORT_AWESOME,\n            FA_FORUMBEE,\n            FA_FORWARD,\n            FA_FOURSQUARE,\n            FA_FROWN_O,\n            FA_FUTBOL_O,\n            FA_GAMEPAD,\n            FA_GAVEL,\n            FA_GBP,\n            FA_GE,\n            FA_GEAR,\n            FA_GEARS,\n            FA_GENDERLESS,\n            FA_GET_POCKET,\n            FA_GG,\n            FA_GG_CIRCLE,\n            FA_GIFT,\n            FA_GIT,\n            FA_GIT_SQUARE,\n            FA_GITHUB,\n            FA_GITHUB_ALT,\n            FA_GITHUB_SQUARE,\n            FA_GITTIP,\n            FA_GLASS,\n            FA_GLOBE,\n            FA_GOOGLE,\n            FA_GOOGLE_PLUS,\n            FA_GOOGLE_PLUS_SQUARE,\n            FA_GOOGLE_WALLET,\n            FA_GRADUATION_CAP,\n            FA_GRATIPAY,\n            FA_GROUP,\n            FA_H_SQUARE,\n            FA_HACKER_NEWS,\n            FA_HAND_GRAB_O,\n            FA_HAND_LIZARD_O,\n            FA_HAND_O_DOWN,\n            FA_HAND_O_LEFT,\n            FA_HAND_O_RIGHT,\n            FA_HAND_O_UP,\n            FA_HAND_PAPER_O,\n            FA_HAND_PEACE_O,\n            FA_HAND_POINTER_O,\n            FA_HAND_ROCK_O,\n            FA_HAND_SCISSORS_O,\n            FA_HAND_SPOCK_O,\n            FA_HAND_STOP_O,\n            FA_HASHTAG,\n            FA_HDD_O,\n            FA_HEADER,\n            FA_HEADPHONES,\n            FA_HEART,\n            FA_HEART_O,\n            FA_HEARTBEAT,\n            FA_HISTORY,\n            FA_HOME,\n            FA_HOSPITAL_O,\n            FA_HOTEL,\n            FA_HOURGLASS,\n            FA_HOURGLASS_1,\n            FA_HOURGLASS_2,\n            FA_HOURGLASS_3,\n            FA_HOURGLASS_END,\n            FA_HOURGLASS_HALF,\n            FA_HOURGLASS_O,\n            FA_HOURGLASS_START,\n            FA_HOUZZ,\n            FA_HTML5,\n            FA_I_CURSOR,\n            FA_ILS,\n            FA_IMAGE,\n            FA_INBOX,\n            FA_INDENT,\n            FA_INDUSTRY,\n            FA_INFO,\n            FA_INFO_CIRCLE,\n            FA_INR,\n            FA_INSTAGRAM,\n            FA_INSTITUTION,\n            FA_INTERNET_EXPLORER,\n            FA_INTERSEX,\n            FA_IOXHOST,\n            FA_ITALIC,\n            FA_JOOMLA,\n            FA_JPY,\n            FA_JSFIDDLE,\n            FA_KEY,\n            FA_KEYBOARD_O,\n            FA_KRW,\n            FA_LANGUAGE,\n            FA_LAPTOP,\n            FA_LASTFM,\n            FA_LASTFM_SQUARE,\n            FA_LEAF,\n            FA_LEANPUB,\n            FA_LEGAL,\n            FA_LEMON_O,\n            FA_LEVEL_DOWN,\n            FA_LEVEL_UP,\n            FA_LIFE_BOUY,\n            FA_LIFE_BUOY,\n            FA_LIFE_RING,\n            FA_LIFE_SAVER,\n            FA_LIGHTBULB_O,\n            FA_LINE_CHART,\n            FA_LINK,\n            FA_LINKEDIN,\n            FA_LINKEDIN_SQUARE,\n            FA_LINUX,\n            FA_LIST,\n            FA_LIST_ALT,\n            FA_LIST_OL,\n            FA_LIST_UL,\n            FA_LOCATION_ARROW,\n            FA_LOCK,\n            FA_LONG_ARROW_DOWN,\n            FA_LONG_ARROW_LEFT,\n            FA_LONG_ARROW_RIGHT,\n            FA_LONG_ARROW_UP,\n            FA_MAGIC,\n            FA_MAGNET,\n            FA_MAIL_FORWARD,\n            FA_MAIL_REPLY,\n            FA_MAIL_REPLY_ALL,\n            FA_MALE,\n            FA_MAP,\n            FA_MAP_MARKER,\n            FA_MAP_O,\n            FA_MAP_PIN,\n            FA_MAP_SIGNS,\n            FA_MARS,\n            FA_MARS_DOUBLE,\n            FA_MARS_STROKE,\n            FA_MARS_STROKE_H,\n            FA_MARS_STROKE_V,\n            FA_MAXCDN,\n            FA_MEANPATH,\n            FA_MEDIUM,\n            FA_MEDKIT,\n            FA_MEH_O,\n            FA_MERCURY,\n            FA_MICROPHONE,\n            FA_MICROPHONE_SLASH,\n            FA_MINUS,\n            FA_MINUS_CIRCLE,\n            FA_MINUS_SQUARE,\n            FA_MINUS_SQUARE_O,\n            FA_MIXCLOUD,\n            FA_MOBILE,\n            FA_MOBILE_PHONE,\n            FA_MODX,\n            FA_MONEY,\n            FA_MOON_O,\n            FA_MORTAR_BOARD,\n            FA_MOTORCYCLE,\n            FA_MOUSE_POINTER,\n            FA_MUSIC,\n            FA_NAVICON,\n            FA_NEUTER,\n            FA_NEWSPAPER_O,\n            FA_OBJECT_GROUP,\n            FA_OBJECT_UNGROUP,\n            FA_ODNOKLASSNIKI,\n            FA_ODNOKLASSNIKI_SQUARE,\n            FA_OPENCART,\n            FA_OPENID,\n            FA_OPERA,\n            FA_OPTIN_MONSTER,\n            FA_OUTDENT,\n            FA_PAGELINES,\n            FA_PAINT_BRUSH,\n            FA_PAPER_PLANE,\n            FA_PAPER_PLANE_O,\n            FA_PAPERCLIP,\n            FA_PARAGRAPH,\n            FA_PASTE,\n            FA_PAUSE,\n            FA_PAUSE_CIRCLE,\n            FA_PAUSE_CIRCLE_O,\n            FA_PAW,\n            FA_PAYPAL,\n            FA_PENCIL,\n            FA_PENCIL_SQUARE,\n            FA_PENCIL_SQUARE_O,\n            FA_PERCENT,\n            FA_PHONE,\n            FA_PHONE_SQUARE,\n            FA_PHOTO,\n            FA_PICTURE_O,\n            FA_PIE_CHART,\n            FA_PIED_PIPER,\n            FA_PIED_PIPER_ALT,\n            FA_PINTEREST,\n            FA_PINTEREST_P,\n            FA_PINTEREST_SQUARE,\n            FA_PLANE,\n            FA_PLAY,\n            FA_PLAY_CIRCLE,\n            FA_PLAY_CIRCLE_O,\n            FA_PLUG,\n            FA_PLUS,\n            FA_PLUS_CIRCLE,\n            FA_PLUS_SQUARE,\n            FA_PLUS_SQUARE_O,\n            FA_POWER_OFF,\n            FA_PRINT,\n            FA_PRODUCT_HUNT,\n            FA_PUZZLE_PIECE,\n            FA_QQ,\n            FA_QRCODE,\n            FA_QUESTION,\n            FA_QUESTION_CIRCLE,\n            FA_QUOTE_LEFT,\n            FA_QUOTE_RIGHT,\n            FA_RA,\n            FA_RANDOM,\n            FA_REBEL,\n            FA_RECYCLE,\n            FA_REDDIT,\n            FA_REDDIT_ALIEN,\n            FA_REDDIT_SQUARE,\n            FA_REFRESH,\n            FA_REGISTERED,\n            FA_REMOVE,\n            FA_RENREN,\n            FA_REORDER,\n            FA_REPEAT,\n            FA_REPLY,\n            FA_REPLY_ALL,\n            FA_RETWEET,\n            FA_RMB,\n            FA_ROAD,\n            FA_ROCKET,\n            FA_ROTATE_LEFT,\n            FA_ROTATE_RIGHT,\n            FA_ROUBLE,\n            FA_RSS,\n            FA_RSS_SQUARE,\n            FA_RUB,\n            FA_RUBLE,\n            FA_RUPEE,\n            FA_SAFARI,\n            FA_SAVE,\n            FA_SCISSORS,\n            FA_SCRIBD,\n            FA_SEARCH,\n            FA_SEARCH_MINUS,\n            FA_SEARCH_PLUS,\n            FA_SELLSY,\n            FA_SEND,\n            FA_SEND_O,\n            FA_SERVER,\n            FA_SHARE,\n            FA_SHARE_ALT,\n            FA_SHARE_ALT_SQUARE,\n            FA_SHARE_SQUARE,\n            FA_SHARE_SQUARE_O,\n            FA_SHEKEL,\n            FA_SHEQEL,\n            FA_SHIELD,\n            FA_SHIP,\n            FA_SHIRTSINBULK,\n            FA_SHOPPING_BAG,\n            FA_SHOPPING_BASKET,\n            FA_SHOPPING_CART,\n            FA_SIGN_IN,\n            FA_SIGN_OUT,\n            FA_SIGNAL,\n            FA_SIMPLYBUILT,\n            FA_SITEMAP,\n            FA_SKYATLAS,\n            FA_SKYPE,\n            FA_SLACK,\n            FA_SLIDERS,\n            FA_SLIDESHARE,\n            FA_SMILE_O,\n            FA_SOCCER_BALL_O,\n            FA_SORT,\n            FA_SORT_ALPHA_ASC,\n            FA_SORT_ALPHA_DESC,\n            FA_SORT_AMOUNT_ASC,\n            FA_SORT_AMOUNT_DESC,\n            FA_SORT_ASC,\n            FA_SORT_DESC,\n            FA_SORT_DOWN,\n            FA_SORT_NUMERIC_ASC,\n            FA_SORT_NUMERIC_DESC,\n            FA_SORT_UP,\n            FA_SOUNDCLOUD,\n            FA_SPACE_SHUTTLE,\n            FA_SPINNER,\n            FA_SPOON,\n            FA_SPOTIFY,\n            FA_SQUARE,\n            FA_SQUARE_O,\n            FA_STACK_EXCHANGE,\n            FA_STACK_OVERFLOW,\n            FA_STAR,\n            FA_STAR_HALF,\n            FA_STAR_HALF_EMPTY,\n            FA_STAR_HALF_FULL,\n            FA_STAR_HALF_O,\n            FA_STAR_O,\n            FA_STEAM,\n            FA_STEAM_SQUARE,\n            FA_STEP_BACKWARD,\n            FA_STEP_FORWARD,\n            FA_STETHOSCOPE,\n            FA_STICKY_NOTE,\n            FA_STICKY_NOTE_O,\n            FA_STOP,\n            FA_STOP_CIRCLE,\n            FA_STOP_CIRCLE_O,\n            FA_STREET_VIEW,\n            FA_STRIKETHROUGH,\n            FA_STUMBLEUPON,\n            FA_STUMBLEUPON_CIRCLE,\n            FA_SUBSCRIPT,\n            FA_SUBWAY,\n            FA_SUITCASE,\n            FA_SUN_O,\n            FA_SUPERSCRIPT,\n            FA_SUPPORT,\n            FA_TABLE,\n            FA_TABLET,\n            FA_TACHOMETER,\n            FA_TAG,\n            FA_TAGS,\n            FA_TASKS,\n            FA_TAXI,\n            FA_TELEVISION,\n            FA_TENCENT_WEIBO,\n            FA_TERMINAL,\n            FA_TEXT_HEIGHT,\n            FA_TEXT_WIDTH,\n            FA_TH,\n            FA_TH_LARGE,\n            FA_TH_LIST,\n            FA_THUMB_TACK,\n            FA_THUMBS_DOWN,\n            FA_THUMBS_O_DOWN,\n            FA_THUMBS_O_UP,\n            FA_THUMBS_UP,\n            FA_TICKET,\n            FA_TIMES,\n            FA_TIMES_CIRCLE,\n            FA_TIMES_CIRCLE_O,\n            FA_TINT,\n            FA_TOGGLE_DOWN,\n            FA_TOGGLE_LEFT,\n            FA_TOGGLE_OFF,\n            FA_TOGGLE_ON,\n            FA_TOGGLE_RIGHT,\n            FA_TOGGLE_UP,\n            FA_TRADEMARK,\n            FA_TRAIN,\n            FA_TRANSGENDER,\n            FA_TRANSGENDER_ALT,\n            FA_TRASH,\n            FA_TRASH_O,\n            FA_TREE,\n            FA_TRELLO,\n            FA_TRIPADVISOR,\n            FA_TROPHY,\n            FA_TRUCK,\n            FA_TRY,\n            FA_TTY,\n            FA_TUMBLR,\n            FA_TUMBLR_SQUARE,\n            FA_TURKISH_LIRA,\n            FA_TV,\n            FA_TWITCH,\n            FA_TWITTER,\n            FA_TWITTER_SQUARE,\n            FA_UMBRELLA,\n            FA_UNDERLINE,\n            FA_UNDO,\n            FA_UNIVERSITY,\n            FA_UNLINK,\n            FA_UNLOCK,\n            FA_UNLOCK_ALT,\n            FA_UNSORTED,\n            FA_UPLOAD,\n            FA_USB,\n            FA_USD,\n            FA_USER,\n            FA_USER_MD,\n            FA_USER_PLUS,\n            FA_USER_SECRET,\n            FA_USER_TIMES,\n            FA_USERS,\n            FA_VENUS,\n            FA_VENUS_DOUBLE,\n            FA_VENUS_MARS,\n            FA_VIACOIN,\n            FA_VIDEO_CAMERA,\n            FA_VIMEO,\n            FA_VIMEO_SQUARE,\n            FA_VINE,\n            FA_VK,\n            FA_VOLUME_DOWN,\n            FA_VOLUME_OFF,\n            FA_VOLUME_UP,\n            FA_WARNING,\n            FA_WECHAT,\n            FA_WEIBO,\n            FA_WEIXIN,\n            FA_WHATSAPP,\n            FA_WHEELCHAIR,\n            FA_WIFI,\n            FA_WIKIPEDIA_W,\n            FA_WINDOWS,\n            FA_WON,\n            FA_WORDPRESS,\n            FA_WRENCH,\n            FA_XING,\n            FA_XING_SQUARE,\n            FA_Y_COMBINATOR,\n            FA_Y_COMBINATOR_SQUARE,\n            FA_YAHOO,\n            FA_YC,\n            FA_YC_SQUARE,\n            FA_YELP,\n            FA_YEN,\n            FA_YOUTUBE,\n            FA_YOUTUBE_PLAY,\n            FA_YOUTUBE_SQUARE,\n            //4.6\n            FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING,\n            FA_ASL_INTERPRETING,\n            FA_ASSISTIVE_LISTENING_SYSTEMS,\n            FA_AUDIO_DESCRIPTION,\n            FA_BLIND,\n            FA_BRAILLE,\n            FA_DEAF,\n            FA_DEAFNESS,\n            FA_ENVIRA,\n            FA_FA,\n            FA_FIRST_ORDER,\n            FA_FONT_AWESOME,\n            FA_GITLAB,\n            FA_GLIDE,\n            FA_GLIDE_G,\n            FA_GOOGLE_PLUS_CIRCLE,\n            FA_GOOGLE_PLUS_OFFICIAL,\n            FA_HARD_OF_HEARING,\n            FA_LOW_VISION,\n            FA_QUESTION_CIRCLE_O,\n            FA_SIGN_LANGUAGE,\n            FA_SIGNING,\n            FA_SNAPCHAT,\n            FA_SNAPCHAT_GHOST,\n            FA_SNAPCHAT_SQUARE,\n            FA_THEMEISLE,\n            FA_UNIVERSAL_ACCESS,\n            FA_VIADEO,\n            FA_VIADEO_SQUARE,\n            FA_VOLUME_CONTROL_PHONE,\n            FA_WHEELCHAIR_ALT,\n            FA_WPBEGINNER,\n            FA_WPFORMS,\n            FA_YOAST,\n            //4.7\n            FA_ADDRESS_BOOK,\n            FA_ADDRESS_BOOK_O,\n            FA_ADDRESS_CARD,\n            FA_ADDRESS_CARD_O,\n            FA_BANDCAMP,\n            FA_BATH,\n            FA_BATHTUB,\n            FA_DRIVERS_LICENSE,\n            FA_DRIVERS_LICENSE_O,\n            FA_EERCAST,\n            FA_ENVELOPE_OPEN,\n            FA_ENVELOPE_OPEN_O,\n            FA_ETSY,\n            FA_FREE_CODE_CAMP,\n            FA_GRAV,\n            FA_HANDSHAKE_O,\n            FA_ID_BADGE,\n            FA_ID_CARD,\n            FA_ID_CARD_O,\n            FA_IMDB,\n            FA_LINODE,\n            FA_MEETUP,\n            FA_MICROCHIP,\n            FA_PODCAST,\n            FA_QUORA,\n            FA_RAVELRY,\n            FA_S15,\n            FA_SHOWER,\n            FA_SNOWFLAKE_O,\n            FA_SUPERPOWERS,\n            FA_TELEGRAM,\n            FA_THERMOMETER,\n            FA_THERMOMETER_0,\n            FA_THERMOMETER_1,\n            FA_THERMOMETER_2,\n            FA_THERMOMETER_3,\n            FA_THERMOMETER_4,\n            FA_THERMOMETER_EMPTY,\n            FA_THERMOMETER_FULL,\n            FA_THERMOMETER_HALF,\n            FA_THERMOMETER_QUARTER,\n            FA_THERMOMETER_THREE_QUARTERS,\n            FA_TIMES_RECTANGLE,\n            FA_TIMES_RECTANGLE_O,\n            FA_USER_CIRCLE,\n            FA_USER_CIRCLE_O,\n            FA_USER_O,\n            FA_VCARD,\n            FA_VCARD_O,\n            FA_WINDOW_CLOSE,\n            FA_WINDOW_CLOSE_O,\n            FA_WINDOW_MAXIMIZE,\n            FA_WINDOW_MINIMIZE,\n            FA_WINDOW_RESTORE,\n            FA_WPEXPLORER\n    }) public @interface Icon {\n    }\n\n    public static final String FA_ADJUST = \"fa_adjust\";\n    public static final String FA_ADN = \"fa_adn\";\n    public static final String FA_ALIGN_CENTER = \"fa_align_center\";\n    public static final String FA_ALIGN_JUSTIFY = \"fa_align_justify\";\n    public static final String FA_ALIGN_LEFT = \"fa_align_left\";\n    public static final String FA_ALIGN_RIGHT = \"fa_align_right\";\n    public static final String FA_AMAZON = \"fa_amazon\";\n    public static final String FA_AMBULANCE = \"fa_ambulance\";\n    public static final String FA_ANCHOR = \"fa_anchor\";\n    public static final String FA_ANDROID = \"fa_android\";\n    public static final String FA_ANGELLIST = \"fa_angellist\";\n    public static final String FA_ANGLE_DOUBLE_DOWN = \"fa_angle_double_down\";\n    public static final String FA_ANGLE_DOUBLE_LEFT = \"fa_angle_double_left\";\n    public static final String FA_ANGLE_DOUBLE_RIGHT = \"fa_angle_double_right\";\n    public static final String FA_ANGLE_DOUBLE_UP = \"fa_angle_double_up\";\n    public static final String FA_ANGLE_DOWN = \"fa_angle_down\";\n    public static final String FA_ANGLE_LEFT = \"fa_angle_left\";\n    public static final String FA_ANGLE_RIGHT = \"fa_angle_right\";\n    public static final String FA_ANGLE_UP = \"fa_angle_up\";\n    public static final String FA_APPLE = \"fa_apple\";\n    public static final String FA_ARCHIVE = \"fa_archive\";\n    public static final String FA_AREA_CHART = \"fa_area_chart\";\n    public static final String FA_ARROW_CIRCLE_DOWN = \"fa_arrow_circle_down\";\n    public static final String FA_ARROW_CIRCLE_LEFT = \"fa_arrow_circle_left\";\n    public static final String FA_ARROW_CIRCLE_O_DOWN = \"fa_arrow_circle_o_down\";\n    public static final String FA_ARROW_CIRCLE_O_LEFT = \"fa_arrow_circle_o_left\";\n    public static final String FA_ARROW_CIRCLE_O_RIGHT = \"fa_arrow_circle_o_right\";\n    public static final String FA_ARROW_CIRCLE_O_UP = \"fa_arrow_circle_o_up\";\n    public static final String FA_ARROW_CIRCLE_RIGHT = \"fa_arrow_circle_right\";\n    public static final String FA_ARROW_CIRCLE_UP = \"fa_arrow_circle_up\";\n    public static final String FA_ARROW_DOWN = \"fa_arrow_down\";\n    public static final String FA_ARROW_LEFT = \"fa_arrow_left\";\n    public static final String FA_ARROW_RIGHT = \"fa_arrow_right\";\n    public static final String FA_ARROW_UP = \"fa_arrow_up\";\n    public static final String FA_ARROWS = \"fa_arrows\";\n    public static final String FA_ARROWS_ALT = \"fa_arrows_alt\";\n    public static final String FA_ARROWS_H = \"fa_arrows_h\";\n    public static final String FA_ARROWS_V = \"fa_arrows_v\";\n    public static final String FA_ASTERISK = \"fa_asterisk\";\n    public static final String FA_AT = \"fa_at\";\n    public static final String FA_AUTOMOBILE = \"fa_automobile\";\n    public static final String FA_BACKWARD = \"fa_backward\";\n    public static final String FA_BALANCE_SCALE = \"fa_balance_scale\";\n    public static final String FA_BAN = \"fa_ban\";\n    public static final String FA_BANK = \"fa_bank\";\n    public static final String FA_BAR_CHART = \"fa_bar_chart\";\n    public static final String FA_BAR_CHART_O = \"fa_bar_chart_o\";\n    public static final String FA_BARCODE = \"fa_barcode\";\n    public static final String FA_BARS = \"fa_bars\";\n    public static final String FA_BATTERY_0 = \"fa_battery_0\";\n    public static final String FA_BATTERY_1 = \"fa_battery_1\";\n    public static final String FA_BATTERY_2 = \"fa_battery_2\";\n    public static final String FA_BATTERY_3 = \"fa_battery_3\";\n    public static final String FA_BATTERY_4 = \"fa_battery_4\";\n    public static final String FA_BATTERY_EMPTY = \"fa_battery_empty\";\n    public static final String FA_BATTERY_FULL = \"fa_battery_full\";\n    public static final String FA_BATTERY_HALF = \"fa_battery_half\";\n    public static final String FA_BATTERY_QUARTER = \"fa_battery_quarter\";\n    public static final String FA_BATTERY_THREE_QUARTERS = \"fa_battery_three_quarters\";\n    public static final String FA_BED = \"fa_bed\";\n    public static final String FA_BEER = \"fa_beer\";\n    public static final String FA_BEHANCE = \"fa_behance\";\n    public static final String FA_BEHANCE_SQUARE = \"fa_behance_square\";\n    public static final String FA_BELL = \"fa_bell\";\n    public static final String FA_BELL_O = \"fa_bell_o\";\n    public static final String FA_BELL_SLASH = \"fa_bell_slash\";\n    public static final String FA_BELL_SLASH_O = \"fa_bell_slash_o\";\n    public static final String FA_BICYCLE = \"fa_bicycle\";\n    public static final String FA_BINOCULARS = \"fa_binoculars\";\n    public static final String FA_BIRTHDAY_CAKE = \"fa_birthday_cake\";\n    public static final String FA_BITBUCKET = \"fa_bitbucket\";\n    public static final String FA_BITBUCKET_SQUARE = \"fa_bitbucket_square\";\n    public static final String FA_BITCOIN = \"fa_bitcoin\";\n    public static final String FA_BLACK_TIE = \"fa_black_tie\";\n    public static final String FA_BLUETOOTH = \"fa_bluetooth\";\n    public static final String FA_BLUETOOTH_B = \"fa_bluetooth_b\";\n    public static final String FA_BOLD = \"fa_bold\";\n    public static final String FA_BOLT = \"fa_bolt\";\n    public static final String FA_BOMB = \"fa_bomb\";\n    public static final String FA_BOOK = \"fa_book\";\n    public static final String FA_BOOKMARK = \"fa_bookmark\";\n    public static final String FA_BOOKMARK_O = \"fa_bookmark_o\";\n    public static final String FA_BRIEFCASE = \"fa_briefcase\";\n    public static final String FA_BTC = \"fa_btc\";\n    public static final String FA_BUG = \"fa_bug\";\n    public static final String FA_BUILDING = \"fa_building\";\n    public static final String FA_BUILDING_O = \"fa_building_o\";\n    public static final String FA_BULLHORN = \"fa_bullhorn\";\n    public static final String FA_BULLSEYE = \"fa_bullseye\";\n    public static final String FA_BUS = \"fa_bus\";\n    public static final String FA_BUYSELLADS = \"fa_buysellads\";\n    public static final String FA_CAB = \"fa_cab\";\n    public static final String FA_CALCULATOR = \"fa_calculator\";\n    public static final String FA_CALENDAR = \"fa_calendar\";\n    public static final String FA_CALENDAR_CHECK_O = \"fa_calendar_check_o\";\n    public static final String FA_CALENDAR_MINUS_O = \"fa_calendar_minus_o\";\n    public static final String FA_CALENDAR_O = \"fa_calendar_o\";\n    public static final String FA_CALENDAR_PLUS_O = \"fa_calendar_plus_o\";\n    public static final String FA_CALENDAR_TIMES_O = \"fa_calendar_times_o\";\n    public static final String FA_CAMERA = \"fa_camera\";\n    public static final String FA_CAMERA_RETRO = \"fa_camera_retro\";\n    public static final String FA_CAR = \"fa_car\";\n    public static final String FA_CARET_DOWN = \"fa_caret_down\";\n    public static final String FA_CARET_LEFT = \"fa_caret_left\";\n    public static final String FA_CARET_RIGHT = \"fa_caret_right\";\n    public static final String FA_CARET_SQUARE_O_DOWN = \"fa_caret_square_o_down\";\n    public static final String FA_CARET_SQUARE_O_LEFT = \"fa_caret_square_o_left\";\n    public static final String FA_CARET_SQUARE_O_RIGHT = \"fa_caret_square_o_right\";\n    public static final String FA_CARET_SQUARE_O_UP = \"fa_caret_square_o_up\";\n    public static final String FA_CARET_UP = \"fa_caret_up\";\n    public static final String FA_CART_ARROW_DOWN = \"fa_cart_arrow_down\";\n    public static final String FA_CART_PLUS = \"fa_cart_plus\";\n    public static final String FA_CC = \"fa_cc\";\n    public static final String FA_CC_AMEX = \"fa_cc_amex\";\n    public static final String FA_CC_DINERS_CLUB = \"fa_cc_diners_club\";\n    public static final String FA_CC_DISCOVER = \"fa_cc_discover\";\n    public static final String FA_CC_JCB = \"fa_cc_jcb\";\n    public static final String FA_CC_MASTERCARD = \"fa_cc_mastercard\";\n    public static final String FA_CC_PAYPAL = \"fa_cc_paypal\";\n    public static final String FA_CC_STRIPE = \"fa_cc_stripe\";\n    public static final String FA_CC_VISA = \"fa_cc_visa\";\n    public static final String FA_CERTIFICATE = \"fa_certificate\";\n    public static final String FA_CHAIN = \"fa_chain\";\n    public static final String FA_CHAIN_BROKEN = \"fa_chain_broken\";\n    public static final String FA_CHECK = \"fa_check\";\n    public static final String FA_CHECK_CIRCLE = \"fa_check_circle\";\n    public static final String FA_CHECK_CIRCLE_O = \"fa_check_circle_o\";\n    public static final String FA_CHECK_SQUARE = \"fa_check_square\";\n    public static final String FA_CHECK_SQUARE_O = \"fa_check_square_o\";\n    public static final String FA_CHEVRON_CIRCLE_DOWN = \"fa_chevron_circle_down\";\n    public static final String FA_CHEVRON_CIRCLE_LEFT = \"fa_chevron_circle_left\";\n    public static final String FA_CHEVRON_CIRCLE_RIGHT = \"fa_chevron_circle_right\";\n    public static final String FA_CHEVRON_CIRCLE_UP = \"fa_chevron_circle_up\";\n    public static final String FA_CHEVRON_DOWN = \"fa_chevron_down\";\n    public static final String FA_CHEVRON_LEFT = \"fa_chevron_left\";\n    public static final String FA_CHEVRON_RIGHT = \"fa_chevron_right\";\n    public static final String FA_CHEVRON_UP = \"fa_chevron_up\";\n    public static final String FA_CHILD = \"fa_child\";\n    public static final String FA_CHROME = \"fa_chrome\";\n    public static final String FA_CIRCLE = \"fa_circle\";\n    public static final String FA_CIRCLE_O = \"fa_circle_o\";\n    public static final String FA_CIRCLE_O_NOTCH = \"fa_circle_o_notch\";\n    public static final String FA_CIRCLE_THIN = \"fa_circle_thin\";\n    public static final String FA_CLIPBOARD = \"fa_clipboard\";\n    public static final String FA_CLOCK_O = \"fa_clock_o\";\n    public static final String FA_CLONE = \"fa_clone\";\n    public static final String FA_CLOSE = \"fa_close\";\n    public static final String FA_CLOUD = \"fa_cloud\";\n    public static final String FA_CLOUD_DOWNLOAD = \"fa_cloud_download\";\n    public static final String FA_CLOUD_UPLOAD = \"fa_cloud_upload\";\n    public static final String FA_CNY = \"fa_cny\";\n    public static final String FA_CODE = \"fa_code\";\n    public static final String FA_CODE_FORK = \"fa_code_fork\";\n    public static final String FA_CODEPEN = \"fa_codepen\";\n    public static final String FA_CODIEPIE = \"fa_codiepie\";\n    public static final String FA_COFFEE = \"fa_coffee\";\n    public static final String FA_COG = \"fa_cog\";\n    public static final String FA_COGS = \"fa_cogs\";\n    public static final String FA_COLUMNS = \"fa_columns\";\n    public static final String FA_COMMENT = \"fa_comment\";\n    public static final String FA_COMMENT_O = \"fa_comment_o\";\n    public static final String FA_COMMENTING = \"fa_commenting\";\n    public static final String FA_COMMENTING_O = \"fa_commenting_o\";\n    public static final String FA_COMMENTS = \"fa_comments\";\n    public static final String FA_COMMENTS_O = \"fa_comments_o\";\n    public static final String FA_COMPASS = \"fa_compass\";\n    public static final String FA_COMPRESS = \"fa_compress\";\n    public static final String FA_CONNECTDEVELOP = \"fa_connectdevelop\";\n    public static final String FA_CONTAO = \"fa_contao\";\n    public static final String FA_COPY = \"fa_copy\";\n    public static final String FA_COPYRIGHT = \"fa_copyright\";\n    public static final String FA_CREATIVE_COMMONS = \"fa_creative_commons\";\n    public static final String FA_CREDIT_CARD = \"fa_credit_card\";\n    public static final String FA_CREDIT_CARD_ALT = \"fa_credit_card_alt\";\n    public static final String FA_CROP = \"fa_crop\";\n    public static final String FA_CROSSHAIRS = \"fa_crosshairs\";\n    public static final String FA_CSS3 = \"fa_css3\";\n    public static final String FA_CUBE = \"fa_cube\";\n    public static final String FA_CUBES = \"fa_cubes\";\n    public static final String FA_CUT = \"fa_cut\";\n    public static final String FA_CUTLERY = \"fa_cutlery\";\n    public static final String FA_DASHBOARD = \"fa_dashboard\";\n    public static final String FA_DASHCUBE = \"fa_dashcube\";\n    public static final String FA_DATABASE = \"fa_database\";\n    public static final String FA_DEDENT = \"fa_dedent\";\n    public static final String FA_DELICIOUS = \"fa_delicious\";\n    public static final String FA_DESKTOP = \"fa_desktop\";\n    public static final String FA_DEVIANTART = \"fa_deviantart\";\n    public static final String FA_DIAMOND = \"fa_diamond\";\n    public static final String FA_DIGG = \"fa_digg\";\n    public static final String FA_DOLLAR = \"fa_dollar\";\n    public static final String FA_DOT_CIRCLE_O = \"fa_dot_circle_o\";\n    public static final String FA_DOWNLOAD = \"fa_download\";\n    public static final String FA_DRIBBBLE = \"fa_dribbble\";\n    public static final String FA_DROPBOX = \"fa_dropbox\";\n    public static final String FA_DRUPAL = \"fa_drupal\";\n    public static final String FA_EDGE = \"fa_edge\";\n    public static final String FA_EDIT = \"fa_edit\";\n    public static final String FA_EJECT = \"fa_eject\";\n    public static final String FA_ELLIPSIS_H = \"fa_ellipsis_h\";\n    public static final String FA_ELLIPSIS_V = \"fa_ellipsis_v\";\n    public static final String FA_EMPIRE = \"fa_empire\";\n    public static final String FA_ENVELOPE = \"fa_envelope\";\n    public static final String FA_ENVELOPE_O = \"fa_envelope_o\";\n    public static final String FA_ENVELOPE_SQUARE = \"fa_envelope_square\";\n    public static final String FA_ERASER = \"fa_eraser\";\n    public static final String FA_EUR = \"fa_eur\";\n    public static final String FA_EURO = \"fa_euro\";\n    public static final String FA_EXCHANGE = \"fa_exchange\";\n    public static final String FA_EXCLAMATION = \"fa_exclamation\";\n    public static final String FA_EXCLAMATION_CIRCLE = \"fa_exclamation_circle\";\n    public static final String FA_EXCLAMATION_TRIANGLE = \"fa_exclamation_triangle\";\n    public static final String FA_EXPAND = \"fa_expand\";\n    public static final String FA_EXPEDITEDSSL = \"fa_expeditedssl\";\n    public static final String FA_EXTERNAL_LINK = \"fa_external_link\";\n    public static final String FA_EXTERNAL_LINK_SQUARE = \"fa_external_link_square\";\n    public static final String FA_EYE = \"fa_eye\";\n    public static final String FA_EYE_SLASH = \"fa_eye_slash\";\n    public static final String FA_EYEDROPPER = \"fa_eyedropper\";\n    public static final String FA_FACEBOOK = \"fa_facebook\";\n    public static final String FA_FACEBOOK_F = \"fa_facebook_f\";\n    public static final String FA_FACEBOOK_OFFICIAL = \"fa_facebook_official\";\n    public static final String FA_FACEBOOK_SQUARE = \"fa_facebook_square\";\n    public static final String FA_FAST_BACKWARD = \"fa_fast_backward\";\n    public static final String FA_FAST_FORWARD = \"fa_fast_forward\";\n    public static final String FA_FAX = \"fa_fax\";\n    public static final String FA_FEED = \"fa_feed\";\n    public static final String FA_FEMALE = \"fa_female\";\n    public static final String FA_FIGHTER_JET = \"fa_fighter_jet\";\n    public static final String FA_FILE = \"fa_file\";\n    public static final String FA_FILE_ARCHIVE_O = \"fa_file_archive_o\";\n    public static final String FA_FILE_AUDIO_O = \"fa_file_audio_o\";\n    public static final String FA_FILE_CODE_O = \"fa_file_code_o\";\n    public static final String FA_FILE_EXCEL_O = \"fa_file_excel_o\";\n    public static final String FA_FILE_IMAGE_O = \"fa_file_image_o\";\n    public static final String FA_FILE_MOVIE_O = \"fa_file_movie_o\";\n    public static final String FA_FILE_O = \"fa_file_o\";\n    public static final String FA_FILE_PDF_O = \"fa_file_pdf_o\";\n    public static final String FA_FILE_PHOTO_O = \"fa_file_photo_o\";\n    public static final String FA_FILE_PICTURE_O = \"fa_file_picture_o\";\n    public static final String FA_FILE_POWERPOINT_O = \"fa_file_powerpoint_o\";\n    public static final String FA_FILE_SOUND_O = \"fa_file_sound_o\";\n    public static final String FA_FILE_TEXT = \"fa_file_text\";\n    public static final String FA_FILE_TEXT_O = \"fa_file_text_o\";\n    public static final String FA_FILE_VIDEO_O = \"fa_file_video_o\";\n    public static final String FA_FILE_WORD_O = \"fa_file_word_o\";\n    public static final String FA_FILE_ZIP_O = \"fa_file_zip_o\";\n    public static final String FA_FILES_O = \"fa_files_o\";\n    public static final String FA_FILM = \"fa_film\";\n    public static final String FA_FILTER = \"fa_filter\";\n    public static final String FA_FIRE = \"fa_fire\";\n    public static final String FA_FIRE_EXTINGUISHER = \"fa_fire_extinguisher\";\n    public static final String FA_FIREFOX = \"fa_firefox\";\n    public static final String FA_FLAG = \"fa_flag\";\n    public static final String FA_FLAG_CHECKERED = \"fa_flag_checkered\";\n    public static final String FA_FLAG_O = \"fa_flag_o\";\n    public static final String FA_FLASH = \"fa_flash\";\n    public static final String FA_FLASK = \"fa_flask\";\n    public static final String FA_FLICKR = \"fa_flickr\";\n    public static final String FA_FLOPPY_O = \"fa_floppy_o\";\n    public static final String FA_FOLDER = \"fa_folder\";\n    public static final String FA_FOLDER_O = \"fa_folder_o\";\n    public static final String FA_FOLDER_OPEN = \"fa_folder_open\";\n    public static final String FA_FOLDER_OPEN_O = \"fa_folder_open_o\";\n    public static final String FA_FONT = \"fa_font\";\n    public static final String FA_FONTICONS = \"fa_fonticons\";\n    public static final String FA_FORT_AWESOME = \"fa_fort_awesome\";\n    public static final String FA_FORUMBEE = \"fa_forumbee\";\n    public static final String FA_FORWARD = \"fa_forward\";\n    public static final String FA_FOURSQUARE = \"fa_foursquare\";\n    public static final String FA_FROWN_O = \"fa_frown_o\";\n    public static final String FA_FUTBOL_O = \"fa_futbol_o\";\n    public static final String FA_GAMEPAD = \"fa_gamepad\";\n    public static final String FA_GAVEL = \"fa_gavel\";\n    public static final String FA_GBP = \"fa_gbp\";\n    public static final String FA_GE = \"fa_ge\";\n    public static final String FA_GEAR = \"fa_gear\";\n    public static final String FA_GEARS = \"fa_gears\";\n    public static final String FA_GENDERLESS = \"fa_genderless\";\n    public static final String FA_GET_POCKET = \"fa_get_pocket\";\n    public static final String FA_GG = \"fa_gg\";\n    public static final String FA_GG_CIRCLE = \"fa_gg_circle\";\n    public static final String FA_GIFT = \"fa_gift\";\n    public static final String FA_GIT = \"fa_git\";\n    public static final String FA_GIT_SQUARE = \"fa_git_square\";\n    public static final String FA_GITHUB = \"fa_github\";\n    public static final String FA_GITHUB_ALT = \"fa_github_alt\";\n    public static final String FA_GITHUB_SQUARE = \"fa_github_square\";\n    public static final String FA_GITTIP = \"fa_gittip\";\n    public static final String FA_GLASS = \"fa_glass\";\n    public static final String FA_GLOBE = \"fa_globe\";\n    public static final String FA_GOOGLE = \"fa_google\";\n    public static final String FA_GOOGLE_PLUS = \"fa_google_plus\";\n    public static final String FA_GOOGLE_PLUS_SQUARE = \"fa_google_plus_square\";\n    public static final String FA_GOOGLE_WALLET = \"fa_google_wallet\";\n    public static final String FA_GRADUATION_CAP = \"fa_graduation_cap\";\n    public static final String FA_GRATIPAY = \"fa_gratipay\";\n    public static final String FA_GROUP = \"fa_group\";\n    public static final String FA_H_SQUARE = \"fa_h_square\";\n    public static final String FA_HACKER_NEWS = \"fa_hacker_news\";\n    public static final String FA_HAND_GRAB_O = \"fa_hand_grab_o\";\n    public static final String FA_HAND_LIZARD_O = \"fa_hand_lizard_o\";\n    public static final String FA_HAND_O_DOWN = \"fa_hand_o_down\";\n    public static final String FA_HAND_O_LEFT = \"fa_hand_o_left\";\n    public static final String FA_HAND_O_RIGHT = \"fa_hand_o_right\";\n    public static final String FA_HAND_O_UP = \"fa_hand_o_up\";\n    public static final String FA_HAND_PAPER_O = \"fa_hand_paper_o\";\n    public static final String FA_HAND_PEACE_O = \"fa_hand_peace_o\";\n    public static final String FA_HAND_POINTER_O = \"fa_hand_pointer_o\";\n    public static final String FA_HAND_ROCK_O = \"fa_hand_rock_o\";\n    public static final String FA_HAND_SCISSORS_O = \"fa_hand_scissors_o\";\n    public static final String FA_HAND_SPOCK_O = \"fa_hand_spock_o\";\n    public static final String FA_HAND_STOP_O = \"fa_hand_stop_o\";\n    public static final String FA_HASHTAG = \"fa_hashtag\";\n    public static final String FA_HDD_O = \"fa_hdd_o\";\n    public static final String FA_HEADER = \"fa_header\";\n    public static final String FA_HEADPHONES = \"fa_headphones\";\n    public static final String FA_HEART = \"fa_heart\";\n    public static final String FA_HEART_O = \"fa_heart_o\";\n    public static final String FA_HEARTBEAT = \"fa_heartbeat\";\n    public static final String FA_HISTORY = \"fa_history\";\n    public static final String FA_HOME = \"fa_home\";\n    public static final String FA_HOSPITAL_O = \"fa_hospital_o\";\n    public static final String FA_HOTEL = \"fa_hotel\";\n    public static final String FA_HOURGLASS = \"fa_hourglass\";\n    public static final String FA_HOURGLASS_1 = \"fa_hourglass_1\";\n    public static final String FA_HOURGLASS_2 = \"fa_hourglass_2\";\n    public static final String FA_HOURGLASS_3 = \"fa_hourglass_3\";\n    public static final String FA_HOURGLASS_END = \"fa_hourglass_end\";\n    public static final String FA_HOURGLASS_HALF = \"fa_hourglass_half\";\n    public static final String FA_HOURGLASS_O = \"fa_hourglass_o\";\n    public static final String FA_HOURGLASS_START = \"fa_hourglass_start\";\n    public static final String FA_HOUZZ = \"fa_houzz\";\n    public static final String FA_HTML5 = \"fa_html5\";\n    public static final String FA_I_CURSOR = \"fa_i_cursor\";\n    public static final String FA_ILS = \"fa_ils\";\n    public static final String FA_IMAGE = \"fa_image\";\n    public static final String FA_INBOX = \"fa_inbox\";\n    public static final String FA_INDENT = \"fa_indent\";\n    public static final String FA_INDUSTRY = \"fa_industry\";\n    public static final String FA_INFO = \"fa_info\";\n    public static final String FA_INFO_CIRCLE = \"fa_info_circle\";\n    public static final String FA_INR = \"fa_inr\";\n    public static final String FA_INSTAGRAM = \"fa_instagram\";\n    public static final String FA_INSTITUTION = \"fa_institution\";\n    public static final String FA_INTERNET_EXPLORER = \"fa_internet_explorer\";\n    public static final String FA_INTERSEX = \"fa_intersex\";\n    public static final String FA_IOXHOST = \"fa_ioxhost\";\n    public static final String FA_ITALIC = \"fa_italic\";\n    public static final String FA_JOOMLA = \"fa_joomla\";\n    public static final String FA_JPY = \"fa_jpy\";\n    public static final String FA_JSFIDDLE = \"fa_jsfiddle\";\n    public static final String FA_KEY = \"fa_key\";\n    public static final String FA_KEYBOARD_O = \"fa_keyboard_o\";\n    public static final String FA_KRW = \"fa_krw\";\n    public static final String FA_LANGUAGE = \"fa_language\";\n    public static final String FA_LAPTOP = \"fa_laptop\";\n    public static final String FA_LASTFM = \"fa_lastfm\";\n    public static final String FA_LASTFM_SQUARE = \"fa_lastfm_square\";\n    public static final String FA_LEAF = \"fa_leaf\";\n    public static final String FA_LEANPUB = \"fa_leanpub\";\n    public static final String FA_LEGAL = \"fa_legal\";\n    public static final String FA_LEMON_O = \"fa_lemon_o\";\n    public static final String FA_LEVEL_DOWN = \"fa_level_down\";\n    public static final String FA_LEVEL_UP = \"fa_level_up\";\n    public static final String FA_LIFE_BOUY = \"fa_life_bouy\";\n    public static final String FA_LIFE_BUOY = \"fa_life_buoy\";\n    public static final String FA_LIFE_RING = \"fa_life_ring\";\n    public static final String FA_LIFE_SAVER = \"fa_life_saver\";\n    public static final String FA_LIGHTBULB_O = \"fa_lightbulb_o\";\n    public static final String FA_LINE_CHART = \"fa_line_chart\";\n    public static final String FA_LINK = \"fa_link\";\n    public static final String FA_LINKEDIN = \"fa_linkedin\";\n    public static final String FA_LINKEDIN_SQUARE = \"fa_linkedin_square\";\n    public static final String FA_LINUX = \"fa_linux\";\n    public static final String FA_LIST = \"fa_list\";\n    public static final String FA_LIST_ALT = \"fa_list_alt\";\n    public static final String FA_LIST_OL = \"fa_list_ol\";\n    public static final String FA_LIST_UL = \"fa_list_ul\";\n    public static final String FA_LOCATION_ARROW = \"fa_location_arrow\";\n    public static final String FA_LOCK = \"fa_lock\";\n    public static final String FA_LONG_ARROW_DOWN = \"fa_long_arrow_down\";\n    public static final String FA_LONG_ARROW_LEFT = \"fa_long_arrow_left\";\n    public static final String FA_LONG_ARROW_RIGHT = \"fa_long_arrow_right\";\n    public static final String FA_LONG_ARROW_UP = \"fa_long_arrow_up\";\n    public static final String FA_MAGIC = \"fa_magic\";\n    public static final String FA_MAGNET = \"fa_magnet\";\n    public static final String FA_MAIL_FORWARD = \"fa_mail_forward\";\n    public static final String FA_MAIL_REPLY = \"fa_mail_reply\";\n    public static final String FA_MAIL_REPLY_ALL = \"fa_mail_reply_all\";\n    public static final String FA_MALE = \"fa_male\";\n    public static final String FA_MAP = \"fa_map\";\n    public static final String FA_MAP_MARKER = \"fa_map_marker\";\n    public static final String FA_MAP_O = \"fa_map_o\";\n    public static final String FA_MAP_PIN = \"fa_map_pin\";\n    public static final String FA_MAP_SIGNS = \"fa_map_signs\";\n    public static final String FA_MARS = \"fa_mars\";\n    public static final String FA_MARS_DOUBLE = \"fa_mars_double\";\n    public static final String FA_MARS_STROKE = \"fa_mars_stroke\";\n    public static final String FA_MARS_STROKE_H = \"fa_mars_stroke_h\";\n    public static final String FA_MARS_STROKE_V = \"fa_mars_stroke_v\";\n    public static final String FA_MAXCDN = \"fa_maxcdn\";\n    public static final String FA_MEANPATH = \"fa_meanpath\";\n    public static final String FA_MEDIUM = \"fa_medium\";\n    public static final String FA_MEDKIT = \"fa_medkit\";\n    public static final String FA_MEH_O = \"fa_meh_o\";\n    public static final String FA_MERCURY = \"fa_mercury\";\n    public static final String FA_MICROPHONE = \"fa_microphone\";\n    public static final String FA_MICROPHONE_SLASH = \"fa_microphone_slash\";\n    public static final String FA_MINUS = \"fa_minus\";\n    public static final String FA_MINUS_CIRCLE = \"fa_minus_circle\";\n    public static final String FA_MINUS_SQUARE = \"fa_minus_square\";\n    public static final String FA_MINUS_SQUARE_O = \"fa_minus_square_o\";\n    public static final String FA_MIXCLOUD = \"fa_mixcloud\";\n    public static final String FA_MOBILE = \"fa_mobile\";\n    public static final String FA_MOBILE_PHONE = \"fa_mobile_phone\";\n    public static final String FA_MODX = \"fa_modx\";\n    public static final String FA_MONEY = \"fa_money\";\n    public static final String FA_MOON_O = \"fa_moon_o\";\n    public static final String FA_MORTAR_BOARD = \"fa_mortar_board\";\n    public static final String FA_MOTORCYCLE = \"fa_motorcycle\";\n    public static final String FA_MOUSE_POINTER = \"fa_mouse_pointer\";\n    public static final String FA_MUSIC = \"fa_music\";\n    public static final String FA_NAVICON = \"fa_navicon\";\n    public static final String FA_NEUTER = \"fa_neuter\";\n    public static final String FA_NEWSPAPER_O = \"fa_newspaper_o\";\n    public static final String FA_OBJECT_GROUP = \"fa_object_group\";\n    public static final String FA_OBJECT_UNGROUP = \"fa_object_ungroup\";\n    public static final String FA_ODNOKLASSNIKI = \"fa_odnoklassniki\";\n    public static final String FA_ODNOKLASSNIKI_SQUARE = \"fa_odnoklassniki_square\";\n    public static final String FA_OPENCART = \"fa_opencart\";\n    public static final String FA_OPENID = \"fa_openid\";\n    public static final String FA_OPERA = \"fa_opera\";\n    public static final String FA_OPTIN_MONSTER = \"fa_optin_monster\";\n    public static final String FA_OUTDENT = \"fa_outdent\";\n    public static final String FA_PAGELINES = \"fa_pagelines\";\n    public static final String FA_PAINT_BRUSH = \"fa_paint_brush\";\n    public static final String FA_PAPER_PLANE = \"fa_paper_plane\";\n    public static final String FA_PAPER_PLANE_O = \"fa_paper_plane_o\";\n    public static final String FA_PAPERCLIP = \"fa_paperclip\";\n    public static final String FA_PARAGRAPH = \"fa_paragraph\";\n    public static final String FA_PASTE = \"fa_paste\";\n    public static final String FA_PAUSE = \"fa_pause\";\n    public static final String FA_PAUSE_CIRCLE = \"fa_pause_circle\";\n    public static final String FA_PAUSE_CIRCLE_O = \"fa_pause_circle_o\";\n    public static final String FA_PAW = \"fa_paw\";\n    public static final String FA_PAYPAL = \"fa_paypal\";\n    public static final String FA_PENCIL = \"fa_pencil\";\n    public static final String FA_PENCIL_SQUARE = \"fa_pencil_square\";\n    public static final String FA_PENCIL_SQUARE_O = \"fa_pencil_square_o\";\n    public static final String FA_PERCENT = \"fa_percent\";\n    public static final String FA_PHONE = \"fa_phone\";\n    public static final String FA_PHONE_SQUARE = \"fa_phone_square\";\n    public static final String FA_PHOTO = \"fa_photo\";\n    public static final String FA_PICTURE_O = \"fa_picture_o\";\n    public static final String FA_PIE_CHART = \"fa_pie_chart\";\n    public static final String FA_PIED_PIPER = \"fa_pied_piper\";\n    public static final String FA_PIED_PIPER_ALT = \"fa_pied_piper_alt\";\n    public static final String FA_PINTEREST = \"fa_pinterest\";\n    public static final String FA_PINTEREST_P = \"fa_pinterest_p\";\n    public static final String FA_PINTEREST_SQUARE = \"fa_pinterest_square\";\n    public static final String FA_PLANE = \"fa_plane\";\n    public static final String FA_PLAY = \"fa_play\";\n    public static final String FA_PLAY_CIRCLE = \"fa_play_circle\";\n    public static final String FA_PLAY_CIRCLE_O = \"fa_play_circle_o\";\n    public static final String FA_PLUG = \"fa_plug\";\n    public static final String FA_PLUS = \"fa_plus\";\n    public static final String FA_PLUS_CIRCLE = \"fa_plus_circle\";\n    public static final String FA_PLUS_SQUARE = \"fa_plus_square\";\n    public static final String FA_PLUS_SQUARE_O = \"fa_plus_square_o\";\n    public static final String FA_POWER_OFF = \"fa_power_off\";\n    public static final String FA_PRINT = \"fa_print\";\n    public static final String FA_PRODUCT_HUNT = \"fa_product_hunt\";\n    public static final String FA_PUZZLE_PIECE = \"fa_puzzle_piece\";\n    public static final String FA_QQ = \"fa_qq\";\n    public static final String FA_QRCODE = \"fa_qrcode\";\n    public static final String FA_QUESTION = \"fa_question\";\n    public static final String FA_QUESTION_CIRCLE = \"fa_question_circle\";\n    public static final String FA_QUOTE_LEFT = \"fa_quote_left\";\n    public static final String FA_QUOTE_RIGHT = \"fa_quote_right\";\n    public static final String FA_RA = \"fa_ra\";\n    public static final String FA_RANDOM = \"fa_random\";\n    public static final String FA_REBEL = \"fa_rebel\";\n    public static final String FA_RECYCLE = \"fa_recycle\";\n    public static final String FA_REDDIT = \"fa_reddit\";\n    public static final String FA_REDDIT_ALIEN = \"fa_reddit_alien\";\n    public static final String FA_REDDIT_SQUARE = \"fa_reddit_square\";\n    public static final String FA_REFRESH = \"fa_refresh\";\n    public static final String FA_REGISTERED = \"fa_registered\";\n    public static final String FA_REMOVE = \"fa_remove\";\n    public static final String FA_RENREN = \"fa_renren\";\n    public static final String FA_REORDER = \"fa_reorder\";\n    public static final String FA_REPEAT = \"fa_repeat\";\n    public static final String FA_REPLY = \"fa_reply\";\n    public static final String FA_REPLY_ALL = \"fa_reply_all\";\n    public static final String FA_RETWEET = \"fa_retweet\";\n    public static final String FA_RMB = \"fa_rmb\";\n    public static final String FA_ROAD = \"fa_road\";\n    public static final String FA_ROCKET = \"fa_rocket\";\n    public static final String FA_ROTATE_LEFT = \"fa_rotate_left\";\n    public static final String FA_ROTATE_RIGHT = \"fa_rotate_right\";\n    public static final String FA_ROUBLE = \"fa_rouble\";\n    public static final String FA_RSS = \"fa_rss\";\n    public static final String FA_RSS_SQUARE = \"fa_rss_square\";\n    public static final String FA_RUB = \"fa_rub\";\n    public static final String FA_RUBLE = \"fa_ruble\";\n    public static final String FA_RUPEE = \"fa_rupee\";\n    public static final String FA_SAFARI = \"fa_safari\";\n    public static final String FA_SAVE = \"fa_save\";\n    public static final String FA_SCISSORS = \"fa_scissors\";\n    public static final String FA_SCRIBD = \"fa_scribd\";\n    public static final String FA_SEARCH = \"fa_search\";\n    public static final String FA_SEARCH_MINUS = \"fa_search_minus\";\n    public static final String FA_SEARCH_PLUS = \"fa_search_plus\";\n    public static final String FA_SELLSY = \"fa_sellsy\";\n    public static final String FA_SEND = \"fa_send\";\n    public static final String FA_SEND_O = \"fa_send_o\";\n    public static final String FA_SERVER = \"fa_server\";\n    public static final String FA_SHARE = \"fa_share\";\n    public static final String FA_SHARE_ALT = \"fa_share_alt\";\n    public static final String FA_SHARE_ALT_SQUARE = \"fa_share_alt_square\";\n    public static final String FA_SHARE_SQUARE = \"fa_share_square\";\n    public static final String FA_SHARE_SQUARE_O = \"fa_share_square_o\";\n    public static final String FA_SHEKEL = \"fa_shekel\";\n    public static final String FA_SHEQEL = \"fa_sheqel\";\n    public static final String FA_SHIELD = \"fa_shield\";\n    public static final String FA_SHIP = \"fa_ship\";\n    public static final String FA_SHIRTSINBULK = \"fa_shirtsinbulk\";\n    public static final String FA_SHOPPING_BAG = \"fa_shopping_bag\";\n    public static final String FA_SHOPPING_BASKET = \"fa_shopping_basket\";\n    public static final String FA_SHOPPING_CART = \"fa_shopping_cart\";\n    public static final String FA_SIGN_IN = \"fa_sign_in\";\n    public static final String FA_SIGN_OUT = \"fa_sign_out\";\n    public static final String FA_SIGNAL = \"fa_signal\";\n    public static final String FA_SIMPLYBUILT = \"fa_simplybuilt\";\n    public static final String FA_SITEMAP = \"fa_sitemap\";\n    public static final String FA_SKYATLAS = \"fa_skyatlas\";\n    public static final String FA_SKYPE = \"fa_skype\";\n    public static final String FA_SLACK = \"fa_slack\";\n    public static final String FA_SLIDERS = \"fa_sliders\";\n    public static final String FA_SLIDESHARE = \"fa_slideshare\";\n    public static final String FA_SMILE_O = \"fa_smile_o\";\n    public static final String FA_SOCCER_BALL_O = \"fa_soccer_ball_o\";\n    public static final String FA_SORT = \"fa_sort\";\n    public static final String FA_SORT_ALPHA_ASC = \"fa_sort_alpha_asc\";\n    public static final String FA_SORT_ALPHA_DESC = \"fa_sort_alpha_desc\";\n    public static final String FA_SORT_AMOUNT_ASC = \"fa_sort_amount_asc\";\n    public static final String FA_SORT_AMOUNT_DESC = \"fa_sort_amount_desc\";\n    public static final String FA_SORT_ASC = \"fa_sort_asc\";\n    public static final String FA_SORT_DESC = \"fa_sort_desc\";\n    public static final String FA_SORT_DOWN = \"fa_sort_down\";\n    public static final String FA_SORT_NUMERIC_ASC = \"fa_sort_numeric_asc\";\n    public static final String FA_SORT_NUMERIC_DESC = \"fa_sort_numeric_desc\";\n    public static final String FA_SORT_UP = \"fa_sort_up\";\n    public static final String FA_SOUNDCLOUD = \"fa_soundcloud\";\n    public static final String FA_SPACE_SHUTTLE = \"fa_space_shuttle\";\n    public static final String FA_SPINNER = \"fa_spinner\";\n    public static final String FA_SPOON = \"fa_spoon\";\n    public static final String FA_SPOTIFY = \"fa_spotify\";\n    public static final String FA_SQUARE = \"fa_square\";\n    public static final String FA_SQUARE_O = \"fa_square_o\";\n    public static final String FA_STACK_EXCHANGE = \"fa_stack_exchange\";\n    public static final String FA_STACK_OVERFLOW = \"fa_stack_overflow\";\n    public static final String FA_STAR = \"fa_star\";\n    public static final String FA_STAR_HALF = \"fa_star_half\";\n    public static final String FA_STAR_HALF_EMPTY = \"fa_star_half_empty\";\n    public static final String FA_STAR_HALF_FULL = \"fa_star_half_full\";\n    public static final String FA_STAR_HALF_O = \"fa_star_half_o\";\n    public static final String FA_STAR_O = \"fa_star_o\";\n    public static final String FA_STEAM = \"fa_steam\";\n    public static final String FA_STEAM_SQUARE = \"fa_steam_square\";\n    public static final String FA_STEP_BACKWARD = \"fa_step_backward\";\n    public static final String FA_STEP_FORWARD = \"fa_step_forward\";\n    public static final String FA_STETHOSCOPE = \"fa_stethoscope\";\n    public static final String FA_STICKY_NOTE = \"fa_sticky_note\";\n    public static final String FA_STICKY_NOTE_O = \"fa_sticky_note_o\";\n    public static final String FA_STOP = \"fa_stop\";\n    public static final String FA_STOP_CIRCLE = \"fa_stop_circle\";\n    public static final String FA_STOP_CIRCLE_O = \"fa_stop_circle_o\";\n    public static final String FA_STREET_VIEW = \"fa_street_view\";\n    public static final String FA_STRIKETHROUGH = \"fa_strikethrough\";\n    public static final String FA_STUMBLEUPON = \"fa_stumbleupon\";\n    public static final String FA_STUMBLEUPON_CIRCLE = \"fa_stumbleupon_circle\";\n    public static final String FA_SUBSCRIPT = \"fa_subscript\";\n    public static final String FA_SUBWAY = \"fa_subway\";\n    public static final String FA_SUITCASE = \"fa_suitcase\";\n    public static final String FA_SUN_O = \"fa_sun_o\";\n    public static final String FA_SUPERSCRIPT = \"fa_superscript\";\n    public static final String FA_SUPPORT = \"fa_support\";\n    public static final String FA_TABLE = \"fa_table\";\n    public static final String FA_TABLET = \"fa_tablet\";\n    public static final String FA_TACHOMETER = \"fa_tachometer\";\n    public static final String FA_TAG = \"fa_tag\";\n    public static final String FA_TAGS = \"fa_tags\";\n    public static final String FA_TASKS = \"fa_tasks\";\n    public static final String FA_TAXI = \"fa_taxi\";\n    public static final String FA_TELEVISION = \"fa_television\";\n    public static final String FA_TENCENT_WEIBO = \"fa_tencent_weibo\";\n    public static final String FA_TERMINAL = \"fa_terminal\";\n    public static final String FA_TEXT_HEIGHT = \"fa_text_height\";\n    public static final String FA_TEXT_WIDTH = \"fa_text_width\";\n    public static final String FA_TH = \"fa_th\";\n    public static final String FA_TH_LARGE = \"fa_th_large\";\n    public static final String FA_TH_LIST = \"fa_th_list\";\n    public static final String FA_THUMB_TACK = \"fa_thumb_tack\";\n    public static final String FA_THUMBS_DOWN = \"fa_thumbs_down\";\n    public static final String FA_THUMBS_O_DOWN = \"fa_thumbs_o_down\";\n    public static final String FA_THUMBS_O_UP = \"fa_thumbs_o_up\";\n    public static final String FA_THUMBS_UP = \"fa_thumbs_up\";\n    public static final String FA_TICKET = \"fa_ticket\";\n    public static final String FA_TIMES = \"fa_times\";\n    public static final String FA_TIMES_CIRCLE = \"fa_times_circle\";\n    public static final String FA_TIMES_CIRCLE_O = \"fa_times_circle_o\";\n    public static final String FA_TINT = \"fa_tint\";\n    public static final String FA_TOGGLE_DOWN = \"fa_toggle_down\";\n    public static final String FA_TOGGLE_LEFT = \"fa_toggle_left\";\n    public static final String FA_TOGGLE_OFF = \"fa_toggle_off\";\n    public static final String FA_TOGGLE_ON = \"fa_toggle_on\";\n    public static final String FA_TOGGLE_RIGHT = \"fa_toggle_right\";\n    public static final String FA_TOGGLE_UP = \"fa_toggle_up\";\n    public static final String FA_TRADEMARK = \"fa_trademark\";\n    public static final String FA_TRAIN = \"fa_train\";\n    public static final String FA_TRANSGENDER = \"fa_transgender\";\n    public static final String FA_TRANSGENDER_ALT = \"fa_transgender_alt\";\n    public static final String FA_TRASH = \"fa_trash\";\n    public static final String FA_TRASH_O = \"fa_trash_o\";\n    public static final String FA_TREE = \"fa_tree\";\n    public static final String FA_TRELLO = \"fa_trello\";\n    public static final String FA_TRIPADVISOR = \"fa_tripadvisor\";\n    public static final String FA_TROPHY = \"fa_trophy\";\n    public static final String FA_TRUCK = \"fa_truck\";\n    public static final String FA_TRY = \"fa_try\";\n    public static final String FA_TTY = \"fa_tty\";\n    public static final String FA_TUMBLR = \"fa_tumblr\";\n    public static final String FA_TUMBLR_SQUARE = \"fa_tumblr_square\";\n    public static final String FA_TURKISH_LIRA = \"fa_turkish_lira\";\n    public static final String FA_TV = \"fa_tv\";\n    public static final String FA_TWITCH = \"fa_twitch\";\n    public static final String FA_TWITTER = \"fa_twitter\";\n    public static final String FA_TWITTER_SQUARE = \"fa_twitter_square\";\n    public static final String FA_UMBRELLA = \"fa_umbrella\";\n    public static final String FA_UNDERLINE = \"fa_underline\";\n    public static final String FA_UNDO = \"fa_undo\";\n    public static final String FA_UNIVERSITY = \"fa_university\";\n    public static final String FA_UNLINK = \"fa_unlink\";\n    public static final String FA_UNLOCK = \"fa_unlock\";\n    public static final String FA_UNLOCK_ALT = \"fa_unlock_alt\";\n    public static final String FA_UNSORTED = \"fa_unsorted\";\n    public static final String FA_UPLOAD = \"fa_upload\";\n    public static final String FA_USB = \"fa_usb\";\n    public static final String FA_USD = \"fa_usd\";\n    public static final String FA_USER = \"fa_user\";\n    public static final String FA_USER_MD = \"fa_user_md\";\n    public static final String FA_USER_PLUS = \"fa_user_plus\";\n    public static final String FA_USER_SECRET = \"fa_user_secret\";\n    public static final String FA_USER_TIMES = \"fa_user_times\";\n    public static final String FA_USERS = \"fa_users\";\n    public static final String FA_VENUS = \"fa_venus\";\n    public static final String FA_VENUS_DOUBLE = \"fa_venus_double\";\n    public static final String FA_VENUS_MARS = \"fa_venus_mars\";\n    public static final String FA_VIACOIN = \"fa_viacoin\";\n    public static final String FA_VIDEO_CAMERA = \"fa_video_camera\";\n    public static final String FA_VIMEO = \"fa_vimeo\";\n    public static final String FA_VIMEO_SQUARE = \"fa_vimeo_square\";\n    public static final String FA_VINE = \"fa_vine\";\n    public static final String FA_VK = \"fa_vk\";\n    public static final String FA_VOLUME_DOWN = \"fa_volume_down\";\n    public static final String FA_VOLUME_OFF = \"fa_volume_off\";\n    public static final String FA_VOLUME_UP = \"fa_volume_up\";\n    public static final String FA_WARNING = \"fa_warning\";\n    public static final String FA_WECHAT = \"fa_wechat\";\n    public static final String FA_WEIBO = \"fa_weibo\";\n    public static final String FA_WEIXIN = \"fa_weixin\";\n    public static final String FA_WHATSAPP = \"fa_whatsapp\";\n    public static final String FA_WHEELCHAIR = \"fa_wheelchair\";\n    public static final String FA_WIFI = \"fa_wifi\";\n    public static final String FA_WIKIPEDIA_W = \"fa_wikipedia_w\";\n    public static final String FA_WINDOWS = \"fa_windows\";\n    public static final String FA_WON = \"fa_won\";\n    public static final String FA_WORDPRESS = \"fa_wordpress\";\n    public static final String FA_WRENCH = \"fa_wrench\";\n    public static final String FA_XING = \"fa_xing\";\n    public static final String FA_XING_SQUARE = \"fa_xing_square\";\n    public static final String FA_Y_COMBINATOR = \"fa_y_combinator\";\n    public static final String FA_Y_COMBINATOR_SQUARE = \"fa_y_combinator_square\";\n    public static final String FA_YAHOO = \"fa_yahoo\";\n    public static final String FA_YC = \"fa_yc\";\n    public static final String FA_YC_SQUARE = \"fa_yc_square\";\n    public static final String FA_YELP = \"fa_yelp\";\n    public static final String FA_YEN = \"fa_yen\";\n    public static final String FA_YOUTUBE = \"fa_youtube\";\n    public static final String FA_YOUTUBE_PLAY = \"fa_youtube_play\";\n    public static final String FA_YOUTUBE_SQUARE = \"fa_youtube_square\";\n    //4.6\n    public static final String FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING = \"fa_american_sign_language_interpreting\";\n    public static final String FA_ASL_INTERPRETING = \"fa_asl_interpreting\";\n    public static final String FA_ASSISTIVE_LISTENING_SYSTEMS = \"fa_assistive_listening_systems\";\n    public static final String FA_AUDIO_DESCRIPTION = \"fa_audio_description\";\n    public static final String FA_BLIND = \"fa_blind\";\n    public static final String FA_BRAILLE = \"fa_braille\";\n    public static final String FA_DEAF = \"fa_deaf\";\n    public static final String FA_DEAFNESS = \"fa_deafness\";\n    public static final String FA_ENVIRA = \"fa_envira\";\n    public static final String FA_FA = \"fa_fa\";\n    public static final String FA_FIRST_ORDER = \"fa_first_order\";\n    public static final String FA_FONT_AWESOME = \"fa_font_awesome\";\n    public static final String FA_GITLAB = \"fa_gitlab\";\n    public static final String FA_GLIDE = \"fa_glide\";\n    public static final String FA_GLIDE_G = \"fa_glide_g\";\n    public static final String FA_GOOGLE_PLUS_CIRCLE = \"fa_google_plus_circle\";\n    public static final String FA_GOOGLE_PLUS_OFFICIAL = \"fa_google_plus_official\";\n    public static final String FA_HARD_OF_HEARING = \"fa_hard_of_hearing\";\n    public static final String FA_LOW_VISION = \"fa_low_vision\";\n    public static final String FA_QUESTION_CIRCLE_O = \"fa_question_circle_o\";\n    public static final String FA_SIGN_LANGUAGE = \"fa_sign_language\";\n    public static final String FA_SIGNING = \"fa_signing\";\n    public static final String FA_SNAPCHAT = \"fa_snapchat\";\n    public static final String FA_SNAPCHAT_GHOST = \"fa_snapchat_ghost\";\n    public static final String FA_SNAPCHAT_SQUARE = \"fa_snapchat_square\";\n    public static final String FA_THEMEISLE = \"fa_themeisle\";\n    public static final String FA_UNIVERSAL_ACCESS = \"fa_universal_access\";\n    public static final String FA_VIADEO = \"fa_viadeo\";\n    public static final String FA_VIADEO_SQUARE = \"fa_viadeo_square\";\n    public static final String FA_VOLUME_CONTROL_PHONE = \"fa_volume_control_phone\";\n    public static final String FA_WHEELCHAIR_ALT = \"fa_wheelchair_alt\";\n    public static final String FA_WPBEGINNER = \"fa_wpbeginner\";\n    public static final String FA_WPFORMS = \"fa_wpforms\";\n    public static final String FA_YOAST = \"fa_yoast\";\n    //4.7\n    public static final String FA_ADDRESS_BOOK = \"fa_address_book\";\n    public static final String FA_ADDRESS_BOOK_O = \"fa_address_book_o\";\n    public static final String FA_ADDRESS_CARD = \"fa_address_card\";\n    public static final String FA_ADDRESS_CARD_O = \"fa_address_card_o\";\n    public static final String FA_BANDCAMP = \"fa_bandcamp\";\n    public static final String FA_BATH = \"fa_bath\";\n    public static final String FA_BATHTUB = \"fa_bathtub\";\n    public static final String FA_DRIVERS_LICENSE = \"fa_drivers_license\";\n    public static final String FA_DRIVERS_LICENSE_O = \"fa_drivers_license_o\";\n    public static final String FA_EERCAST = \"fa_eercast\";\n    public static final String FA_ENVELOPE_OPEN = \"fa_envelope_open\";\n    public static final String FA_ENVELOPE_OPEN_O = \"fa_envelope_open_o\";\n    public static final String FA_ETSY = \"fa_etsy\";\n    public static final String FA_FREE_CODE_CAMP = \"fa_free_code_camp\";\n    public static final String FA_GRAV = \"fa_grav\";\n    public static final String FA_HANDSHAKE_O = \"fa_handshake_o\";\n    public static final String FA_ID_BADGE = \"fa_id_badge\";\n    public static final String FA_ID_CARD = \"fa_id_card\";\n    public static final String FA_ID_CARD_O = \"fa_id_card_o\";\n    public static final String FA_IMDB = \"fa_imdb\";\n    public static final String FA_LINODE = \"fa_linode\";\n    public static final String FA_MEETUP = \"fa_meetup\";\n    public static final String FA_MICROCHIP = \"fa_microchip\";\n    public static final String FA_PODCAST = \"fa_podcast\";\n    public static final String FA_QUORA = \"fa_quora\";\n    public static final String FA_RAVELRY = \"fa_ravelry\";\n    public static final String FA_S15 = \"fa_s15\";\n    public static final String FA_SHOWER = \"fa_shower\";\n    public static final String FA_SNOWFLAKE_O = \"fa_snowflake_o\";\n    public static final String FA_SUPERPOWERS = \"fa_superpowers\";\n    public static final String FA_TELEGRAM = \"fa_telegram\";\n    public static final String FA_THERMOMETER = \"fa_thermometer\";\n    public static final String FA_THERMOMETER_0 = \"fa_thermometer_0\";\n    public static final String FA_THERMOMETER_1 = \"fa_thermometer_1\";\n    public static final String FA_THERMOMETER_2 = \"fa_thermometer_2\";\n    public static final String FA_THERMOMETER_3 = \"fa_thermometer_3\";\n    public static final String FA_THERMOMETER_4 = \"fa_thermometer_4\";\n    public static final String FA_THERMOMETER_EMPTY = \"fa_thermometer_empty\";\n    public static final String FA_THERMOMETER_FULL = \"fa_thermometer_full\";\n    public static final String FA_THERMOMETER_HALF = \"fa_thermometer_half\";\n    public static final String FA_THERMOMETER_QUARTER = \"fa_thermometer_quarter\";\n    public static final String FA_THERMOMETER_THREE_QUARTERS = \"fa_thermometer_three_quarters\";\n    public static final String FA_TIMES_RECTANGLE = \"fa_times_rectangle\";\n    public static final String FA_TIMES_RECTANGLE_O = \"fa_times_rectangle_o\";\n    public static final String FA_USER_CIRCLE = \"fa_user_circle\";\n    public static final String FA_USER_CIRCLE_O = \"fa_user_circle_o\";\n    public static final String FA_USER_O = \"fa_user_o\";\n    public static final String FA_VCARD = \"fa_vcard\";\n    public static final String FA_VCARD_O = \"fa_vcard_o\";\n    public static final String FA_WINDOW_CLOSE = \"fa_window_close\";\n    public static final String FA_WINDOW_CLOSE_O = \"fa_window_close_o\";\n    public static final String FA_WINDOW_MAXIMIZE = \"fa_window_maximize\";\n    public static final String FA_WINDOW_MINIMIZE = \"fa_window_minimize\";\n    public static final String FA_WINDOW_RESTORE = \"fa_window_restore\";\n    public static final String FA_WPEXPLORER = \"fa_wpexplorer\";\n\n    static {\n        ICON_MAP.put(FA_ADJUST, \"\\uf042\");\n        ICON_MAP.put(FA_ADN, \"\\uf170\");\n        ICON_MAP.put(FA_ALIGN_CENTER, \"\\uf037\");\n        ICON_MAP.put(FA_ALIGN_JUSTIFY, \"\\uf039\");\n        ICON_MAP.put(FA_ALIGN_LEFT, \"\\uf036\");\n        ICON_MAP.put(FA_ALIGN_RIGHT, \"\\uf038\");\n        ICON_MAP.put(FA_AMAZON, \"\\uf270\");\n        ICON_MAP.put(FA_AMBULANCE, \"\\uf0f9\");\n        ICON_MAP.put(FA_ANCHOR, \"\\uf13d\");\n        ICON_MAP.put(FA_ANDROID, \"\\uf17b\");\n        ICON_MAP.put(FA_ANGELLIST, \"\\uf209\");\n        ICON_MAP.put(FA_ANGLE_DOUBLE_DOWN, \"\\uf103\");\n        ICON_MAP.put(FA_ANGLE_DOUBLE_LEFT, \"\\uf100\");\n        ICON_MAP.put(FA_ANGLE_DOUBLE_RIGHT, \"\\uf101\");\n        ICON_MAP.put(FA_ANGLE_DOUBLE_UP, \"\\uf102\");\n        ICON_MAP.put(FA_ANGLE_DOWN, \"\\uf107\");\n        ICON_MAP.put(FA_ANGLE_LEFT, \"\\uf104\");\n        ICON_MAP.put(FA_ANGLE_RIGHT, \"\\uf105\");\n        ICON_MAP.put(FA_ANGLE_UP, \"\\uf106\");\n        ICON_MAP.put(FA_APPLE, \"\\uf179\");\n        ICON_MAP.put(FA_ARCHIVE, \"\\uf187\");\n        ICON_MAP.put(FA_AREA_CHART, \"\\uf1fe\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_DOWN, \"\\uf0ab\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_LEFT, \"\\uf0a8\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_O_DOWN, \"\\uf01a\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_O_LEFT, \"\\uf190\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_O_RIGHT, \"\\uf18e\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_O_UP, \"\\uf01b\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_RIGHT, \"\\uf0a9\");\n        ICON_MAP.put(FA_ARROW_CIRCLE_UP, \"\\uf0aa\");\n        ICON_MAP.put(FA_ARROW_DOWN, \"\\uf063\");\n        ICON_MAP.put(FA_ARROW_LEFT, \"\\uf060\");\n        ICON_MAP.put(FA_ARROW_RIGHT, \"\\uf061\");\n        ICON_MAP.put(FA_ARROW_UP, \"\\uf062\");\n        ICON_MAP.put(FA_ARROWS, \"\\uf047\");\n        ICON_MAP.put(FA_ARROWS_ALT, \"\\uf0b2\");\n        ICON_MAP.put(FA_ARROWS_H, \"\\uf07e\");\n        ICON_MAP.put(FA_ARROWS_V, \"\\uf07d\");\n        ICON_MAP.put(FA_ASTERISK, \"\\uf069\");\n        ICON_MAP.put(FA_AT, \"\\uf1fa\");\n        ICON_MAP.put(FA_AUTOMOBILE, \"\\uf1b9\");\n        ICON_MAP.put(FA_BACKWARD, \"\\uf04a\");\n        ICON_MAP.put(FA_BALANCE_SCALE, \"\\uf24e\");\n        ICON_MAP.put(FA_BAN, \"\\uf05e\");\n        ICON_MAP.put(FA_BANK, \"\\uf19c\");\n        ICON_MAP.put(FA_BAR_CHART, \"\\uf080\");\n        ICON_MAP.put(FA_BAR_CHART_O, \"\\uf080\");\n        ICON_MAP.put(FA_BARCODE, \"\\uf02a\");\n        ICON_MAP.put(FA_BARS, \"\\uf0c9\");\n        ICON_MAP.put(FA_BATTERY_0, \"\\uf244\");\n        ICON_MAP.put(FA_BATTERY_1, \"\\uf243\");\n        ICON_MAP.put(FA_BATTERY_2, \"\\uf242\");\n        ICON_MAP.put(FA_BATTERY_3, \"\\uf241\");\n        ICON_MAP.put(FA_BATTERY_4, \"\\uf240\");\n        ICON_MAP.put(FA_BATTERY_EMPTY, \"\\uf244\");\n        ICON_MAP.put(FA_BATTERY_FULL, \"\\uf240\");\n        ICON_MAP.put(FA_BATTERY_HALF, \"\\uf242\");\n        ICON_MAP.put(FA_BATTERY_QUARTER, \"\\uf243\");\n        ICON_MAP.put(FA_BATTERY_THREE_QUARTERS, \"\\uf241\");\n        ICON_MAP.put(FA_BED, \"\\uf236\");\n        ICON_MAP.put(FA_BEER, \"\\uf0fc\");\n        ICON_MAP.put(FA_BEHANCE, \"\\uf1b4\");\n        ICON_MAP.put(FA_BEHANCE_SQUARE, \"\\uf1b5\");\n        ICON_MAP.put(FA_BELL, \"\\uf0f3\");\n        ICON_MAP.put(FA_BELL_O, \"\\uf0a2\");\n        ICON_MAP.put(FA_BELL_SLASH, \"\\uf1f6\");\n        ICON_MAP.put(FA_BELL_SLASH_O, \"\\uf1f7\");\n        ICON_MAP.put(FA_BICYCLE, \"\\uf206\");\n        ICON_MAP.put(FA_BINOCULARS, \"\\uf1e5\");\n        ICON_MAP.put(FA_BIRTHDAY_CAKE, \"\\uf1fd\");\n        ICON_MAP.put(FA_BITBUCKET, \"\\uf171\");\n        ICON_MAP.put(FA_BITBUCKET_SQUARE, \"\\uf172\");\n        ICON_MAP.put(FA_BITCOIN, \"\\uf15a\");\n        ICON_MAP.put(FA_BLACK_TIE, \"\\uf27e\");\n        ICON_MAP.put(FA_BLUETOOTH, \"\\uf293\");\n        ICON_MAP.put(FA_BLUETOOTH_B, \"\\uf294\");\n        ICON_MAP.put(FA_BOLD, \"\\uf032\");\n        ICON_MAP.put(FA_BOLT, \"\\uf0e7\");\n        ICON_MAP.put(FA_BOMB, \"\\uf1e2\");\n        ICON_MAP.put(FA_BOOK, \"\\uf02d\");\n        ICON_MAP.put(FA_BOOKMARK, \"\\uf02e\");\n        ICON_MAP.put(FA_BOOKMARK_O, \"\\uf097\");\n        ICON_MAP.put(FA_BRIEFCASE, \"\\uf0b1\");\n        ICON_MAP.put(FA_BTC, \"\\uf15a\");\n        ICON_MAP.put(FA_BUG, \"\\uf188\");\n        ICON_MAP.put(FA_BUILDING, \"\\uf1ad\");\n        ICON_MAP.put(FA_BUILDING_O, \"\\uf0f7\");\n        ICON_MAP.put(FA_BULLHORN, \"\\uf0a1\");\n        ICON_MAP.put(FA_BULLSEYE, \"\\uf140\");\n        ICON_MAP.put(FA_BUS, \"\\uf207\");\n        ICON_MAP.put(FA_BUYSELLADS, \"\\uf20d\");\n        ICON_MAP.put(FA_CAB, \"\\uf1ba\");\n        ICON_MAP.put(FA_CALCULATOR, \"\\uf1ec\");\n        ICON_MAP.put(FA_CALENDAR, \"\\uf073\");\n        ICON_MAP.put(FA_CALENDAR_CHECK_O, \"\\uf274\");\n        ICON_MAP.put(FA_CALENDAR_MINUS_O, \"\\uf272\");\n        ICON_MAP.put(FA_CALENDAR_O, \"\\uf133\");\n        ICON_MAP.put(FA_CALENDAR_PLUS_O, \"\\uf271\");\n        ICON_MAP.put(FA_CALENDAR_TIMES_O, \"\\uf273\");\n        ICON_MAP.put(FA_CAMERA, \"\\uf030\");\n        ICON_MAP.put(FA_CAMERA_RETRO, \"\\uf083\");\n        ICON_MAP.put(FA_CAR, \"\\uf1b9\");\n        ICON_MAP.put(FA_CARET_DOWN, \"\\uf0d7\");\n        ICON_MAP.put(FA_CARET_LEFT, \"\\uf0d9\");\n        ICON_MAP.put(FA_CARET_RIGHT, \"\\uf0da\");\n        ICON_MAP.put(FA_CARET_SQUARE_O_DOWN, \"\\uf150\");\n        ICON_MAP.put(FA_CARET_SQUARE_O_LEFT, \"\\uf191\");\n        ICON_MAP.put(FA_CARET_SQUARE_O_RIGHT, \"\\uf152\");\n        ICON_MAP.put(FA_CARET_SQUARE_O_UP, \"\\uf151\");\n        ICON_MAP.put(FA_CARET_UP, \"\\uf0d8\");\n        ICON_MAP.put(FA_CART_ARROW_DOWN, \"\\uf218\");\n        ICON_MAP.put(FA_CART_PLUS, \"\\uf217\");\n        ICON_MAP.put(FA_CC, \"\\uf20a\");\n        ICON_MAP.put(FA_CC_AMEX, \"\\uf1f3\");\n        ICON_MAP.put(FA_CC_DINERS_CLUB, \"\\uf24c\");\n        ICON_MAP.put(FA_CC_DISCOVER, \"\\uf1f2\");\n        ICON_MAP.put(FA_CC_JCB, \"\\uf24b\");\n        ICON_MAP.put(FA_CC_MASTERCARD, \"\\uf1f1\");\n        ICON_MAP.put(FA_CC_PAYPAL, \"\\uf1f4\");\n        ICON_MAP.put(FA_CC_STRIPE, \"\\uf1f5\");\n        ICON_MAP.put(FA_CC_VISA, \"\\uf1f0\");\n        ICON_MAP.put(FA_CERTIFICATE, \"\\uf0a3\");\n        ICON_MAP.put(FA_CHAIN, \"\\uf0c1\");\n        ICON_MAP.put(FA_CHAIN_BROKEN, \"\\uf127\");\n        ICON_MAP.put(FA_CHECK, \"\\uf00c\");\n        ICON_MAP.put(FA_CHECK_CIRCLE, \"\\uf058\");\n        ICON_MAP.put(FA_CHECK_CIRCLE_O, \"\\uf05d\");\n        ICON_MAP.put(FA_CHECK_SQUARE, \"\\uf14a\");\n        ICON_MAP.put(FA_CHECK_SQUARE_O, \"\\uf046\");\n        ICON_MAP.put(FA_CHEVRON_CIRCLE_DOWN, \"\\uf13a\");\n        ICON_MAP.put(FA_CHEVRON_CIRCLE_LEFT, \"\\uf137\");\n        ICON_MAP.put(FA_CHEVRON_CIRCLE_RIGHT, \"\\uf138\");\n        ICON_MAP.put(FA_CHEVRON_CIRCLE_UP, \"\\uf139\");\n        ICON_MAP.put(FA_CHEVRON_DOWN, \"\\uf078\");\n        ICON_MAP.put(FA_CHEVRON_LEFT, \"\\uf053\");\n        ICON_MAP.put(FA_CHEVRON_RIGHT, \"\\uf054\");\n        ICON_MAP.put(FA_CHEVRON_UP, \"\\uf077\");\n        ICON_MAP.put(FA_CHILD, \"\\uf1ae\");\n        ICON_MAP.put(FA_CHROME, \"\\uf268\");\n        ICON_MAP.put(FA_CIRCLE, \"\\uf111\");\n        ICON_MAP.put(FA_CIRCLE_O, \"\\uf10c\");\n        ICON_MAP.put(FA_CIRCLE_O_NOTCH, \"\\uf1ce\");\n        ICON_MAP.put(FA_CIRCLE_THIN, \"\\uf1db\");\n        ICON_MAP.put(FA_CLIPBOARD, \"\\uf0ea\");\n        ICON_MAP.put(FA_CLOCK_O, \"\\uf017\");\n        ICON_MAP.put(FA_CLONE, \"\\uf24d\");\n        ICON_MAP.put(FA_CLOSE, \"\\uf00d\");\n        ICON_MAP.put(FA_CLOUD, \"\\uf0c2\");\n        ICON_MAP.put(FA_CLOUD_DOWNLOAD, \"\\uf0ed\");\n        ICON_MAP.put(FA_CLOUD_UPLOAD, \"\\uf0ee\");\n        ICON_MAP.put(FA_CNY, \"\\uf157\");\n        ICON_MAP.put(FA_CODE, \"\\uf121\");\n        ICON_MAP.put(FA_CODE_FORK, \"\\uf126\");\n        ICON_MAP.put(FA_CODEPEN, \"\\uf1cb\");\n        ICON_MAP.put(FA_CODIEPIE, \"\\uf284\");\n        ICON_MAP.put(FA_COFFEE, \"\\uf0f4\");\n        ICON_MAP.put(FA_COG, \"\\uf013\");\n        ICON_MAP.put(FA_COGS, \"\\uf085\");\n        ICON_MAP.put(FA_COLUMNS, \"\\uf0db\");\n        ICON_MAP.put(FA_COMMENT, \"\\uf075\");\n        ICON_MAP.put(FA_COMMENT_O, \"\\uf0e5\");\n        ICON_MAP.put(FA_COMMENTING, \"\\uf27a\");\n        ICON_MAP.put(FA_COMMENTING_O, \"\\uf27b\");\n        ICON_MAP.put(FA_COMMENTS, \"\\uf086\");\n        ICON_MAP.put(FA_COMMENTS_O, \"\\uf0e6\");\n        ICON_MAP.put(FA_COMPASS, \"\\uf14e\");\n        ICON_MAP.put(FA_COMPRESS, \"\\uf066\");\n        ICON_MAP.put(FA_CONNECTDEVELOP, \"\\uf20e\");\n        ICON_MAP.put(FA_CONTAO, \"\\uf26d\");\n        ICON_MAP.put(FA_COPY, \"\\uf0c5\");\n        ICON_MAP.put(FA_COPYRIGHT, \"\\uf1f9\");\n        ICON_MAP.put(FA_CREATIVE_COMMONS, \"\\uf25e\");\n        ICON_MAP.put(FA_CREDIT_CARD, \"\\uf09d\");\n        ICON_MAP.put(FA_CREDIT_CARD_ALT, \"\\uf283\");\n        ICON_MAP.put(FA_CROP, \"\\uf125\");\n        ICON_MAP.put(FA_CROSSHAIRS, \"\\uf05b\");\n        ICON_MAP.put(FA_CSS3, \"\\uf13c\");\n        ICON_MAP.put(FA_CUBE, \"\\uf1b2\");\n        ICON_MAP.put(FA_CUBES, \"\\uf1b3\");\n        ICON_MAP.put(FA_CUT, \"\\uf0c4\");\n        ICON_MAP.put(FA_CUTLERY, \"\\uf0f5\");\n        ICON_MAP.put(FA_DASHBOARD, \"\\uf0e4\");\n        ICON_MAP.put(FA_DASHCUBE, \"\\uf210\");\n        ICON_MAP.put(FA_DATABASE, \"\\uf1c0\");\n        ICON_MAP.put(FA_DEDENT, \"\\uf03b\");\n        ICON_MAP.put(FA_DELICIOUS, \"\\uf1a5\");\n        ICON_MAP.put(FA_DESKTOP, \"\\uf108\");\n        ICON_MAP.put(FA_DEVIANTART, \"\\uf1bd\");\n        ICON_MAP.put(FA_DIAMOND, \"\\uf219\");\n        ICON_MAP.put(FA_DIGG, \"\\uf1a6\");\n        ICON_MAP.put(FA_DOLLAR, \"\\uf155\");\n        ICON_MAP.put(FA_DOT_CIRCLE_O, \"\\uf192\");\n        ICON_MAP.put(FA_DOWNLOAD, \"\\uf019\");\n        ICON_MAP.put(FA_DRIBBBLE, \"\\uf17d\");\n        ICON_MAP.put(FA_DROPBOX, \"\\uf16b\");\n        ICON_MAP.put(FA_DRUPAL, \"\\uf1a9\");\n        ICON_MAP.put(FA_EDGE, \"\\uf282\");\n        ICON_MAP.put(FA_EDIT, \"\\uf044\");\n        ICON_MAP.put(FA_EJECT, \"\\uf052\");\n        ICON_MAP.put(FA_ELLIPSIS_H, \"\\uf141\");\n        ICON_MAP.put(FA_ELLIPSIS_V, \"\\uf142\");\n        ICON_MAP.put(FA_EMPIRE, \"\\uf1d1\");\n        ICON_MAP.put(FA_ENVELOPE, \"\\uf0e0\");\n        ICON_MAP.put(FA_ENVELOPE_O, \"\\uf003\");\n        ICON_MAP.put(FA_ENVELOPE_SQUARE, \"\\uf199\");\n        ICON_MAP.put(FA_ERASER, \"\\uf12d\");\n        ICON_MAP.put(FA_EUR, \"\\uf153\");\n        ICON_MAP.put(FA_EURO, \"\\uf153\");\n        ICON_MAP.put(FA_EXCHANGE, \"\\uf0ec\");\n        ICON_MAP.put(FA_EXCLAMATION, \"\\uf12a\");\n        ICON_MAP.put(FA_EXCLAMATION_CIRCLE, \"\\uf06a\");\n        ICON_MAP.put(FA_EXCLAMATION_TRIANGLE, \"\\uf071\");\n        ICON_MAP.put(FA_EXPAND, \"\\uf065\");\n        ICON_MAP.put(FA_EXPEDITEDSSL, \"\\uf23e\");\n        ICON_MAP.put(FA_EXTERNAL_LINK, \"\\uf08e\");\n        ICON_MAP.put(FA_EXTERNAL_LINK_SQUARE, \"\\uf14c\");\n        ICON_MAP.put(FA_EYE, \"\\uf06e\");\n        ICON_MAP.put(FA_EYE_SLASH, \"\\uf070\");\n        ICON_MAP.put(FA_EYEDROPPER, \"\\uf1fb\");\n        ICON_MAP.put(FA_FACEBOOK, \"\\uf09a\");\n        ICON_MAP.put(FA_FACEBOOK_F, \"\\uf09a\");\n        ICON_MAP.put(FA_FACEBOOK_OFFICIAL, \"\\uf230\");\n        ICON_MAP.put(FA_FACEBOOK_SQUARE, \"\\uf082\");\n        ICON_MAP.put(FA_FAST_BACKWARD, \"\\uf049\");\n        ICON_MAP.put(FA_FAST_FORWARD, \"\\uf050\");\n        ICON_MAP.put(FA_FAX, \"\\uf1ac\");\n        ICON_MAP.put(FA_FEED, \"\\uf09e\");\n        ICON_MAP.put(FA_FEMALE, \"\\uf182\");\n        ICON_MAP.put(FA_FIGHTER_JET, \"\\uf0fb\");\n        ICON_MAP.put(FA_FILE, \"\\uf15b\");\n        ICON_MAP.put(FA_FILE_ARCHIVE_O, \"\\uf1c6\");\n        ICON_MAP.put(FA_FILE_AUDIO_O, \"\\uf1c7\");\n        ICON_MAP.put(FA_FILE_CODE_O, \"\\uf1c9\");\n        ICON_MAP.put(FA_FILE_EXCEL_O, \"\\uf1c3\");\n        ICON_MAP.put(FA_FILE_IMAGE_O, \"\\uf1c5\");\n        ICON_MAP.put(FA_FILE_MOVIE_O, \"\\uf1c8\");\n        ICON_MAP.put(FA_FILE_O, \"\\uf016\");\n        ICON_MAP.put(FA_FILE_PDF_O, \"\\uf1c1\");\n        ICON_MAP.put(FA_FILE_PHOTO_O, \"\\uf1c5\");\n        ICON_MAP.put(FA_FILE_PICTURE_O, \"\\uf1c5\");\n        ICON_MAP.put(FA_FILE_POWERPOINT_O, \"\\uf1c4\");\n        ICON_MAP.put(FA_FILE_SOUND_O, \"\\uf1c7\");\n        ICON_MAP.put(FA_FILE_TEXT, \"\\uf15c\");\n        ICON_MAP.put(FA_FILE_TEXT_O, \"\\uf0f6\");\n        ICON_MAP.put(FA_FILE_VIDEO_O, \"\\uf1c8\");\n        ICON_MAP.put(FA_FILE_WORD_O, \"\\uf1c2\");\n        ICON_MAP.put(FA_FILE_ZIP_O, \"\\uf1c6\");\n        ICON_MAP.put(FA_FILES_O, \"\\uf0c5\");\n        ICON_MAP.put(FA_FILM, \"\\uf008\");\n        ICON_MAP.put(FA_FILTER, \"\\uf0b0\");\n        ICON_MAP.put(FA_FIRE, \"\\uf06d\");\n        ICON_MAP.put(FA_FIRE_EXTINGUISHER, \"\\uf134\");\n        ICON_MAP.put(FA_FIREFOX, \"\\uf269\");\n        ICON_MAP.put(FA_FLAG, \"\\uf024\");\n        ICON_MAP.put(FA_FLAG_CHECKERED, \"\\uf11e\");\n        ICON_MAP.put(FA_FLAG_O, \"\\uf11d\");\n        ICON_MAP.put(FA_FLASH, \"\\uf0e7\");\n        ICON_MAP.put(FA_FLASK, \"\\uf0c3\");\n        ICON_MAP.put(FA_FLICKR, \"\\uf16e\");\n        ICON_MAP.put(FA_FLOPPY_O, \"\\uf0c7\");\n        ICON_MAP.put(FA_FOLDER, \"\\uf07b\");\n        ICON_MAP.put(FA_FOLDER_O, \"\\uf114\");\n        ICON_MAP.put(FA_FOLDER_OPEN, \"\\uf07c\");\n        ICON_MAP.put(FA_FOLDER_OPEN_O, \"\\uf115\");\n        ICON_MAP.put(FA_FONT, \"\\uf031\");\n        ICON_MAP.put(FA_FONTICONS, \"\\uf280\");\n        ICON_MAP.put(FA_FORT_AWESOME, \"\\uf286\");\n        ICON_MAP.put(FA_FORUMBEE, \"\\uf211\");\n        ICON_MAP.put(FA_FORWARD, \"\\uf04e\");\n        ICON_MAP.put(FA_FOURSQUARE, \"\\uf180\");\n        ICON_MAP.put(FA_FROWN_O, \"\\uf119\");\n        ICON_MAP.put(FA_FUTBOL_O, \"\\uf1e3\");\n        ICON_MAP.put(FA_GAMEPAD, \"\\uf11b\");\n        ICON_MAP.put(FA_GAVEL, \"\\uf0e3\");\n        ICON_MAP.put(FA_GBP, \"\\uf154\");\n        ICON_MAP.put(FA_GE, \"\\uf1d1\");\n        ICON_MAP.put(FA_GEAR, \"\\uf013\");\n        ICON_MAP.put(FA_GEARS, \"\\uf085\");\n        ICON_MAP.put(FA_GENDERLESS, \"\\uf22d\");\n        ICON_MAP.put(FA_GET_POCKET, \"\\uf265\");\n        ICON_MAP.put(FA_GG, \"\\uf260\");\n        ICON_MAP.put(FA_GG_CIRCLE, \"\\uf261\");\n        ICON_MAP.put(FA_GIFT, \"\\uf06b\");\n        ICON_MAP.put(FA_GIT, \"\\uf1d3\");\n        ICON_MAP.put(FA_GIT_SQUARE, \"\\uf1d2\");\n        ICON_MAP.put(FA_GITHUB, \"\\uf09b\");\n        ICON_MAP.put(FA_GITHUB_ALT, \"\\uf113\");\n        ICON_MAP.put(FA_GITHUB_SQUARE, \"\\uf092\");\n        ICON_MAP.put(FA_GITTIP, \"\\uf184\");\n        ICON_MAP.put(FA_GLASS, \"\\uf000\");\n        ICON_MAP.put(FA_GLOBE, \"\\uf0ac\");\n        ICON_MAP.put(FA_GOOGLE, \"\\uf1a0\");\n        ICON_MAP.put(FA_GOOGLE_PLUS, \"\\uf0d5\");\n        ICON_MAP.put(FA_GOOGLE_PLUS_SQUARE, \"\\uf0d4\");\n        ICON_MAP.put(FA_GOOGLE_WALLET, \"\\uf1ee\");\n        ICON_MAP.put(FA_GRADUATION_CAP, \"\\uf19d\");\n        ICON_MAP.put(FA_GRATIPAY, \"\\uf184\");\n        ICON_MAP.put(FA_GROUP, \"\\uf0c0\");\n        ICON_MAP.put(FA_H_SQUARE, \"\\uf0fd\");\n        ICON_MAP.put(FA_HACKER_NEWS, \"\\uf1d4\");\n        ICON_MAP.put(FA_HAND_GRAB_O, \"\\uf255\");\n        ICON_MAP.put(FA_HAND_LIZARD_O, \"\\uf258\");\n        ICON_MAP.put(FA_HAND_O_DOWN, \"\\uf0a7\");\n        ICON_MAP.put(FA_HAND_O_LEFT, \"\\uf0a5\");\n        ICON_MAP.put(FA_HAND_O_RIGHT, \"\\uf0a4\");\n        ICON_MAP.put(FA_HAND_O_UP, \"\\uf0a6\");\n        ICON_MAP.put(FA_HAND_PAPER_O, \"\\uf256\");\n        ICON_MAP.put(FA_HAND_PEACE_O, \"\\uf25b\");\n        ICON_MAP.put(FA_HAND_POINTER_O, \"\\uf25a\");\n        ICON_MAP.put(FA_HAND_ROCK_O, \"\\uf255\");\n        ICON_MAP.put(FA_HAND_SCISSORS_O, \"\\uf257\");\n        ICON_MAP.put(FA_HAND_SPOCK_O, \"\\uf259\");\n        ICON_MAP.put(FA_HAND_STOP_O, \"\\uf256\");\n        ICON_MAP.put(FA_HASHTAG, \"\\uf292\");\n        ICON_MAP.put(FA_HDD_O, \"\\uf0a0\");\n        ICON_MAP.put(FA_HEADER, \"\\uf1dc\");\n        ICON_MAP.put(FA_HEADPHONES, \"\\uf025\");\n        ICON_MAP.put(FA_HEART, \"\\uf004\");\n        ICON_MAP.put(FA_HEART_O, \"\\uf08a\");\n        ICON_MAP.put(FA_HEARTBEAT, \"\\uf21e\");\n        ICON_MAP.put(FA_HISTORY, \"\\uf1da\");\n        ICON_MAP.put(FA_HOME, \"\\uf015\");\n        ICON_MAP.put(FA_HOSPITAL_O, \"\\uf0f8\");\n        ICON_MAP.put(FA_HOTEL, \"\\uf236\");\n        ICON_MAP.put(FA_HOURGLASS, \"\\uf254\");\n        ICON_MAP.put(FA_HOURGLASS_1, \"\\uf251\");\n        ICON_MAP.put(FA_HOURGLASS_2, \"\\uf252\");\n        ICON_MAP.put(FA_HOURGLASS_3, \"\\uf253\");\n        ICON_MAP.put(FA_HOURGLASS_END, \"\\uf253\");\n        ICON_MAP.put(FA_HOURGLASS_HALF, \"\\uf252\");\n        ICON_MAP.put(FA_HOURGLASS_O, \"\\uf250\");\n        ICON_MAP.put(FA_HOURGLASS_START, \"\\uf251\");\n        ICON_MAP.put(FA_HOUZZ, \"\\uf27c\");\n        ICON_MAP.put(FA_HTML5, \"\\uf13b\");\n        ICON_MAP.put(FA_I_CURSOR, \"\\uf246\");\n        ICON_MAP.put(FA_ILS, \"\\uf20b\");\n        ICON_MAP.put(FA_IMAGE, \"\\uf03e\");\n        ICON_MAP.put(FA_INBOX, \"\\uf01c\");\n        ICON_MAP.put(FA_INDENT, \"\\uf03c\");\n        ICON_MAP.put(FA_INDUSTRY, \"\\uf275\");\n        ICON_MAP.put(FA_INFO, \"\\uf129\");\n        ICON_MAP.put(FA_INFO_CIRCLE, \"\\uf05a\");\n        ICON_MAP.put(FA_INR, \"\\uf156\");\n        ICON_MAP.put(FA_INSTAGRAM, \"\\uf16d\");\n        ICON_MAP.put(FA_INSTITUTION, \"\\uf19c\");\n        ICON_MAP.put(FA_INTERNET_EXPLORER, \"\\uf26b\");\n        ICON_MAP.put(FA_INTERSEX, \"\\uf224\");\n        ICON_MAP.put(FA_IOXHOST, \"\\uf208\");\n        ICON_MAP.put(FA_ITALIC, \"\\uf033\");\n        ICON_MAP.put(FA_JOOMLA, \"\\uf1aa\");\n        ICON_MAP.put(FA_JPY, \"\\uf157\");\n        ICON_MAP.put(FA_JSFIDDLE, \"\\uf1cc\");\n        ICON_MAP.put(FA_KEY, \"\\uf084\");\n        ICON_MAP.put(FA_KEYBOARD_O, \"\\uf11c\");\n        ICON_MAP.put(FA_KRW, \"\\uf159\");\n        ICON_MAP.put(FA_LANGUAGE, \"\\uf1ab\");\n        ICON_MAP.put(FA_LAPTOP, \"\\uf109\");\n        ICON_MAP.put(FA_LASTFM, \"\\uf202\");\n        ICON_MAP.put(FA_LASTFM_SQUARE, \"\\uf203\");\n        ICON_MAP.put(FA_LEAF, \"\\uf06c\");\n        ICON_MAP.put(FA_LEANPUB, \"\\uf212\");\n        ICON_MAP.put(FA_LEGAL, \"\\uf0e3\");\n        ICON_MAP.put(FA_LEMON_O, \"\\uf094\");\n        ICON_MAP.put(FA_LEVEL_DOWN, \"\\uf149\");\n        ICON_MAP.put(FA_LEVEL_UP, \"\\uf148\");\n        ICON_MAP.put(FA_LIFE_BOUY, \"\\uf1cd\");\n        ICON_MAP.put(FA_LIFE_BUOY, \"\\uf1cd\");\n        ICON_MAP.put(FA_LIFE_RING, \"\\uf1cd\");\n        ICON_MAP.put(FA_LIFE_SAVER, \"\\uf1cd\");\n        ICON_MAP.put(FA_LIGHTBULB_O, \"\\uf0eb\");\n        ICON_MAP.put(FA_LINE_CHART, \"\\uf201\");\n        ICON_MAP.put(FA_LINK, \"\\uf0c1\");\n        ICON_MAP.put(FA_LINKEDIN, \"\\uf0e1\");\n        ICON_MAP.put(FA_LINKEDIN_SQUARE, \"\\uf08c\");\n        ICON_MAP.put(FA_LINUX, \"\\uf17c\");\n        ICON_MAP.put(FA_LIST, \"\\uf03a\");\n        ICON_MAP.put(FA_LIST_ALT, \"\\uf022\");\n        ICON_MAP.put(FA_LIST_OL, \"\\uf0cb\");\n        ICON_MAP.put(FA_LIST_UL, \"\\uf0ca\");\n        ICON_MAP.put(FA_LOCATION_ARROW, \"\\uf124\");\n        ICON_MAP.put(FA_LOCK, \"\\uf023\");\n        ICON_MAP.put(FA_LONG_ARROW_DOWN, \"\\uf175\");\n        ICON_MAP.put(FA_LONG_ARROW_LEFT, \"\\uf177\");\n        ICON_MAP.put(FA_LONG_ARROW_RIGHT, \"\\uf178\");\n        ICON_MAP.put(FA_LONG_ARROW_UP, \"\\uf176\");\n        ICON_MAP.put(FA_MAGIC, \"\\uf0d0\");\n        ICON_MAP.put(FA_MAGNET, \"\\uf076\");\n        ICON_MAP.put(FA_MAIL_FORWARD, \"\\uf064\");\n        ICON_MAP.put(FA_MAIL_REPLY, \"\\uf112\");\n        ICON_MAP.put(FA_MAIL_REPLY_ALL, \"\\uf122\");\n        ICON_MAP.put(FA_MALE, \"\\uf183\");\n        ICON_MAP.put(FA_MAP, \"\\uf279\");\n        ICON_MAP.put(FA_MAP_MARKER, \"\\uf041\");\n        ICON_MAP.put(FA_MAP_O, \"\\uf278\");\n        ICON_MAP.put(FA_MAP_PIN, \"\\uf276\");\n        ICON_MAP.put(FA_MAP_SIGNS, \"\\uf277\");\n        ICON_MAP.put(FA_MARS, \"\\uf222\");\n        ICON_MAP.put(FA_MARS_DOUBLE, \"\\uf227\");\n        ICON_MAP.put(FA_MARS_STROKE, \"\\uf229\");\n        ICON_MAP.put(FA_MARS_STROKE_H, \"\\uf22b\");\n        ICON_MAP.put(FA_MARS_STROKE_V, \"\\uf22a\");\n        ICON_MAP.put(FA_MAXCDN, \"\\uf136\");\n        ICON_MAP.put(FA_MEANPATH, \"\\uf20c\");\n        ICON_MAP.put(FA_MEDIUM, \"\\uf23a\");\n        ICON_MAP.put(FA_MEDKIT, \"\\uf0fa\");\n        ICON_MAP.put(FA_MEH_O, \"\\uf11a\");\n        ICON_MAP.put(FA_MERCURY, \"\\uf223\");\n        ICON_MAP.put(FA_MICROPHONE, \"\\uf130\");\n        ICON_MAP.put(FA_MICROPHONE_SLASH, \"\\uf131\");\n        ICON_MAP.put(FA_MINUS, \"\\uf068\");\n        ICON_MAP.put(FA_MINUS_CIRCLE, \"\\uf056\");\n        ICON_MAP.put(FA_MINUS_SQUARE, \"\\uf146\");\n        ICON_MAP.put(FA_MINUS_SQUARE_O, \"\\uf147\");\n        ICON_MAP.put(FA_MIXCLOUD, \"\\uf289\");\n        ICON_MAP.put(FA_MOBILE, \"\\uf10b\");\n        ICON_MAP.put(FA_MOBILE_PHONE, \"\\uf10b\");\n        ICON_MAP.put(FA_MODX, \"\\uf285\");\n        ICON_MAP.put(FA_MONEY, \"\\uf0d6\");\n        ICON_MAP.put(FA_MOON_O, \"\\uf186\");\n        ICON_MAP.put(FA_MORTAR_BOARD, \"\\uf19d\");\n        ICON_MAP.put(FA_MOTORCYCLE, \"\\uf21c\");\n        ICON_MAP.put(FA_MOUSE_POINTER, \"\\uf245\");\n        ICON_MAP.put(FA_MUSIC, \"\\uf001\");\n        ICON_MAP.put(FA_NAVICON, \"\\uf0c9\");\n        ICON_MAP.put(FA_NEUTER, \"\\uf22c\");\n        ICON_MAP.put(FA_NEWSPAPER_O, \"\\uf1ea\");\n        ICON_MAP.put(FA_OBJECT_GROUP, \"\\uf247\");\n        ICON_MAP.put(FA_OBJECT_UNGROUP, \"\\uf248\");\n        ICON_MAP.put(FA_ODNOKLASSNIKI, \"\\uf263\");\n        ICON_MAP.put(FA_ODNOKLASSNIKI_SQUARE, \"\\uf264\");\n        ICON_MAP.put(FA_OPENCART, \"\\uf23d\");\n        ICON_MAP.put(FA_OPENID, \"\\uf19b\");\n        ICON_MAP.put(FA_OPERA, \"\\uf26a\");\n        ICON_MAP.put(FA_OPTIN_MONSTER, \"\\uf23c\");\n        ICON_MAP.put(FA_OUTDENT, \"\\uf03b\");\n        ICON_MAP.put(FA_PAGELINES, \"\\uf18c\");\n        ICON_MAP.put(FA_PAINT_BRUSH, \"\\uf1fc\");\n        ICON_MAP.put(FA_PAPER_PLANE, \"\\uf1d8\");\n        ICON_MAP.put(FA_PAPER_PLANE_O, \"\\uf1d9\");\n        ICON_MAP.put(FA_PAPERCLIP, \"\\uf0c6\");\n        ICON_MAP.put(FA_PARAGRAPH, \"\\uf1dd\");\n        ICON_MAP.put(FA_PASTE, \"\\uf0ea\");\n        ICON_MAP.put(FA_PAUSE, \"\\uf04c\");\n        ICON_MAP.put(FA_PAUSE_CIRCLE, \"\\uf28b\");\n        ICON_MAP.put(FA_PAUSE_CIRCLE_O, \"\\uf28c\");\n        ICON_MAP.put(FA_PAW, \"\\uf1b0\");\n        ICON_MAP.put(FA_PAYPAL, \"\\uf1ed\");\n        ICON_MAP.put(FA_PENCIL, \"\\uf040\");\n        ICON_MAP.put(FA_PENCIL_SQUARE, \"\\uf14b\");\n        ICON_MAP.put(FA_PENCIL_SQUARE_O, \"\\uf044\");\n        ICON_MAP.put(FA_PERCENT, \"\\uf295\");\n        ICON_MAP.put(FA_PHONE, \"\\uf095\");\n        ICON_MAP.put(FA_PHONE_SQUARE, \"\\uf098\");\n        ICON_MAP.put(FA_PHOTO, \"\\uf03e\");\n        ICON_MAP.put(FA_PICTURE_O, \"\\uf03e\");\n        ICON_MAP.put(FA_PIE_CHART, \"\\uf200\");\n        ICON_MAP.put(FA_PIED_PIPER, \"\\uf2ae\");\n        ICON_MAP.put(FA_PIED_PIPER_ALT, \"\\uf1a8\");\n        ICON_MAP.put(FA_PINTEREST, \"\\uf0d2\");\n        ICON_MAP.put(FA_PINTEREST_P, \"\\uf231\");\n        ICON_MAP.put(FA_PINTEREST_SQUARE, \"\\uf0d3\");\n        ICON_MAP.put(FA_PLANE, \"\\uf072\");\n        ICON_MAP.put(FA_PLAY, \"\\uf04b\");\n        ICON_MAP.put(FA_PLAY_CIRCLE, \"\\uf144\");\n        ICON_MAP.put(FA_PLAY_CIRCLE_O, \"\\uf01d\");\n        ICON_MAP.put(FA_PLUG, \"\\uf1e6\");\n        ICON_MAP.put(FA_PLUS, \"\\uf067\");\n        ICON_MAP.put(FA_PLUS_CIRCLE, \"\\uf055\");\n        ICON_MAP.put(FA_PLUS_SQUARE, \"\\uf0fe\");\n        ICON_MAP.put(FA_PLUS_SQUARE_O, \"\\uf196\");\n        ICON_MAP.put(FA_POWER_OFF, \"\\uf011\");\n        ICON_MAP.put(FA_PRINT, \"\\uf02f\");\n        ICON_MAP.put(FA_PRODUCT_HUNT, \"\\uf288\");\n        ICON_MAP.put(FA_PUZZLE_PIECE, \"\\uf12e\");\n        ICON_MAP.put(FA_QQ, \"\\uf1d6\");\n        ICON_MAP.put(FA_QRCODE, \"\\uf029\");\n        ICON_MAP.put(FA_QUESTION, \"\\uf128\");\n        ICON_MAP.put(FA_QUESTION_CIRCLE, \"\\uf059\");\n        ICON_MAP.put(FA_QUOTE_LEFT, \"\\uf10d\");\n        ICON_MAP.put(FA_QUOTE_RIGHT, \"\\uf10e\");\n        ICON_MAP.put(FA_RA, \"\\uf1d0\");\n        ICON_MAP.put(FA_RANDOM, \"\\uf074\");\n        ICON_MAP.put(FA_REBEL, \"\\uf1d0\");\n        ICON_MAP.put(FA_RECYCLE, \"\\uf1b8\");\n        ICON_MAP.put(FA_REDDIT, \"\\uf1a1\");\n        ICON_MAP.put(FA_REDDIT_ALIEN, \"\\uf281\");\n        ICON_MAP.put(FA_REDDIT_SQUARE, \"\\uf1a2\");\n        ICON_MAP.put(FA_REFRESH, \"\\uf021\");\n        ICON_MAP.put(FA_REGISTERED, \"\\uf25d\");\n        ICON_MAP.put(FA_REMOVE, \"\\uf00d\");\n        ICON_MAP.put(FA_RENREN, \"\\uf18b\");\n        ICON_MAP.put(FA_REORDER, \"\\uf0c9\");\n        ICON_MAP.put(FA_REPEAT, \"\\uf01e\");\n        ICON_MAP.put(FA_REPLY, \"\\uf112\");\n        ICON_MAP.put(FA_REPLY_ALL, \"\\uf122\");\n        ICON_MAP.put(FA_RETWEET, \"\\uf079\");\n        ICON_MAP.put(FA_RMB, \"\\uf157\");\n        ICON_MAP.put(FA_ROAD, \"\\uf018\");\n        ICON_MAP.put(FA_ROCKET, \"\\uf135\");\n        ICON_MAP.put(FA_ROTATE_LEFT, \"\\uf0e2\");\n        ICON_MAP.put(FA_ROTATE_RIGHT, \"\\uf01e\");\n        ICON_MAP.put(FA_ROUBLE, \"\\uf158\");\n        ICON_MAP.put(FA_RSS, \"\\uf09e\");\n        ICON_MAP.put(FA_RSS_SQUARE, \"\\uf143\");\n        ICON_MAP.put(FA_RUB, \"\\uf158\");\n        ICON_MAP.put(FA_RUBLE, \"\\uf158\");\n        ICON_MAP.put(FA_RUPEE, \"\\uf156\");\n        ICON_MAP.put(FA_SAFARI, \"\\uf267\");\n        ICON_MAP.put(FA_SAVE, \"\\uf0c7\");\n        ICON_MAP.put(FA_SCISSORS, \"\\uf0c4\");\n        ICON_MAP.put(FA_SCRIBD, \"\\uf28a\");\n        ICON_MAP.put(FA_SEARCH, \"\\uf002\");\n        ICON_MAP.put(FA_SEARCH_MINUS, \"\\uf010\");\n        ICON_MAP.put(FA_SEARCH_PLUS, \"\\uf00e\");\n        ICON_MAP.put(FA_SELLSY, \"\\uf213\");\n        ICON_MAP.put(FA_SEND, \"\\uf1d8\");\n        ICON_MAP.put(FA_SEND_O, \"\\uf1d9\");\n        ICON_MAP.put(FA_SERVER, \"\\uf233\");\n        ICON_MAP.put(FA_SHARE, \"\\uf064\");\n        ICON_MAP.put(FA_SHARE_ALT, \"\\uf1e0\");\n        ICON_MAP.put(FA_SHARE_ALT_SQUARE, \"\\uf1e1\");\n        ICON_MAP.put(FA_SHARE_SQUARE, \"\\uf14d\");\n        ICON_MAP.put(FA_SHARE_SQUARE_O, \"\\uf045\");\n        ICON_MAP.put(FA_SHEKEL, \"\\uf20b\");\n        ICON_MAP.put(FA_SHEQEL, \"\\uf20b\");\n        ICON_MAP.put(FA_SHIELD, \"\\uf132\");\n        ICON_MAP.put(FA_SHIP, \"\\uf21a\");\n        ICON_MAP.put(FA_SHIRTSINBULK, \"\\uf214\");\n        ICON_MAP.put(FA_SHOPPING_BAG, \"\\uf290\");\n        ICON_MAP.put(FA_SHOPPING_BASKET, \"\\uf291\");\n        ICON_MAP.put(FA_SHOPPING_CART, \"\\uf07a\");\n        ICON_MAP.put(FA_SIGN_IN, \"\\uf090\");\n        ICON_MAP.put(FA_SIGN_OUT, \"\\uf08b\");\n        ICON_MAP.put(FA_SIGNAL, \"\\uf012\");\n        ICON_MAP.put(FA_SIMPLYBUILT, \"\\uf215\");\n        ICON_MAP.put(FA_SITEMAP, \"\\uf0e8\");\n        ICON_MAP.put(FA_SKYATLAS, \"\\uf216\");\n        ICON_MAP.put(FA_SKYPE, \"\\uf17e\");\n        ICON_MAP.put(FA_SLACK, \"\\uf198\");\n        ICON_MAP.put(FA_SLIDERS, \"\\uf1de\");\n        ICON_MAP.put(FA_SLIDESHARE, \"\\uf1e7\");\n        ICON_MAP.put(FA_SMILE_O, \"\\uf118\");\n        ICON_MAP.put(FA_SOCCER_BALL_O, \"\\uf1e3\");\n        ICON_MAP.put(FA_SORT, \"\\uf0dc\");\n        ICON_MAP.put(FA_SORT_ALPHA_ASC, \"\\uf15d\");\n        ICON_MAP.put(FA_SORT_ALPHA_DESC, \"\\uf15e\");\n        ICON_MAP.put(FA_SORT_AMOUNT_ASC, \"\\uf160\");\n        ICON_MAP.put(FA_SORT_AMOUNT_DESC, \"\\uf161\");\n        ICON_MAP.put(FA_SORT_ASC, \"\\uf0de\");\n        ICON_MAP.put(FA_SORT_DESC, \"\\uf0dd\");\n        ICON_MAP.put(FA_SORT_DOWN, \"\\uf0dd\");\n        ICON_MAP.put(FA_SORT_NUMERIC_ASC, \"\\uf162\");\n        ICON_MAP.put(FA_SORT_NUMERIC_DESC, \"\\uf163\");\n        ICON_MAP.put(FA_SORT_UP, \"\\uf0de\");\n        ICON_MAP.put(FA_SOUNDCLOUD, \"\\uf1be\");\n        ICON_MAP.put(FA_SPACE_SHUTTLE, \"\\uf197\");\n        ICON_MAP.put(FA_SPINNER, \"\\uf110\");\n        ICON_MAP.put(FA_SPOON, \"\\uf1b1\");\n        ICON_MAP.put(FA_SPOTIFY, \"\\uf1bc\");\n        ICON_MAP.put(FA_SQUARE, \"\\uf0c8\");\n        ICON_MAP.put(FA_SQUARE_O, \"\\uf096\");\n        ICON_MAP.put(FA_STACK_EXCHANGE, \"\\uf18d\");\n        ICON_MAP.put(FA_STACK_OVERFLOW, \"\\uf16c\");\n        ICON_MAP.put(FA_STAR, \"\\uf005\");\n        ICON_MAP.put(FA_STAR_HALF, \"\\uf089\");\n        ICON_MAP.put(FA_STAR_HALF_EMPTY, \"\\uf123\");\n        ICON_MAP.put(FA_STAR_HALF_FULL, \"\\uf123\");\n        ICON_MAP.put(FA_STAR_HALF_O, \"\\uf123\");\n        ICON_MAP.put(FA_STAR_O, \"\\uf006\");\n        ICON_MAP.put(FA_STEAM, \"\\uf1b6\");\n        ICON_MAP.put(FA_STEAM_SQUARE, \"\\uf1b7\");\n        ICON_MAP.put(FA_STEP_BACKWARD, \"\\uf048\");\n        ICON_MAP.put(FA_STEP_FORWARD, \"\\uf051\");\n        ICON_MAP.put(FA_STETHOSCOPE, \"\\uf0f1\");\n        ICON_MAP.put(FA_STICKY_NOTE, \"\\uf249\");\n        ICON_MAP.put(FA_STICKY_NOTE_O, \"\\uf24a\");\n        ICON_MAP.put(FA_STOP, \"\\uf04d\");\n        ICON_MAP.put(FA_STOP_CIRCLE, \"\\uf28d\");\n        ICON_MAP.put(FA_STOP_CIRCLE_O, \"\\uf28e\");\n        ICON_MAP.put(FA_STREET_VIEW, \"\\uf21d\");\n        ICON_MAP.put(FA_STRIKETHROUGH, \"\\uf0cc\");\n        ICON_MAP.put(FA_STUMBLEUPON, \"\\uf1a4\");\n        ICON_MAP.put(FA_STUMBLEUPON_CIRCLE, \"\\uf1a3\");\n        ICON_MAP.put(FA_SUBSCRIPT, \"\\uf12c\");\n        ICON_MAP.put(FA_SUBWAY, \"\\uf239\");\n        ICON_MAP.put(FA_SUITCASE, \"\\uf0f2\");\n        ICON_MAP.put(FA_SUN_O, \"\\uf185\");\n        ICON_MAP.put(FA_SUPERSCRIPT, \"\\uf12b\");\n        ICON_MAP.put(FA_SUPPORT, \"\\uf1cd\");\n        ICON_MAP.put(FA_TABLE, \"\\uf0ce\");\n        ICON_MAP.put(FA_TABLET, \"\\uf10a\");\n        ICON_MAP.put(FA_TACHOMETER, \"\\uf0e4\");\n        ICON_MAP.put(FA_TAG, \"\\uf02b\");\n        ICON_MAP.put(FA_TAGS, \"\\uf02c\");\n        ICON_MAP.put(FA_TASKS, \"\\uf0ae\");\n        ICON_MAP.put(FA_TAXI, \"\\uf1ba\");\n        ICON_MAP.put(FA_TELEVISION, \"\\uf26c\");\n        ICON_MAP.put(FA_TENCENT_WEIBO, \"\\uf1d5\");\n        ICON_MAP.put(FA_TERMINAL, \"\\uf120\");\n        ICON_MAP.put(FA_TEXT_HEIGHT, \"\\uf034\");\n        ICON_MAP.put(FA_TEXT_WIDTH, \"\\uf035\");\n        ICON_MAP.put(FA_TH, \"\\uf00a\");\n        ICON_MAP.put(FA_TH_LARGE, \"\\uf009\");\n        ICON_MAP.put(FA_TH_LIST, \"\\uf00b\");\n        ICON_MAP.put(FA_THUMB_TACK, \"\\uf08d\");\n        ICON_MAP.put(FA_THUMBS_DOWN, \"\\uf165\");\n        ICON_MAP.put(FA_THUMBS_O_DOWN, \"\\uf088\");\n        ICON_MAP.put(FA_THUMBS_O_UP, \"\\uf087\");\n        ICON_MAP.put(FA_THUMBS_UP, \"\\uf164\");\n        ICON_MAP.put(FA_TICKET, \"\\uf145\");\n        ICON_MAP.put(FA_TIMES, \"\\uf00d\");\n        ICON_MAP.put(FA_TIMES_CIRCLE, \"\\uf057\");\n        ICON_MAP.put(FA_TIMES_CIRCLE_O, \"\\uf05c\");\n        ICON_MAP.put(FA_TINT, \"\\uf043\");\n        ICON_MAP.put(FA_TOGGLE_DOWN, \"\\uf150\");\n        ICON_MAP.put(FA_TOGGLE_LEFT, \"\\uf191\");\n        ICON_MAP.put(FA_TOGGLE_OFF, \"\\uf204\");\n        ICON_MAP.put(FA_TOGGLE_ON, \"\\uf205\");\n        ICON_MAP.put(FA_TOGGLE_RIGHT, \"\\uf152\");\n        ICON_MAP.put(FA_TOGGLE_UP, \"\\uf151\");\n        ICON_MAP.put(FA_TRADEMARK, \"\\uf25c\");\n        ICON_MAP.put(FA_TRAIN, \"\\uf238\");\n        ICON_MAP.put(FA_TRANSGENDER, \"\\uf224\");\n        ICON_MAP.put(FA_TRANSGENDER_ALT, \"\\uf225\");\n        ICON_MAP.put(FA_TRASH, \"\\uf1f8\");\n        ICON_MAP.put(FA_TRASH_O, \"\\uf014\");\n        ICON_MAP.put(FA_TREE, \"\\uf1bb\");\n        ICON_MAP.put(FA_TRELLO, \"\\uf181\");\n        ICON_MAP.put(FA_TRIPADVISOR, \"\\uf262\");\n        ICON_MAP.put(FA_TROPHY, \"\\uf091\");\n        ICON_MAP.put(FA_TRUCK, \"\\uf0d1\");\n        ICON_MAP.put(FA_TRY, \"\\uf195\");\n        ICON_MAP.put(FA_TTY, \"\\uf1e4\");\n        ICON_MAP.put(FA_TUMBLR, \"\\uf173\");\n        ICON_MAP.put(FA_TUMBLR_SQUARE, \"\\uf174\");\n        ICON_MAP.put(FA_TURKISH_LIRA, \"\\uf195\");\n        ICON_MAP.put(FA_TV, \"\\uf26c\");\n        ICON_MAP.put(FA_TWITCH, \"\\uf1e8\");\n        ICON_MAP.put(FA_TWITTER, \"\\uf099\");\n        ICON_MAP.put(FA_TWITTER_SQUARE, \"\\uf081\");\n        ICON_MAP.put(FA_UMBRELLA, \"\\uf0e9\");\n        ICON_MAP.put(FA_UNDERLINE, \"\\uf0cd\");\n        ICON_MAP.put(FA_UNDO, \"\\uf0e2\");\n        ICON_MAP.put(FA_UNIVERSITY, \"\\uf19c\");\n        ICON_MAP.put(FA_UNLINK, \"\\uf127\");\n        ICON_MAP.put(FA_UNLOCK, \"\\uf09c\");\n        ICON_MAP.put(FA_UNLOCK_ALT, \"\\uf13e\");\n        ICON_MAP.put(FA_UNSORTED, \"\\uf0dc\");\n        ICON_MAP.put(FA_UPLOAD, \"\\uf093\");\n        ICON_MAP.put(FA_USB, \"\\uf287\");\n        ICON_MAP.put(FA_USD, \"\\uf155\");\n        ICON_MAP.put(FA_USER, \"\\uf007\");\n        ICON_MAP.put(FA_USER_MD, \"\\uf0f0\");\n        ICON_MAP.put(FA_USER_PLUS, \"\\uf234\");\n        ICON_MAP.put(FA_USER_SECRET, \"\\uf21b\");\n        ICON_MAP.put(FA_USER_TIMES, \"\\uf235\");\n        ICON_MAP.put(FA_USERS, \"\\uf0c0\");\n        ICON_MAP.put(FA_VENUS, \"\\uf221\");\n        ICON_MAP.put(FA_VENUS_DOUBLE, \"\\uf226\");\n        ICON_MAP.put(FA_VENUS_MARS, \"\\uf228\");\n        ICON_MAP.put(FA_VIACOIN, \"\\uf237\");\n        ICON_MAP.put(FA_VIDEO_CAMERA, \"\\uf03d\");\n        ICON_MAP.put(FA_VIMEO, \"\\uf27d\");\n        ICON_MAP.put(FA_VIMEO_SQUARE, \"\\uf194\");\n        ICON_MAP.put(FA_VINE, \"\\uf1ca\");\n        ICON_MAP.put(FA_VK, \"\\uf189\");\n        ICON_MAP.put(FA_VOLUME_DOWN, \"\\uf027\");\n        ICON_MAP.put(FA_VOLUME_OFF, \"\\uf026\");\n        ICON_MAP.put(FA_VOLUME_UP, \"\\uf028\");\n        ICON_MAP.put(FA_WARNING, \"\\uf071\");\n        ICON_MAP.put(FA_WECHAT, \"\\uf1d7\");\n        ICON_MAP.put(FA_WEIBO, \"\\uf18a\");\n        ICON_MAP.put(FA_WEIXIN, \"\\uf1d7\");\n        ICON_MAP.put(FA_WHATSAPP, \"\\uf232\");\n        ICON_MAP.put(FA_WHEELCHAIR, \"\\uf193\");\n        ICON_MAP.put(FA_WIFI, \"\\uf1eb\");\n        ICON_MAP.put(FA_WIKIPEDIA_W, \"\\uf266\");\n        ICON_MAP.put(FA_WINDOWS, \"\\uf17a\");\n        ICON_MAP.put(FA_WON, \"\\uf159\");\n        ICON_MAP.put(FA_WORDPRESS, \"\\uf19a\");\n        ICON_MAP.put(FA_WRENCH, \"\\uf0ad\");\n        ICON_MAP.put(FA_XING, \"\\uf168\");\n        ICON_MAP.put(FA_XING_SQUARE, \"\\uf169\");\n        ICON_MAP.put(FA_Y_COMBINATOR, \"\\uf23b\");\n        ICON_MAP.put(FA_Y_COMBINATOR_SQUARE, \"\\uf1d4\");\n        ICON_MAP.put(FA_YAHOO, \"\\uf19e\");\n        ICON_MAP.put(FA_YC, \"\\uf23b\");\n        ICON_MAP.put(FA_YC_SQUARE, \"\\uf1d4\");\n        ICON_MAP.put(FA_YELP, \"\\uf1e9\");\n        ICON_MAP.put(FA_YEN, \"\\uf157\");\n        ICON_MAP.put(FA_YOUTUBE, \"\\uf167\");\n        ICON_MAP.put(FA_YOUTUBE_PLAY, \"\\uf16a\");\n        ICON_MAP.put(FA_YOUTUBE_SQUARE, \"\\uf166\");\n        //4.6\n        ICON_MAP.put(FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING, \"\\uf2a3\");\n        ICON_MAP.put(FA_ASL_INTERPRETING, \"\\uf2a3\");\n        ICON_MAP.put(FA_ASSISTIVE_LISTENING_SYSTEMS, \"\\uf2a2\");\n        ICON_MAP.put(FA_AUDIO_DESCRIPTION, \"\\uf29e\");\n        ICON_MAP.put(FA_BLIND, \"\\uf29d\");\n        ICON_MAP.put(FA_BRAILLE, \"\\uf2a1\");\n        ICON_MAP.put(FA_DEAF, \"\\uf2a4\");\n        ICON_MAP.put(FA_DEAFNESS, \"\\uf2a4\");\n        ICON_MAP.put(FA_ENVIRA, \"\\uf299\");\n        ICON_MAP.put(FA_FA, \"\\uf2b4\");\n        ICON_MAP.put(FA_FIRST_ORDER, \"\\uf2b0\");\n        ICON_MAP.put(FA_FONT_AWESOME, \"\\uf2b4\");\n        ICON_MAP.put(FA_GITLAB, \"\\uf296\");\n        ICON_MAP.put(FA_GLIDE, \"\\uf2a5\");\n        ICON_MAP.put(FA_GLIDE_G, \"\\uf2a6\");\n        ICON_MAP.put(FA_GOOGLE_PLUS_CIRCLE, \"\\uf2b3\");\n        ICON_MAP.put(FA_GOOGLE_PLUS_OFFICIAL, \"\\uf2b3\");\n        ICON_MAP.put(FA_HARD_OF_HEARING, \"\\uf2a4\");\n        ICON_MAP.put(FA_LOW_VISION, \"\\uf2a8\");\n        ICON_MAP.put(FA_QUESTION_CIRCLE_O, \"\\uf29c\");\n        ICON_MAP.put(FA_SIGN_LANGUAGE, \"\\uf2a7\");\n        ICON_MAP.put(FA_SIGNING, \"\\uf2a7\");\n        ICON_MAP.put(FA_SNAPCHAT, \"\\uf2ab\");\n        ICON_MAP.put(FA_SNAPCHAT_GHOST, \"\\uf2ac\");\n        ICON_MAP.put(FA_SNAPCHAT_SQUARE, \"\\uf2ad\");\n        ICON_MAP.put(FA_THEMEISLE, \"\\uf2b2\");\n        ICON_MAP.put(FA_UNIVERSAL_ACCESS, \"\\uf29a\");\n        ICON_MAP.put(FA_VIADEO, \"\\uf2a9\");\n        ICON_MAP.put(FA_VIADEO_SQUARE, \"\\uf2aa\");\n        ICON_MAP.put(FA_VOLUME_CONTROL_PHONE, \"\\uf2a0\");\n        ICON_MAP.put(FA_WHEELCHAIR_ALT, \"\\uf29b\");\n        ICON_MAP.put(FA_WPBEGINNER, \"\\uf297\");\n        ICON_MAP.put(FA_WPFORMS, \"\\uf298\");\n        ICON_MAP.put(FA_YOAST, \"\\uf2b1\");\n        //4.7\n        ICON_MAP.put(FA_ADDRESS_BOOK, \"\\uf2b9\");\n        ICON_MAP.put(FA_ADDRESS_BOOK_O, \"\\uf2ba\");\n        ICON_MAP.put(FA_ADDRESS_CARD, \"\\uf2bb\");\n        ICON_MAP.put(FA_ADDRESS_CARD_O, \"\\uf2bc\");\n        ICON_MAP.put(FA_BANDCAMP, \"\\uf2d5\");\n        ICON_MAP.put(FA_BATH, \"\\uf2cd\");\n        ICON_MAP.put(FA_BATHTUB, \"\\uf2cd\");\n        ICON_MAP.put(FA_DRIVERS_LICENSE, \"\\uf2c2\");\n        ICON_MAP.put(FA_DRIVERS_LICENSE_O, \"\\uf2c3\");\n        ICON_MAP.put(FA_EERCAST, \"\\uf2da\");\n        ICON_MAP.put(FA_ENVELOPE_OPEN, \"\\uf2b6\");\n        ICON_MAP.put(FA_ENVELOPE_OPEN_O, \"\\uf2b7\");\n        ICON_MAP.put(FA_ETSY, \"\\uf2d7\");\n        ICON_MAP.put(FA_FREE_CODE_CAMP, \"\\uf2c5\");\n        ICON_MAP.put(FA_GRAV, \"\\uf2d6\");\n        ICON_MAP.put(FA_HANDSHAKE_O, \"\\uf2b5\");\n        ICON_MAP.put(FA_ID_BADGE, \"\\uf2c1\");\n        ICON_MAP.put(FA_ID_CARD, \"\\uf2c2\");\n        ICON_MAP.put(FA_ID_CARD_O, \"\\uf2c3\");\n        ICON_MAP.put(FA_IMDB, \"\\uf2d8\");\n        ICON_MAP.put(FA_LINODE, \"\\uf2b8\");\n        ICON_MAP.put(FA_MEETUP, \"\\uf2e0\");\n        ICON_MAP.put(FA_MICROCHIP, \"\\uf2db\");\n        ICON_MAP.put(FA_PODCAST, \"\\uf2ce\");\n        ICON_MAP.put(FA_QUORA, \"\\uf2c4\");\n        ICON_MAP.put(FA_RAVELRY, \"\\uf2d9\");\n        ICON_MAP.put(FA_S15, \"\\uf2cd\");\n        ICON_MAP.put(FA_SHOWER, \"\\uf2cc\");\n        ICON_MAP.put(FA_SNOWFLAKE_O, \"\\uf2dc\");\n        ICON_MAP.put(FA_SUPERPOWERS, \"\\uf2dd\");\n        ICON_MAP.put(FA_TELEGRAM, \"\\uf2c6\");\n        ICON_MAP.put(FA_THERMOMETER, \"\\uf2c7\");\n        ICON_MAP.put(FA_THERMOMETER_0, \"\\uf2cb\");\n        ICON_MAP.put(FA_THERMOMETER_1, \"\\uf2ca\");\n        ICON_MAP.put(FA_THERMOMETER_2, \"\\uf2c9\");\n        ICON_MAP.put(FA_THERMOMETER_3, \"\\uf2c8\");\n        ICON_MAP.put(FA_THERMOMETER_4, \"\\uf2c7\");\n        ICON_MAP.put(FA_THERMOMETER_EMPTY, \"\\uf2cb\");\n        ICON_MAP.put(FA_THERMOMETER_FULL, \"\\uf2c7\");\n        ICON_MAP.put(FA_THERMOMETER_HALF, \"\\uf2c9\");\n        ICON_MAP.put(FA_THERMOMETER_QUARTER, \"\\uf2ca\");\n        ICON_MAP.put(FA_THERMOMETER_THREE_QUARTERS, \"\\uf2c8\");\n        ICON_MAP.put(FA_TIMES_RECTANGLE, \"\\uf2d3\");\n        ICON_MAP.put(FA_TIMES_RECTANGLE_O, \"\\uf2d4\");\n        ICON_MAP.put(FA_USER_CIRCLE, \"\\uf2bd\");\n        ICON_MAP.put(FA_USER_CIRCLE_O, \"\\uf2be\");\n        ICON_MAP.put(FA_USER_O, \"\\uf2c0\");\n        ICON_MAP.put(FA_VCARD, \"\\uf2bb\");\n        ICON_MAP.put(FA_VCARD_O, \"\\uf2bc\");\n        ICON_MAP.put(FA_WINDOW_CLOSE, \"\\uf2d3\");\n        ICON_MAP.put(FA_WINDOW_CLOSE_O, \"\\uf2d4\");\n        ICON_MAP.put(FA_WINDOW_MAXIMIZE, \"\\uf2d0\");\n        ICON_MAP.put(FA_WINDOW_MINIMIZE, \"\\uf2d1\");\n        ICON_MAP.put(FA_WINDOW_RESTORE, \"\\uf2d2\");\n        ICON_MAP.put(FA_WPEXPLORER, \"\\uf2de\");\n\n\n        ATTR_MAP.put(0, FA_ADJUST);\n        ATTR_MAP.put(1, FA_ADN);\n        ATTR_MAP.put(2, FA_ALIGN_CENTER);\n        ATTR_MAP.put(3, FA_ALIGN_JUSTIFY);\n        ATTR_MAP.put(4, FA_ALIGN_LEFT);\n        ATTR_MAP.put(5, FA_ALIGN_RIGHT);\n        ATTR_MAP.put(6, FA_AMAZON);\n        ATTR_MAP.put(7, FA_AMBULANCE);\n        ATTR_MAP.put(8, FA_ANCHOR);\n        ATTR_MAP.put(9, FA_ANDROID);\n        ATTR_MAP.put(10, FA_ANGELLIST);\n        ATTR_MAP.put(11, FA_ANGLE_DOUBLE_DOWN);\n        ATTR_MAP.put(12, FA_ANGLE_DOUBLE_LEFT);\n        ATTR_MAP.put(13, FA_ANGLE_DOUBLE_RIGHT);\n        ATTR_MAP.put(14, FA_ANGLE_DOUBLE_UP);\n        ATTR_MAP.put(15, FA_ANGLE_DOWN);\n        ATTR_MAP.put(16, FA_ANGLE_LEFT);\n        ATTR_MAP.put(17, FA_ANGLE_RIGHT);\n        ATTR_MAP.put(18, FA_ANGLE_UP);\n        ATTR_MAP.put(19, FA_APPLE);\n        ATTR_MAP.put(20, FA_ARCHIVE);\n        ATTR_MAP.put(21, FA_AREA_CHART);\n        ATTR_MAP.put(22, FA_ARROW_CIRCLE_DOWN);\n        ATTR_MAP.put(23, FA_ARROW_CIRCLE_LEFT);\n        ATTR_MAP.put(24, FA_ARROW_CIRCLE_O_DOWN);\n        ATTR_MAP.put(25, FA_ARROW_CIRCLE_O_LEFT);\n        ATTR_MAP.put(26, FA_ARROW_CIRCLE_O_RIGHT);\n        ATTR_MAP.put(27, FA_ARROW_CIRCLE_O_UP);\n        ATTR_MAP.put(28, FA_ARROW_CIRCLE_RIGHT);\n        ATTR_MAP.put(29, FA_ARROW_CIRCLE_UP);\n        ATTR_MAP.put(30, FA_ARROW_DOWN);\n        ATTR_MAP.put(31, FA_ARROW_LEFT);\n        ATTR_MAP.put(32, FA_ARROW_RIGHT);\n        ATTR_MAP.put(33, FA_ARROW_UP);\n        ATTR_MAP.put(34, FA_ARROWS);\n        ATTR_MAP.put(35, FA_ARROWS_ALT);\n        ATTR_MAP.put(36, FA_ARROWS_H);\n        ATTR_MAP.put(37, FA_ARROWS_V);\n        ATTR_MAP.put(38, FA_ASTERISK);\n        ATTR_MAP.put(39, FA_AT);\n        ATTR_MAP.put(40, FA_AUTOMOBILE);\n        ATTR_MAP.put(41, FA_BACKWARD);\n        ATTR_MAP.put(42, FA_BALANCE_SCALE);\n        ATTR_MAP.put(43, FA_BAN);\n        ATTR_MAP.put(44, FA_BANK);\n        ATTR_MAP.put(45, FA_BAR_CHART);\n        ATTR_MAP.put(46, FA_BAR_CHART_O);\n        ATTR_MAP.put(47, FA_BARCODE);\n        ATTR_MAP.put(48, FA_BARS);\n        ATTR_MAP.put(49, FA_BATTERY_0);\n        ATTR_MAP.put(50, FA_BATTERY_1);\n        ATTR_MAP.put(51, FA_BATTERY_2);\n        ATTR_MAP.put(52, FA_BATTERY_3);\n        ATTR_MAP.put(53, FA_BATTERY_4);\n        ATTR_MAP.put(54, FA_BATTERY_EMPTY);\n        ATTR_MAP.put(55, FA_BATTERY_FULL);\n        ATTR_MAP.put(56, FA_BATTERY_HALF);\n        ATTR_MAP.put(57, FA_BATTERY_QUARTER);\n        ATTR_MAP.put(58, FA_BATTERY_THREE_QUARTERS);\n        ATTR_MAP.put(59, FA_BED);\n        ATTR_MAP.put(60, FA_BEER);\n        ATTR_MAP.put(61, FA_BEHANCE);\n        ATTR_MAP.put(62, FA_BEHANCE_SQUARE);\n        ATTR_MAP.put(63, FA_BELL);\n        ATTR_MAP.put(64, FA_BELL_O);\n        ATTR_MAP.put(65, FA_BELL_SLASH);\n        ATTR_MAP.put(66, FA_BELL_SLASH_O);\n        ATTR_MAP.put(67, FA_BICYCLE);\n        ATTR_MAP.put(68, FA_BINOCULARS);\n        ATTR_MAP.put(69, FA_BIRTHDAY_CAKE);\n        ATTR_MAP.put(70, FA_BITBUCKET);\n        ATTR_MAP.put(71, FA_BITBUCKET_SQUARE);\n        ATTR_MAP.put(72, FA_BITCOIN);\n        ATTR_MAP.put(73, FA_BLACK_TIE);\n        ATTR_MAP.put(74, FA_BLUETOOTH);\n        ATTR_MAP.put(75, FA_BLUETOOTH_B);\n        ATTR_MAP.put(76, FA_BOLD);\n        ATTR_MAP.put(77, FA_BOLT);\n        ATTR_MAP.put(78, FA_BOMB);\n        ATTR_MAP.put(79, FA_BOOK);\n        ATTR_MAP.put(80, FA_BOOKMARK);\n        ATTR_MAP.put(81, FA_BOOKMARK_O);\n        ATTR_MAP.put(82, FA_BRIEFCASE);\n        ATTR_MAP.put(83, FA_BTC);\n        ATTR_MAP.put(84, FA_BUG);\n        ATTR_MAP.put(85, FA_BUILDING);\n        ATTR_MAP.put(86, FA_BUILDING_O);\n        ATTR_MAP.put(87, FA_BULLHORN);\n        ATTR_MAP.put(88, FA_BULLSEYE);\n        ATTR_MAP.put(89, FA_BUS);\n        ATTR_MAP.put(90, FA_BUYSELLADS);\n        ATTR_MAP.put(91, FA_CAB);\n        ATTR_MAP.put(92, FA_CALCULATOR);\n        ATTR_MAP.put(93, FA_CALENDAR);\n        ATTR_MAP.put(94, FA_CALENDAR_CHECK_O);\n        ATTR_MAP.put(95, FA_CALENDAR_MINUS_O);\n        ATTR_MAP.put(96, FA_CALENDAR_O);\n        ATTR_MAP.put(97, FA_CALENDAR_PLUS_O);\n        ATTR_MAP.put(98, FA_CALENDAR_TIMES_O);\n        ATTR_MAP.put(99, FA_CAMERA);\n        ATTR_MAP.put(100, FA_CAMERA_RETRO);\n        ATTR_MAP.put(101, FA_CAR);\n        ATTR_MAP.put(102, FA_CARET_DOWN);\n        ATTR_MAP.put(103, FA_CARET_LEFT);\n        ATTR_MAP.put(104, FA_CARET_RIGHT);\n        ATTR_MAP.put(105, FA_CARET_SQUARE_O_DOWN);\n        ATTR_MAP.put(106, FA_CARET_SQUARE_O_LEFT);\n        ATTR_MAP.put(107, FA_CARET_SQUARE_O_RIGHT);\n        ATTR_MAP.put(108, FA_CARET_SQUARE_O_UP);\n        ATTR_MAP.put(109, FA_CARET_UP);\n        ATTR_MAP.put(110, FA_CART_ARROW_DOWN);\n        ATTR_MAP.put(111, FA_CART_PLUS);\n        ATTR_MAP.put(112, FA_CC);\n        ATTR_MAP.put(113, FA_CC_AMEX);\n        ATTR_MAP.put(114, FA_CC_DINERS_CLUB);\n        ATTR_MAP.put(115, FA_CC_DISCOVER);\n        ATTR_MAP.put(116, FA_CC_JCB);\n        ATTR_MAP.put(117, FA_CC_MASTERCARD);\n        ATTR_MAP.put(118, FA_CC_PAYPAL);\n        ATTR_MAP.put(119, FA_CC_STRIPE);\n        ATTR_MAP.put(120, FA_CC_VISA);\n        ATTR_MAP.put(121, FA_CERTIFICATE);\n        ATTR_MAP.put(122, FA_CHAIN);\n        ATTR_MAP.put(123, FA_CHAIN_BROKEN);\n        ATTR_MAP.put(124, FA_CHECK);\n        ATTR_MAP.put(125, FA_CHECK_CIRCLE);\n        ATTR_MAP.put(126, FA_CHECK_CIRCLE_O);\n        ATTR_MAP.put(127, FA_CHECK_SQUARE);\n        ATTR_MAP.put(128, FA_CHECK_SQUARE_O);\n        ATTR_MAP.put(129, FA_CHEVRON_CIRCLE_DOWN);\n        ATTR_MAP.put(130, FA_CHEVRON_CIRCLE_LEFT);\n        ATTR_MAP.put(131, FA_CHEVRON_CIRCLE_RIGHT);\n        ATTR_MAP.put(132, FA_CHEVRON_CIRCLE_UP);\n        ATTR_MAP.put(133, FA_CHEVRON_DOWN);\n        ATTR_MAP.put(134, FA_CHEVRON_LEFT);\n        ATTR_MAP.put(135, FA_CHEVRON_RIGHT);\n        ATTR_MAP.put(136, FA_CHEVRON_UP);\n        ATTR_MAP.put(137, FA_CHILD);\n        ATTR_MAP.put(138, FA_CHROME);\n        ATTR_MAP.put(139, FA_CIRCLE);\n        ATTR_MAP.put(140, FA_CIRCLE_O);\n        ATTR_MAP.put(141, FA_CIRCLE_O_NOTCH);\n        ATTR_MAP.put(142, FA_CIRCLE_THIN);\n        ATTR_MAP.put(143, FA_CLIPBOARD);\n        ATTR_MAP.put(144, FA_CLOCK_O);\n        ATTR_MAP.put(145, FA_CLONE);\n        ATTR_MAP.put(146, FA_CLOSE);\n        ATTR_MAP.put(147, FA_CLOUD);\n        ATTR_MAP.put(148, FA_CLOUD_DOWNLOAD);\n        ATTR_MAP.put(149, FA_CLOUD_UPLOAD);\n        ATTR_MAP.put(150, FA_CNY);\n        ATTR_MAP.put(151, FA_CODE);\n        ATTR_MAP.put(152, FA_CODE_FORK);\n        ATTR_MAP.put(153, FA_CODEPEN);\n        ATTR_MAP.put(154, FA_CODIEPIE);\n        ATTR_MAP.put(155, FA_COFFEE);\n        ATTR_MAP.put(156, FA_COG);\n        ATTR_MAP.put(157, FA_COGS);\n        ATTR_MAP.put(158, FA_COLUMNS);\n        ATTR_MAP.put(159, FA_COMMENT);\n        ATTR_MAP.put(160, FA_COMMENT_O);\n        ATTR_MAP.put(161, FA_COMMENTING);\n        ATTR_MAP.put(162, FA_COMMENTING_O);\n        ATTR_MAP.put(163, FA_COMMENTS);\n        ATTR_MAP.put(164, FA_COMMENTS_O);\n        ATTR_MAP.put(165, FA_COMPASS);\n        ATTR_MAP.put(166, FA_COMPRESS);\n        ATTR_MAP.put(167, FA_CONNECTDEVELOP);\n        ATTR_MAP.put(168, FA_CONTAO);\n        ATTR_MAP.put(169, FA_COPY);\n        ATTR_MAP.put(170, FA_COPYRIGHT);\n        ATTR_MAP.put(171, FA_CREATIVE_COMMONS);\n        ATTR_MAP.put(172, FA_CREDIT_CARD);\n        ATTR_MAP.put(173, FA_CREDIT_CARD_ALT);\n        ATTR_MAP.put(174, FA_CROP);\n        ATTR_MAP.put(175, FA_CROSSHAIRS);\n        ATTR_MAP.put(176, FA_CSS3);\n        ATTR_MAP.put(177, FA_CUBE);\n        ATTR_MAP.put(178, FA_CUBES);\n        ATTR_MAP.put(179, FA_CUT);\n        ATTR_MAP.put(180, FA_CUTLERY);\n        ATTR_MAP.put(181, FA_DASHBOARD);\n        ATTR_MAP.put(182, FA_DASHCUBE);\n        ATTR_MAP.put(183, FA_DATABASE);\n        ATTR_MAP.put(184, FA_DEDENT);\n        ATTR_MAP.put(185, FA_DELICIOUS);\n        ATTR_MAP.put(186, FA_DESKTOP);\n        ATTR_MAP.put(187, FA_DEVIANTART);\n        ATTR_MAP.put(188, FA_DIAMOND);\n        ATTR_MAP.put(189, FA_DIGG);\n        ATTR_MAP.put(190, FA_DOLLAR);\n        ATTR_MAP.put(191, FA_DOT_CIRCLE_O);\n        ATTR_MAP.put(192, FA_DOWNLOAD);\n        ATTR_MAP.put(193, FA_DRIBBBLE);\n        ATTR_MAP.put(194, FA_DROPBOX);\n        ATTR_MAP.put(195, FA_DRUPAL);\n        ATTR_MAP.put(196, FA_EDGE);\n        ATTR_MAP.put(197, FA_EDIT);\n        ATTR_MAP.put(198, FA_EJECT);\n        ATTR_MAP.put(199, FA_ELLIPSIS_H);\n        ATTR_MAP.put(200, FA_ELLIPSIS_V);\n        ATTR_MAP.put(201, FA_EMPIRE);\n        ATTR_MAP.put(202, FA_ENVELOPE);\n        ATTR_MAP.put(203, FA_ENVELOPE_O);\n        ATTR_MAP.put(204, FA_ENVELOPE_SQUARE);\n        ATTR_MAP.put(205, FA_ERASER);\n        ATTR_MAP.put(206, FA_EUR);\n        ATTR_MAP.put(207, FA_EURO);\n        ATTR_MAP.put(208, FA_EXCHANGE);\n        ATTR_MAP.put(209, FA_EXCLAMATION);\n        ATTR_MAP.put(210, FA_EXCLAMATION_CIRCLE);\n        ATTR_MAP.put(211, FA_EXCLAMATION_TRIANGLE);\n        ATTR_MAP.put(212, FA_EXPAND);\n        ATTR_MAP.put(213, FA_EXPEDITEDSSL);\n        ATTR_MAP.put(214, FA_EXTERNAL_LINK);\n        ATTR_MAP.put(215, FA_EXTERNAL_LINK_SQUARE);\n        ATTR_MAP.put(216, FA_EYE);\n        ATTR_MAP.put(217, FA_EYE_SLASH);\n        ATTR_MAP.put(218, FA_EYEDROPPER);\n        ATTR_MAP.put(219, FA_FACEBOOK);\n        ATTR_MAP.put(220, FA_FACEBOOK_F);\n        ATTR_MAP.put(221, FA_FACEBOOK_OFFICIAL);\n        ATTR_MAP.put(222, FA_FACEBOOK_SQUARE);\n        ATTR_MAP.put(223, FA_FAST_BACKWARD);\n        ATTR_MAP.put(224, FA_FAST_FORWARD);\n        ATTR_MAP.put(225, FA_FAX);\n        ATTR_MAP.put(226, FA_FEED);\n        ATTR_MAP.put(227, FA_FEMALE);\n        ATTR_MAP.put(228, FA_FIGHTER_JET);\n        ATTR_MAP.put(229, FA_FILE);\n        ATTR_MAP.put(230, FA_FILE_ARCHIVE_O);\n        ATTR_MAP.put(231, FA_FILE_AUDIO_O);\n        ATTR_MAP.put(232, FA_FILE_CODE_O);\n        ATTR_MAP.put(233, FA_FILE_EXCEL_O);\n        ATTR_MAP.put(234, FA_FILE_IMAGE_O);\n        ATTR_MAP.put(235, FA_FILE_MOVIE_O);\n        ATTR_MAP.put(236, FA_FILE_O);\n        ATTR_MAP.put(237, FA_FILE_PDF_O);\n        ATTR_MAP.put(238, FA_FILE_PHOTO_O);\n        ATTR_MAP.put(239, FA_FILE_PICTURE_O);\n        ATTR_MAP.put(240, FA_FILE_POWERPOINT_O);\n        ATTR_MAP.put(241, FA_FILE_SOUND_O);\n        ATTR_MAP.put(242, FA_FILE_TEXT);\n        ATTR_MAP.put(243, FA_FILE_TEXT_O);\n        ATTR_MAP.put(244, FA_FILE_VIDEO_O);\n        ATTR_MAP.put(245, FA_FILE_WORD_O);\n        ATTR_MAP.put(246, FA_FILE_ZIP_O);\n        ATTR_MAP.put(247, FA_FILES_O);\n        ATTR_MAP.put(248, FA_FILM);\n        ATTR_MAP.put(249, FA_FILTER);\n        ATTR_MAP.put(250, FA_FIRE);\n        ATTR_MAP.put(251, FA_FIRE_EXTINGUISHER);\n        ATTR_MAP.put(252, FA_FIREFOX);\n        ATTR_MAP.put(253, FA_FLAG);\n        ATTR_MAP.put(254, FA_FLAG_CHECKERED);\n        ATTR_MAP.put(255, FA_FLAG_O);\n        ATTR_MAP.put(256, FA_FLASH);\n        ATTR_MAP.put(257, FA_FLASK);\n        ATTR_MAP.put(258, FA_FLICKR);\n        ATTR_MAP.put(259, FA_FLOPPY_O);\n        ATTR_MAP.put(260, FA_FOLDER);\n        ATTR_MAP.put(261, FA_FOLDER_O);\n        ATTR_MAP.put(262, FA_FOLDER_OPEN);\n        ATTR_MAP.put(263, FA_FOLDER_OPEN_O);\n        ATTR_MAP.put(264, FA_FONT);\n        ATTR_MAP.put(265, FA_FONTICONS);\n        ATTR_MAP.put(266, FA_FORT_AWESOME);\n        ATTR_MAP.put(267, FA_FORUMBEE);\n        ATTR_MAP.put(268, FA_FORWARD);\n        ATTR_MAP.put(269, FA_FOURSQUARE);\n        ATTR_MAP.put(270, FA_FROWN_O);\n        ATTR_MAP.put(271, FA_FUTBOL_O);\n        ATTR_MAP.put(272, FA_GAMEPAD);\n        ATTR_MAP.put(273, FA_GAVEL);\n        ATTR_MAP.put(274, FA_GBP);\n        ATTR_MAP.put(275, FA_GE);\n        ATTR_MAP.put(276, FA_GEAR);\n        ATTR_MAP.put(277, FA_GEARS);\n        ATTR_MAP.put(278, FA_GENDERLESS);\n        ATTR_MAP.put(279, FA_GET_POCKET);\n        ATTR_MAP.put(280, FA_GG);\n        ATTR_MAP.put(281, FA_GG_CIRCLE);\n        ATTR_MAP.put(282, FA_GIFT);\n        ATTR_MAP.put(283, FA_GIT);\n        ATTR_MAP.put(284, FA_GIT_SQUARE);\n        ATTR_MAP.put(285, FA_GITHUB);\n        ATTR_MAP.put(286, FA_GITHUB_ALT);\n        ATTR_MAP.put(287, FA_GITHUB_SQUARE);\n        ATTR_MAP.put(288, FA_GITTIP);\n        ATTR_MAP.put(289, FA_GLASS);\n        ATTR_MAP.put(290, FA_GLOBE);\n        ATTR_MAP.put(291, FA_GOOGLE);\n        ATTR_MAP.put(292, FA_GOOGLE_PLUS);\n        ATTR_MAP.put(293, FA_GOOGLE_PLUS_SQUARE);\n        ATTR_MAP.put(294, FA_GOOGLE_WALLET);\n        ATTR_MAP.put(295, FA_GRADUATION_CAP);\n        ATTR_MAP.put(296, FA_GRATIPAY);\n        ATTR_MAP.put(297, FA_GROUP);\n        ATTR_MAP.put(298, FA_H_SQUARE);\n        ATTR_MAP.put(299, FA_HACKER_NEWS);\n        ATTR_MAP.put(300, FA_HAND_GRAB_O);\n        ATTR_MAP.put(301, FA_HAND_LIZARD_O);\n        ATTR_MAP.put(302, FA_HAND_O_DOWN);\n        ATTR_MAP.put(303, FA_HAND_O_LEFT);\n        ATTR_MAP.put(304, FA_HAND_O_RIGHT);\n        ATTR_MAP.put(305, FA_HAND_O_UP);\n        ATTR_MAP.put(306, FA_HAND_PAPER_O);\n        ATTR_MAP.put(307, FA_HAND_PEACE_O);\n        ATTR_MAP.put(308, FA_HAND_POINTER_O);\n        ATTR_MAP.put(309, FA_HAND_ROCK_O);\n        ATTR_MAP.put(310, FA_HAND_SCISSORS_O);\n        ATTR_MAP.put(311, FA_HAND_SPOCK_O);\n        ATTR_MAP.put(312, FA_HAND_STOP_O);\n        ATTR_MAP.put(313, FA_HASHTAG);\n        ATTR_MAP.put(314, FA_HDD_O);\n        ATTR_MAP.put(315, FA_HEADER);\n        ATTR_MAP.put(316, FA_HEADPHONES);\n        ATTR_MAP.put(317, FA_HEART);\n        ATTR_MAP.put(318, FA_HEART_O);\n        ATTR_MAP.put(319, FA_HEARTBEAT);\n        ATTR_MAP.put(320, FA_HISTORY);\n        ATTR_MAP.put(321, FA_HOME);\n        ATTR_MAP.put(322, FA_HOSPITAL_O);\n        ATTR_MAP.put(323, FA_HOTEL);\n        ATTR_MAP.put(324, FA_HOURGLASS);\n        ATTR_MAP.put(325, FA_HOURGLASS_1);\n        ATTR_MAP.put(326, FA_HOURGLASS_2);\n        ATTR_MAP.put(327, FA_HOURGLASS_3);\n        ATTR_MAP.put(328, FA_HOURGLASS_END);\n        ATTR_MAP.put(329, FA_HOURGLASS_HALF);\n        ATTR_MAP.put(330, FA_HOURGLASS_O);\n        ATTR_MAP.put(331, FA_HOURGLASS_START);\n        ATTR_MAP.put(332, FA_HOUZZ);\n        ATTR_MAP.put(333, FA_HTML5);\n        ATTR_MAP.put(334, FA_I_CURSOR);\n        ATTR_MAP.put(335, FA_ILS);\n        ATTR_MAP.put(336, FA_IMAGE);\n        ATTR_MAP.put(337, FA_INBOX);\n        ATTR_MAP.put(338, FA_INDENT);\n        ATTR_MAP.put(339, FA_INDUSTRY);\n        ATTR_MAP.put(340, FA_INFO);\n        ATTR_MAP.put(341, FA_INFO_CIRCLE);\n        ATTR_MAP.put(342, FA_INR);\n        ATTR_MAP.put(343, FA_INSTAGRAM);\n        ATTR_MAP.put(344, FA_INSTITUTION);\n        ATTR_MAP.put(345, FA_INTERNET_EXPLORER);\n        ATTR_MAP.put(346, FA_INTERSEX);\n        ATTR_MAP.put(347, FA_IOXHOST);\n        ATTR_MAP.put(348, FA_ITALIC);\n        ATTR_MAP.put(349, FA_JOOMLA);\n        ATTR_MAP.put(350, FA_JPY);\n        ATTR_MAP.put(351, FA_JSFIDDLE);\n        ATTR_MAP.put(352, FA_KEY);\n        ATTR_MAP.put(353, FA_KEYBOARD_O);\n        ATTR_MAP.put(354, FA_KRW);\n        ATTR_MAP.put(355, FA_LANGUAGE);\n        ATTR_MAP.put(356, FA_LAPTOP);\n        ATTR_MAP.put(357, FA_LASTFM);\n        ATTR_MAP.put(358, FA_LASTFM_SQUARE);\n        ATTR_MAP.put(359, FA_LEAF);\n        ATTR_MAP.put(360, FA_LEANPUB);\n        ATTR_MAP.put(361, FA_LEGAL);\n        ATTR_MAP.put(362, FA_LEMON_O);\n        ATTR_MAP.put(363, FA_LEVEL_DOWN);\n        ATTR_MAP.put(364, FA_LEVEL_UP);\n        ATTR_MAP.put(365, FA_LIFE_BOUY);\n        ATTR_MAP.put(366, FA_LIFE_BUOY);\n        ATTR_MAP.put(367, FA_LIFE_RING);\n        ATTR_MAP.put(368, FA_LIFE_SAVER);\n        ATTR_MAP.put(369, FA_LIGHTBULB_O);\n        ATTR_MAP.put(370, FA_LINE_CHART);\n        ATTR_MAP.put(371, FA_LINK);\n        ATTR_MAP.put(372, FA_LINKEDIN);\n        ATTR_MAP.put(373, FA_LINKEDIN_SQUARE);\n        ATTR_MAP.put(374, FA_LINUX);\n        ATTR_MAP.put(375, FA_LIST);\n        ATTR_MAP.put(376, FA_LIST_ALT);\n        ATTR_MAP.put(377, FA_LIST_OL);\n        ATTR_MAP.put(378, FA_LIST_UL);\n        ATTR_MAP.put(379, FA_LOCATION_ARROW);\n        ATTR_MAP.put(380, FA_LOCK);\n        ATTR_MAP.put(381, FA_LONG_ARROW_DOWN);\n        ATTR_MAP.put(382, FA_LONG_ARROW_LEFT);\n        ATTR_MAP.put(383, FA_LONG_ARROW_RIGHT);\n        ATTR_MAP.put(384, FA_LONG_ARROW_UP);\n        ATTR_MAP.put(385, FA_MAGIC);\n        ATTR_MAP.put(386, FA_MAGNET);\n        ATTR_MAP.put(387, FA_MAIL_FORWARD);\n        ATTR_MAP.put(388, FA_MAIL_REPLY);\n        ATTR_MAP.put(389, FA_MAIL_REPLY_ALL);\n        ATTR_MAP.put(390, FA_MALE);\n        ATTR_MAP.put(391, FA_MAP);\n        ATTR_MAP.put(392, FA_MAP_MARKER);\n        ATTR_MAP.put(393, FA_MAP_O);\n        ATTR_MAP.put(394, FA_MAP_PIN);\n        ATTR_MAP.put(395, FA_MAP_SIGNS);\n        ATTR_MAP.put(396, FA_MARS);\n        ATTR_MAP.put(397, FA_MARS_DOUBLE);\n        ATTR_MAP.put(398, FA_MARS_STROKE);\n        ATTR_MAP.put(399, FA_MARS_STROKE_H);\n        ATTR_MAP.put(400, FA_MARS_STROKE_V);\n        ATTR_MAP.put(401, FA_MAXCDN);\n        ATTR_MAP.put(402, FA_MEANPATH);\n        ATTR_MAP.put(403, FA_MEDIUM);\n        ATTR_MAP.put(404, FA_MEDKIT);\n        ATTR_MAP.put(405, FA_MEH_O);\n        ATTR_MAP.put(406, FA_MERCURY);\n        ATTR_MAP.put(407, FA_MICROPHONE);\n        ATTR_MAP.put(408, FA_MICROPHONE_SLASH);\n        ATTR_MAP.put(409, FA_MINUS);\n        ATTR_MAP.put(410, FA_MINUS_CIRCLE);\n        ATTR_MAP.put(411, FA_MINUS_SQUARE);\n        ATTR_MAP.put(412, FA_MINUS_SQUARE_O);\n        ATTR_MAP.put(413, FA_MIXCLOUD);\n        ATTR_MAP.put(414, FA_MOBILE);\n        ATTR_MAP.put(415, FA_MOBILE_PHONE);\n        ATTR_MAP.put(416, FA_MODX);\n        ATTR_MAP.put(417, FA_MONEY);\n        ATTR_MAP.put(418, FA_MOON_O);\n        ATTR_MAP.put(419, FA_MORTAR_BOARD);\n        ATTR_MAP.put(420, FA_MOTORCYCLE);\n        ATTR_MAP.put(421, FA_MOUSE_POINTER);\n        ATTR_MAP.put(422, FA_MUSIC);\n        ATTR_MAP.put(423, FA_NAVICON);\n        ATTR_MAP.put(424, FA_NEUTER);\n        ATTR_MAP.put(425, FA_NEWSPAPER_O);\n        ATTR_MAP.put(426, FA_OBJECT_GROUP);\n        ATTR_MAP.put(427, FA_OBJECT_UNGROUP);\n        ATTR_MAP.put(428, FA_ODNOKLASSNIKI);\n        ATTR_MAP.put(429, FA_ODNOKLASSNIKI_SQUARE);\n        ATTR_MAP.put(430, FA_OPENCART);\n        ATTR_MAP.put(431, FA_OPENID);\n        ATTR_MAP.put(432, FA_OPERA);\n        ATTR_MAP.put(433, FA_OPTIN_MONSTER);\n        ATTR_MAP.put(434, FA_OUTDENT);\n        ATTR_MAP.put(435, FA_PAGELINES);\n        ATTR_MAP.put(436, FA_PAINT_BRUSH);\n        ATTR_MAP.put(437, FA_PAPER_PLANE);\n        ATTR_MAP.put(438, FA_PAPER_PLANE_O);\n        ATTR_MAP.put(439, FA_PAPERCLIP);\n        ATTR_MAP.put(440, FA_PARAGRAPH);\n        ATTR_MAP.put(441, FA_PASTE);\n        ATTR_MAP.put(442, FA_PAUSE);\n        ATTR_MAP.put(443, FA_PAUSE_CIRCLE);\n        ATTR_MAP.put(444, FA_PAUSE_CIRCLE_O);\n        ATTR_MAP.put(445, FA_PAW);\n        ATTR_MAP.put(446, FA_PAYPAL);\n        ATTR_MAP.put(447, FA_PENCIL);\n        ATTR_MAP.put(448, FA_PENCIL_SQUARE);\n        ATTR_MAP.put(449, FA_PENCIL_SQUARE_O);\n        ATTR_MAP.put(450, FA_PERCENT);\n        ATTR_MAP.put(451, FA_PHONE);\n        ATTR_MAP.put(452, FA_PHONE_SQUARE);\n        ATTR_MAP.put(453, FA_PHOTO);\n        ATTR_MAP.put(454, FA_PICTURE_O);\n        ATTR_MAP.put(455, FA_PIE_CHART);\n        ATTR_MAP.put(456, FA_PIED_PIPER);\n        ATTR_MAP.put(457, FA_PIED_PIPER_ALT);\n        ATTR_MAP.put(458, FA_PINTEREST);\n        ATTR_MAP.put(459, FA_PINTEREST_P);\n        ATTR_MAP.put(460, FA_PINTEREST_SQUARE);\n        ATTR_MAP.put(461, FA_PLANE);\n        ATTR_MAP.put(462, FA_PLAY);\n        ATTR_MAP.put(463, FA_PLAY_CIRCLE);\n        ATTR_MAP.put(464, FA_PLAY_CIRCLE_O);\n        ATTR_MAP.put(465, FA_PLUG);\n        ATTR_MAP.put(466, FA_PLUS);\n        ATTR_MAP.put(467, FA_PLUS_CIRCLE);\n        ATTR_MAP.put(468, FA_PLUS_SQUARE);\n        ATTR_MAP.put(469, FA_PLUS_SQUARE_O);\n        ATTR_MAP.put(470, FA_POWER_OFF);\n        ATTR_MAP.put(471, FA_PRINT);\n        ATTR_MAP.put(472, FA_PRODUCT_HUNT);\n        ATTR_MAP.put(473, FA_PUZZLE_PIECE);\n        ATTR_MAP.put(474, FA_QQ);\n        ATTR_MAP.put(475, FA_QRCODE);\n        ATTR_MAP.put(476, FA_QUESTION);\n        ATTR_MAP.put(477, FA_QUESTION_CIRCLE);\n        ATTR_MAP.put(478, FA_QUOTE_LEFT);\n        ATTR_MAP.put(479, FA_QUOTE_RIGHT);\n        ATTR_MAP.put(480, FA_RA);\n        ATTR_MAP.put(481, FA_RANDOM);\n        ATTR_MAP.put(482, FA_REBEL);\n        ATTR_MAP.put(483, FA_RECYCLE);\n        ATTR_MAP.put(484, FA_REDDIT);\n        ATTR_MAP.put(485, FA_REDDIT_ALIEN);\n        ATTR_MAP.put(486, FA_REDDIT_SQUARE);\n        ATTR_MAP.put(487, FA_REFRESH);\n        ATTR_MAP.put(488, FA_REGISTERED);\n        ATTR_MAP.put(489, FA_REMOVE);\n        ATTR_MAP.put(490, FA_RENREN);\n        ATTR_MAP.put(491, FA_REORDER);\n        ATTR_MAP.put(492, FA_REPEAT);\n        ATTR_MAP.put(493, FA_REPLY);\n        ATTR_MAP.put(494, FA_REPLY_ALL);\n        ATTR_MAP.put(495, FA_RETWEET);\n        ATTR_MAP.put(496, FA_RMB);\n        ATTR_MAP.put(497, FA_ROAD);\n        ATTR_MAP.put(498, FA_ROCKET);\n        ATTR_MAP.put(499, FA_ROTATE_LEFT);\n        ATTR_MAP.put(500, FA_ROTATE_RIGHT);\n        ATTR_MAP.put(501, FA_ROUBLE);\n        ATTR_MAP.put(502, FA_RSS);\n        ATTR_MAP.put(503, FA_RSS_SQUARE);\n        ATTR_MAP.put(504, FA_RUB);\n        ATTR_MAP.put(505, FA_RUBLE);\n        ATTR_MAP.put(506, FA_RUPEE);\n        ATTR_MAP.put(507, FA_SAFARI);\n        ATTR_MAP.put(508, FA_SAVE);\n        ATTR_MAP.put(509, FA_SCISSORS);\n        ATTR_MAP.put(510, FA_SCRIBD);\n        ATTR_MAP.put(511, FA_SEARCH);\n        ATTR_MAP.put(512, FA_SEARCH_MINUS);\n        ATTR_MAP.put(513, FA_SEARCH_PLUS);\n        ATTR_MAP.put(514, FA_SELLSY);\n        ATTR_MAP.put(515, FA_SEND);\n        ATTR_MAP.put(516, FA_SEND_O);\n        ATTR_MAP.put(517, FA_SERVER);\n        ATTR_MAP.put(518, FA_SHARE);\n        ATTR_MAP.put(519, FA_SHARE_ALT);\n        ATTR_MAP.put(520, FA_SHARE_ALT_SQUARE);\n        ATTR_MAP.put(521, FA_SHARE_SQUARE);\n        ATTR_MAP.put(522, FA_SHARE_SQUARE_O);\n        ATTR_MAP.put(523, FA_SHEKEL);\n        ATTR_MAP.put(524, FA_SHEQEL);\n        ATTR_MAP.put(525, FA_SHIELD);\n        ATTR_MAP.put(526, FA_SHIP);\n        ATTR_MAP.put(527, FA_SHIRTSINBULK);\n        ATTR_MAP.put(528, FA_SHOPPING_BAG);\n        ATTR_MAP.put(529, FA_SHOPPING_BASKET);\n        ATTR_MAP.put(530, FA_SHOPPING_CART);\n        ATTR_MAP.put(531, FA_SIGN_IN);\n        ATTR_MAP.put(532, FA_SIGN_OUT);\n        ATTR_MAP.put(533, FA_SIGNAL);\n        ATTR_MAP.put(534, FA_SIMPLYBUILT);\n        ATTR_MAP.put(535, FA_SITEMAP);\n        ATTR_MAP.put(536, FA_SKYATLAS);\n        ATTR_MAP.put(537, FA_SKYPE);\n        ATTR_MAP.put(538, FA_SLACK);\n        ATTR_MAP.put(539, FA_SLIDERS);\n        ATTR_MAP.put(540, FA_SLIDESHARE);\n        ATTR_MAP.put(541, FA_SMILE_O);\n        ATTR_MAP.put(542, FA_SOCCER_BALL_O);\n        ATTR_MAP.put(543, FA_SORT);\n        ATTR_MAP.put(544, FA_SORT_ALPHA_ASC);\n        ATTR_MAP.put(545, FA_SORT_ALPHA_DESC);\n        ATTR_MAP.put(546, FA_SORT_AMOUNT_ASC);\n        ATTR_MAP.put(547, FA_SORT_AMOUNT_DESC);\n        ATTR_MAP.put(548, FA_SORT_ASC);\n        ATTR_MAP.put(549, FA_SORT_DESC);\n        ATTR_MAP.put(550, FA_SORT_DOWN);\n        ATTR_MAP.put(551, FA_SORT_NUMERIC_ASC);\n        ATTR_MAP.put(552, FA_SORT_NUMERIC_DESC);\n        ATTR_MAP.put(553, FA_SORT_UP);\n        ATTR_MAP.put(554, FA_SOUNDCLOUD);\n        ATTR_MAP.put(555, FA_SPACE_SHUTTLE);\n        ATTR_MAP.put(556, FA_SPINNER);\n        ATTR_MAP.put(557, FA_SPOON);\n        ATTR_MAP.put(558, FA_SPOTIFY);\n        ATTR_MAP.put(559, FA_SQUARE);\n        ATTR_MAP.put(560, FA_SQUARE_O);\n        ATTR_MAP.put(561, FA_STACK_EXCHANGE);\n        ATTR_MAP.put(562, FA_STACK_OVERFLOW);\n        ATTR_MAP.put(563, FA_STAR);\n        ATTR_MAP.put(564, FA_STAR_HALF);\n        ATTR_MAP.put(565, FA_STAR_HALF_EMPTY);\n        ATTR_MAP.put(566, FA_STAR_HALF_FULL);\n        ATTR_MAP.put(567, FA_STAR_HALF_O);\n        ATTR_MAP.put(568, FA_STAR_O);\n        ATTR_MAP.put(569, FA_STEAM);\n        ATTR_MAP.put(570, FA_STEAM_SQUARE);\n        ATTR_MAP.put(571, FA_STEP_BACKWARD);\n        ATTR_MAP.put(572, FA_STEP_FORWARD);\n        ATTR_MAP.put(573, FA_STETHOSCOPE);\n        ATTR_MAP.put(574, FA_STICKY_NOTE);\n        ATTR_MAP.put(575, FA_STICKY_NOTE_O);\n        ATTR_MAP.put(576, FA_STOP);\n        ATTR_MAP.put(577, FA_STOP_CIRCLE);\n        ATTR_MAP.put(578, FA_STOP_CIRCLE_O);\n        ATTR_MAP.put(579, FA_STREET_VIEW);\n        ATTR_MAP.put(580, FA_STRIKETHROUGH);\n        ATTR_MAP.put(581, FA_STUMBLEUPON);\n        ATTR_MAP.put(582, FA_STUMBLEUPON_CIRCLE);\n        ATTR_MAP.put(583, FA_SUBSCRIPT);\n        ATTR_MAP.put(584, FA_SUBWAY);\n        ATTR_MAP.put(585, FA_SUITCASE);\n        ATTR_MAP.put(586, FA_SUN_O);\n        ATTR_MAP.put(587, FA_SUPERSCRIPT);\n        ATTR_MAP.put(588, FA_SUPPORT);\n        ATTR_MAP.put(589, FA_TABLE);\n        ATTR_MAP.put(590, FA_TABLET);\n        ATTR_MAP.put(591, FA_TACHOMETER);\n        ATTR_MAP.put(592, FA_TAG);\n        ATTR_MAP.put(593, FA_TAGS);\n        ATTR_MAP.put(594, FA_TASKS);\n        ATTR_MAP.put(595, FA_TAXI);\n        ATTR_MAP.put(596, FA_TELEVISION);\n        ATTR_MAP.put(597, FA_TENCENT_WEIBO);\n        ATTR_MAP.put(598, FA_TERMINAL);\n        ATTR_MAP.put(599, FA_TEXT_HEIGHT);\n        ATTR_MAP.put(600, FA_TEXT_WIDTH);\n        ATTR_MAP.put(601, FA_TH);\n        ATTR_MAP.put(602, FA_TH_LARGE);\n        ATTR_MAP.put(603, FA_TH_LIST);\n        ATTR_MAP.put(604, FA_THUMB_TACK);\n        ATTR_MAP.put(605, FA_THUMBS_DOWN);\n        ATTR_MAP.put(606, FA_THUMBS_O_DOWN);\n        ATTR_MAP.put(607, FA_THUMBS_O_UP);\n        ATTR_MAP.put(608, FA_THUMBS_UP);\n        ATTR_MAP.put(609, FA_TICKET);\n        ATTR_MAP.put(610, FA_TIMES);\n        ATTR_MAP.put(611, FA_TIMES_CIRCLE);\n        ATTR_MAP.put(612, FA_TIMES_CIRCLE_O);\n        ATTR_MAP.put(613, FA_TINT);\n        ATTR_MAP.put(614, FA_TOGGLE_DOWN);\n        ATTR_MAP.put(615, FA_TOGGLE_LEFT);\n        ATTR_MAP.put(616, FA_TOGGLE_OFF);\n        ATTR_MAP.put(617, FA_TOGGLE_ON);\n        ATTR_MAP.put(618, FA_TOGGLE_RIGHT);\n        ATTR_MAP.put(619, FA_TOGGLE_UP);\n        ATTR_MAP.put(620, FA_TRADEMARK);\n        ATTR_MAP.put(621, FA_TRAIN);\n        ATTR_MAP.put(622, FA_TRANSGENDER);\n        ATTR_MAP.put(623, FA_TRANSGENDER_ALT);\n        ATTR_MAP.put(624, FA_TRASH);\n        ATTR_MAP.put(625, FA_TRASH_O);\n        ATTR_MAP.put(626, FA_TREE);\n        ATTR_MAP.put(627, FA_TRELLO);\n        ATTR_MAP.put(628, FA_TRIPADVISOR);\n        ATTR_MAP.put(629, FA_TROPHY);\n        ATTR_MAP.put(630, FA_TRUCK);\n        ATTR_MAP.put(631, FA_TRY);\n        ATTR_MAP.put(632, FA_TTY);\n        ATTR_MAP.put(633, FA_TUMBLR);\n        ATTR_MAP.put(634, FA_TUMBLR_SQUARE);\n        ATTR_MAP.put(635, FA_TURKISH_LIRA);\n        ATTR_MAP.put(636, FA_TV);\n        ATTR_MAP.put(637, FA_TWITCH);\n        ATTR_MAP.put(638, FA_TWITTER);\n        ATTR_MAP.put(639, FA_TWITTER_SQUARE);\n        ATTR_MAP.put(640, FA_UMBRELLA);\n        ATTR_MAP.put(641, FA_UNDERLINE);\n        ATTR_MAP.put(642, FA_UNDO);\n        ATTR_MAP.put(643, FA_UNIVERSITY);\n        ATTR_MAP.put(644, FA_UNLINK);\n        ATTR_MAP.put(645, FA_UNLOCK);\n        ATTR_MAP.put(646, FA_UNLOCK_ALT);\n        ATTR_MAP.put(647, FA_UNSORTED);\n        ATTR_MAP.put(648, FA_UPLOAD);\n        ATTR_MAP.put(649, FA_USB);\n        ATTR_MAP.put(650, FA_USD);\n        ATTR_MAP.put(651, FA_USER);\n        ATTR_MAP.put(652, FA_USER_MD);\n        ATTR_MAP.put(653, FA_USER_PLUS);\n        ATTR_MAP.put(654, FA_USER_SECRET);\n        ATTR_MAP.put(655, FA_USER_TIMES);\n        ATTR_MAP.put(656, FA_USERS);\n        ATTR_MAP.put(657, FA_VENUS);\n        ATTR_MAP.put(658, FA_VENUS_DOUBLE);\n        ATTR_MAP.put(659, FA_VENUS_MARS);\n        ATTR_MAP.put(660, FA_VIACOIN);\n        ATTR_MAP.put(661, FA_VIDEO_CAMERA);\n        ATTR_MAP.put(662, FA_VIMEO);\n        ATTR_MAP.put(663, FA_VIMEO_SQUARE);\n        ATTR_MAP.put(664, FA_VINE);\n        ATTR_MAP.put(665, FA_VK);\n        ATTR_MAP.put(666, FA_VOLUME_DOWN);\n        ATTR_MAP.put(667, FA_VOLUME_OFF);\n        ATTR_MAP.put(668, FA_VOLUME_UP);\n        ATTR_MAP.put(669, FA_WARNING);\n        ATTR_MAP.put(670, FA_WECHAT);\n        ATTR_MAP.put(671, FA_WEIBO);\n        ATTR_MAP.put(672, FA_WEIXIN);\n        ATTR_MAP.put(673, FA_WHATSAPP);\n        ATTR_MAP.put(674, FA_WHEELCHAIR);\n        ATTR_MAP.put(675, FA_WIFI);\n        ATTR_MAP.put(676, FA_WIKIPEDIA_W);\n        ATTR_MAP.put(677, FA_WINDOWS);\n        ATTR_MAP.put(678, FA_WON);\n        ATTR_MAP.put(679, FA_WORDPRESS);\n        ATTR_MAP.put(680, FA_WRENCH);\n        ATTR_MAP.put(681, FA_XING);\n        ATTR_MAP.put(682, FA_XING_SQUARE);\n        ATTR_MAP.put(683, FA_Y_COMBINATOR);\n        ATTR_MAP.put(684, FA_Y_COMBINATOR_SQUARE);\n        ATTR_MAP.put(685, FA_YAHOO);\n        ATTR_MAP.put(686, FA_YC);\n        ATTR_MAP.put(687, FA_YC_SQUARE);\n        ATTR_MAP.put(688, FA_YELP);\n        ATTR_MAP.put(689, FA_YEN);\n        ATTR_MAP.put(690, FA_YOUTUBE);\n        ATTR_MAP.put(691, FA_YOUTUBE_PLAY);\n        ATTR_MAP.put(692, FA_YOUTUBE_SQUARE);\n        //4.6\n        ATTR_MAP.put(693, FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING);\n        ATTR_MAP.put(694, FA_ASL_INTERPRETING);\n        ATTR_MAP.put(695, FA_ASSISTIVE_LISTENING_SYSTEMS);\n        ATTR_MAP.put(696, FA_AUDIO_DESCRIPTION);\n        ATTR_MAP.put(697, FA_BLIND);\n        ATTR_MAP.put(698, FA_BRAILLE);\n        ATTR_MAP.put(699, FA_DEAF);\n        ATTR_MAP.put(700, FA_DEAFNESS);\n        ATTR_MAP.put(701, FA_ENVIRA);\n        ATTR_MAP.put(702, FA_FA);\n        ATTR_MAP.put(703, FA_FIRST_ORDER);\n        ATTR_MAP.put(704, FA_FONT_AWESOME);\n        ATTR_MAP.put(705, FA_GITLAB);\n        ATTR_MAP.put(706, FA_GLIDE);\n        ATTR_MAP.put(707, FA_GLIDE_G);\n        ATTR_MAP.put(708, FA_GOOGLE_PLUS_CIRCLE);\n        ATTR_MAP.put(709, FA_GOOGLE_PLUS_OFFICIAL);\n        ATTR_MAP.put(710, FA_HARD_OF_HEARING);\n        ATTR_MAP.put(711, FA_LOW_VISION);\n        ATTR_MAP.put(712, FA_QUESTION_CIRCLE_O);\n        ATTR_MAP.put(713, FA_SIGN_LANGUAGE);\n        ATTR_MAP.put(714, FA_SIGNING);\n        ATTR_MAP.put(715, FA_SNAPCHAT);\n        ATTR_MAP.put(716, FA_SNAPCHAT_GHOST);\n        ATTR_MAP.put(717, FA_SNAPCHAT_SQUARE);\n        ATTR_MAP.put(718, FA_THEMEISLE);\n        ATTR_MAP.put(719, FA_UNIVERSAL_ACCESS);\n        ATTR_MAP.put(720, FA_VIADEO);\n        ATTR_MAP.put(721, FA_VIADEO_SQUARE);\n        ATTR_MAP.put(722, FA_VOLUME_CONTROL_PHONE);\n        ATTR_MAP.put(723, FA_WHEELCHAIR_ALT);\n        ATTR_MAP.put(724, FA_WPBEGINNER);\n        ATTR_MAP.put(725, FA_WPFORMS);\n        ATTR_MAP.put(726, FA_YOAST);\n        //4.7\n        ATTR_MAP.put(727, FA_ADDRESS_BOOK);\n        ATTR_MAP.put(728, FA_ADDRESS_BOOK_O);\n        ATTR_MAP.put(729, FA_ADDRESS_CARD);\n        ATTR_MAP.put(730, FA_ADDRESS_CARD_O);\n        ATTR_MAP.put(731, FA_BANDCAMP);\n        ATTR_MAP.put(732, FA_BATH);\n        ATTR_MAP.put(733, FA_BATHTUB);\n        ATTR_MAP.put(734, FA_DRIVERS_LICENSE);\n        ATTR_MAP.put(735, FA_DRIVERS_LICENSE_O);\n        ATTR_MAP.put(736, FA_EERCAST);\n        ATTR_MAP.put(737, FA_ENVELOPE_OPEN);\n        ATTR_MAP.put(738, FA_ENVELOPE_OPEN_O);\n        ATTR_MAP.put(739, FA_ETSY);\n        ATTR_MAP.put(740, FA_FREE_CODE_CAMP);\n        ATTR_MAP.put(741, FA_GRAV);\n        ATTR_MAP.put(742, FA_HANDSHAKE_O);\n        ATTR_MAP.put(743, FA_ID_BADGE);\n        ATTR_MAP.put(744, FA_ID_CARD);\n        ATTR_MAP.put(745, FA_ID_CARD_O);\n        ATTR_MAP.put(746, FA_IMDB);\n        ATTR_MAP.put(747, FA_LINODE);\n        ATTR_MAP.put(748, FA_MEETUP);\n        ATTR_MAP.put(749, FA_MICROCHIP);\n        ATTR_MAP.put(750, FA_PODCAST);\n        ATTR_MAP.put(751, FA_QUORA);\n        ATTR_MAP.put(752, FA_RAVELRY);\n        ATTR_MAP.put(753, FA_S15);\n        ATTR_MAP.put(754, FA_SHOWER);\n        ATTR_MAP.put(755, FA_SNOWFLAKE_O);\n        ATTR_MAP.put(756, FA_SUPERPOWERS);\n        ATTR_MAP.put(757, FA_TELEGRAM);\n        ATTR_MAP.put(758, FA_THERMOMETER);\n        ATTR_MAP.put(759, FA_THERMOMETER_0);\n        ATTR_MAP.put(760, FA_THERMOMETER_1);\n        ATTR_MAP.put(761, FA_THERMOMETER_2);\n        ATTR_MAP.put(762, FA_THERMOMETER_3);\n        ATTR_MAP.put(763, FA_THERMOMETER_4);\n        ATTR_MAP.put(764, FA_THERMOMETER_EMPTY);\n        ATTR_MAP.put(765, FA_THERMOMETER_FULL);\n        ATTR_MAP.put(766, FA_THERMOMETER_HALF);\n        ATTR_MAP.put(767, FA_THERMOMETER_QUARTER);\n        ATTR_MAP.put(768, FA_THERMOMETER_THREE_QUARTERS);\n        ATTR_MAP.put(769, FA_TIMES_RECTANGLE);\n        ATTR_MAP.put(770, FA_TIMES_RECTANGLE_O);\n        ATTR_MAP.put(771, FA_USER_CIRCLE);\n        ATTR_MAP.put(772, FA_USER_CIRCLE_O);\n        ATTR_MAP.put(773, FA_USER_O);\n        ATTR_MAP.put(774, FA_VCARD);\n        ATTR_MAP.put(775, FA_VCARD_O);\n        ATTR_MAP.put(776, FA_WINDOW_CLOSE);\n        ATTR_MAP.put(777, FA_WINDOW_CLOSE_O);\n        ATTR_MAP.put(778, FA_WINDOW_MAXIMIZE);\n        ATTR_MAP.put(779, FA_WINDOW_MINIMIZE);\n        ATTR_MAP.put(780, FA_WINDOW_RESTORE);\n        ATTR_MAP.put(781, FA_WPEXPLORER);\n\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/IconSet.java",
    "content": "package com.beardedhen.androidbootstrap.font;\n\n/**\n * Specifies the icon codes for a Typeface, and provides the filename of the font so that it can be\n * initialised\n */\npublic interface IconSet {\n\n    /**\n     * Returns the unicode character for the current Font Icon.\n     *\n     * @return the unicode character\n     */\n    CharSequence unicodeForKey(CharSequence key);\n\n\n    /**\n     * Returns the icon code for the current Font Icon.\n     *\n     * @return the icon code\n     */\n    CharSequence iconCodeForAttrIndex(int index);\n\n    /**\n     * Specifies the location that the font file resides in, starting from the assets directory\n     * e.g.\"fontawesome-webfont.ttf\"\n     *\n     * @return the font path\n     */\n    CharSequence fontPath();\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/MaterialIcons.java",
    "content": "package com.beardedhen.androidbootstrap.font;\n\nimport com.beardedhen.androidbootstrap.font.IconSet;\n\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Maps Googles Meterial Design Icon Codes to unicode characters, allowing its use in AwesomeTextView.\n * See the <a href=\"https://design.google.com/icons//\">link</a> for icons\n * . <b>Please note that icon codes use underscores rather than hyphens in this\n * library.</b> All icons are prefixed with md_ EG: md_build.\n */\npublic class MaterialIcons implements IconSet {\n\n\n    public static final String FONT_PATH = \"MaterialIcons-Regular.ttf\";\n\n    private static final Map<String, String> ICON_MAP = new HashMap<>();\n    private static final Map<Integer, String> ATTR_MAP = new HashMap<>();\n\n\n    @Override\n    public CharSequence unicodeForKey(CharSequence key) {\n        return ICON_MAP.get(key);\n    }\n\n    @Override\n    public CharSequence iconCodeForAttrIndex(int index) {\n        return ATTR_MAP.get(index);\n    }\n\n    @Override\n    public CharSequence fontPath() {\n        return FONT_PATH;\n    }\n\n    //The following class is auto generated by the tool available <HERE> TODO: add link\n    // Auto-generated Map from 2016-05-25\n\n\n    public static final String MD_3D_ROTATION = \"md_3d_rotation\";\n    public static final String MD_AC_UNIT = \"md_ac_unit\";\n    public static final String MD_ACCESS_ALARM = \"md_access_alarm\";\n    public static final String MD_ACCESS_ALARMS = \"md_access_alarms\";\n    public static final String MD_ACCESS_TIME = \"md_access_time\";\n    public static final String MD_ACCESSIBILITY = \"md_accessibility\";\n    public static final String MD_ACCESSIBLE = \"md_accessible\";\n    public static final String MD_ACCOUNT_BALANCE = \"md_account_balance\";\n    public static final String MD_ACCOUNT_BALANCE_WALLET = \"md_account_balance_wallet\";\n    public static final String MD_ACCOUNT_BOX = \"md_account_box\";\n    public static final String MD_ACCOUNT_CIRCLE = \"md_account_circle\";\n    public static final String MD_ADB = \"md_adb\";\n    public static final String MD_ADD = \"md_add\";\n    public static final String MD_ADD_A_PHOTO = \"md_add_a_photo\";\n    public static final String MD_ADD_ALARM = \"md_add_alarm\";\n    public static final String MD_ADD_ALERT = \"md_add_alert\";\n    public static final String MD_ADD_BOX = \"md_add_box\";\n    public static final String MD_ADD_CIRCLE = \"md_add_circle\";\n    public static final String MD_ADD_CIRCLE_OUTLINE = \"md_add_circle_outline\";\n    public static final String MD_ADD_LOCATION = \"md_add_location\";\n    public static final String MD_ADD_SHOPPING_CART = \"md_add_shopping_cart\";\n    public static final String MD_ADD_TO_PHOTOS = \"md_add_to_photos\";\n    public static final String MD_ADD_TO_QUEUE = \"md_add_to_queue\";\n    public static final String MD_ADJUST = \"md_adjust\";\n    public static final String MD_AIRLINE_SEAT_FLAT = \"md_airline_seat_flat\";\n    public static final String MD_AIRLINE_SEAT_FLAT_ANGLED = \"md_airline_seat_flat_angled\";\n    public static final String MD_AIRLINE_SEAT_INDIVIDUAL_SUITE = \"md_airline_seat_individual_suite\";\n    public static final String MD_AIRLINE_SEAT_LEGROOM_EXTRA = \"md_airline_seat_legroom_extra\";\n    public static final String MD_AIRLINE_SEAT_LEGROOM_NORMAL = \"md_airline_seat_legroom_normal\";\n    public static final String MD_AIRLINE_SEAT_LEGROOM_REDUCED = \"md_airline_seat_legroom_reduced\";\n    public static final String MD_AIRLINE_SEAT_RECLINE_EXTRA = \"md_airline_seat_recline_extra\";\n    public static final String MD_AIRLINE_SEAT_RECLINE_NORMAL = \"md_airline_seat_recline_normal\";\n    public static final String MD_AIRPLANEMODE_ACTIVE = \"md_airplanemode_active\";\n    public static final String MD_AIRPLANEMODE_INACTIVE = \"md_airplanemode_inactive\";\n    public static final String MD_AIRPLAY = \"md_airplay\";\n    public static final String MD_AIRPORT_SHUTTLE = \"md_airport_shuttle\";\n    public static final String MD_ALARM = \"md_alarm\";\n    public static final String MD_ALARM_ADD = \"md_alarm_add\";\n    public static final String MD_ALARM_OFF = \"md_alarm_off\";\n    public static final String MD_ALARM_ON = \"md_alarm_on\";\n    public static final String MD_ALBUM = \"md_album\";\n    public static final String MD_ALL_INCLUSIVE = \"md_all_inclusive\";\n    public static final String MD_ALL_OUT = \"md_all_out\";\n    public static final String MD_ANDROID = \"md_android\";\n    public static final String MD_ANNOUNCEMENT = \"md_announcement\";\n    public static final String MD_APPS = \"md_apps\";\n    public static final String MD_ARCHIVE = \"md_archive\";\n    public static final String MD_ARROW_BACK = \"md_arrow_back\";\n    public static final String MD_ARROW_DOWNWARD = \"md_arrow_downward\";\n    public static final String MD_ARROW_DROP_DOWN = \"md_arrow_drop_down\";\n    public static final String MD_ARROW_DROP_DOWN_CIRCLE = \"md_arrow_drop_down_circle\";\n    public static final String MD_ARROW_DROP_UP = \"md_arrow_drop_up\";\n    public static final String MD_ARROW_FORWARD = \"md_arrow_forward\";\n    public static final String MD_ARROW_UPWARD = \"md_arrow_upward\";\n    public static final String MD_ART_TRACK = \"md_art_track\";\n    public static final String MD_ASPECT_RATIO = \"md_aspect_ratio\";\n    public static final String MD_ASSESSMENT = \"md_assessment\";\n    public static final String MD_ASSIGNMENT = \"md_assignment\";\n    public static final String MD_ASSIGNMENT_IND = \"md_assignment_ind\";\n    public static final String MD_ASSIGNMENT_LATE = \"md_assignment_late\";\n    public static final String MD_ASSIGNMENT_RETURN = \"md_assignment_return\";\n    public static final String MD_ASSIGNMENT_RETURNED = \"md_assignment_returned\";\n    public static final String MD_ASSIGNMENT_TURNED_IN = \"md_assignment_turned_in\";\n    public static final String MD_ASSISTANT = \"md_assistant\";\n    public static final String MD_ASSISTANT_PHOTO = \"md_assistant_photo\";\n    public static final String MD_ATTACH_FILE = \"md_attach_file\";\n    public static final String MD_ATTACH_MONEY = \"md_attach_money\";\n    public static final String MD_ATTACHMENT = \"md_attachment\";\n    public static final String MD_AUDIOTRACK = \"md_audiotrack\";\n    public static final String MD_AUTORENEW = \"md_autorenew\";\n    public static final String MD_AV_TIMER = \"md_av_timer\";\n    public static final String MD_BACKSPACE = \"md_backspace\";\n    public static final String MD_BACKUP = \"md_backup\";\n    public static final String MD_BATTERY_ALERT = \"md_battery_alert\";\n    public static final String MD_BATTERY_CHARGING_FULL = \"md_battery_charging_full\";\n    public static final String MD_BATTERY_FULL = \"md_battery_full\";\n    public static final String MD_BATTERY_STD = \"md_battery_std\";\n    public static final String MD_BATTERY_UNKNOWN = \"md_battery_unknown\";\n    public static final String MD_BEACH_ACCESS = \"md_beach_access\";\n    public static final String MD_BEENHERE = \"md_beenhere\";\n    public static final String MD_BLOCK = \"md_block\";\n    public static final String MD_BLUETOOTH = \"md_bluetooth\";\n    public static final String MD_BLUETOOTH_AUDIO = \"md_bluetooth_audio\";\n    public static final String MD_BLUETOOTH_CONNECTED = \"md_bluetooth_connected\";\n    public static final String MD_BLUETOOTH_DISABLED = \"md_bluetooth_disabled\";\n    public static final String MD_BLUETOOTH_SEARCHING = \"md_bluetooth_searching\";\n    public static final String MD_BLUR_CIRCULAR = \"md_blur_circular\";\n    public static final String MD_BLUR_LINEAR = \"md_blur_linear\";\n    public static final String MD_BLUR_OFF = \"md_blur_off\";\n    public static final String MD_BLUR_ON = \"md_blur_on\";\n    public static final String MD_BOOK = \"md_book\";\n    public static final String MD_BOOKMARK = \"md_bookmark\";\n    public static final String MD_BOOKMARK_BORDER = \"md_bookmark_border\";\n    public static final String MD_BORDER_ALL = \"md_border_all\";\n    public static final String MD_BORDER_BOTTOM = \"md_border_bottom\";\n    public static final String MD_BORDER_CLEAR = \"md_border_clear\";\n    public static final String MD_BORDER_COLOR = \"md_border_color\";\n    public static final String MD_BORDER_HORIZONTAL = \"md_border_horizontal\";\n    public static final String MD_BORDER_INNER = \"md_border_inner\";\n    public static final String MD_BORDER_LEFT = \"md_border_left\";\n    public static final String MD_BORDER_OUTER = \"md_border_outer\";\n    public static final String MD_BORDER_RIGHT = \"md_border_right\";\n    public static final String MD_BORDER_STYLE = \"md_border_style\";\n    public static final String MD_BORDER_TOP = \"md_border_top\";\n    public static final String MD_BORDER_VERTICAL = \"md_border_vertical\";\n    public static final String MD_BRANDING_WATERMARK = \"md_branding_watermark\";\n    public static final String MD_BRIGHTNESS_1 = \"md_brightness_1\";\n    public static final String MD_BRIGHTNESS_2 = \"md_brightness_2\";\n    public static final String MD_BRIGHTNESS_3 = \"md_brightness_3\";\n    public static final String MD_BRIGHTNESS_4 = \"md_brightness_4\";\n    public static final String MD_BRIGHTNESS_5 = \"md_brightness_5\";\n    public static final String MD_BRIGHTNESS_6 = \"md_brightness_6\";\n    public static final String MD_BRIGHTNESS_7 = \"md_brightness_7\";\n    public static final String MD_BRIGHTNESS_AUTO = \"md_brightness_auto\";\n    public static final String MD_BRIGHTNESS_HIGH = \"md_brightness_high\";\n    public static final String MD_BRIGHTNESS_LOW = \"md_brightness_low\";\n    public static final String MD_BRIGHTNESS_MEDIUM = \"md_brightness_medium\";\n    public static final String MD_BROKEN_IMAGE = \"md_broken_image\";\n    public static final String MD_BRUSH = \"md_brush\";\n    public static final String MD_BUBBLE_CHART = \"md_bubble_chart\";\n    public static final String MD_BUG_REPORT = \"md_bug_report\";\n    public static final String MD_BUILD = \"md_build\";\n    public static final String MD_BURST_MODE = \"md_burst_mode\";\n    public static final String MD_BUSINESS = \"md_business\";\n    public static final String MD_BUSINESS_CENTER = \"md_business_center\";\n    public static final String MD_CACHED = \"md_cached\";\n    public static final String MD_CAKE = \"md_cake\";\n    public static final String MD_CALL = \"md_call\";\n    public static final String MD_CALL_END = \"md_call_end\";\n    public static final String MD_CALL_MADE = \"md_call_made\";\n    public static final String MD_CALL_MERGE = \"md_call_merge\";\n    public static final String MD_CALL_MISSED = \"md_call_missed\";\n    public static final String MD_CALL_MISSED_OUTGOING = \"md_call_missed_outgoing\";\n    public static final String MD_CALL_RECEIVED = \"md_call_received\";\n    public static final String MD_CALL_SPLIT = \"md_call_split\";\n    public static final String MD_CALL_TO_ACTION = \"md_call_to_action\";\n    public static final String MD_CAMERA = \"md_camera\";\n    public static final String MD_CAMERA_ALT = \"md_camera_alt\";\n    public static final String MD_CAMERA_ENHANCE = \"md_camera_enhance\";\n    public static final String MD_CAMERA_FRONT = \"md_camera_front\";\n    public static final String MD_CAMERA_REAR = \"md_camera_rear\";\n    public static final String MD_CAMERA_ROLL = \"md_camera_roll\";\n    public static final String MD_CANCEL = \"md_cancel\";\n    public static final String MD_CARD_GIFTCARD = \"md_card_giftcard\";\n    public static final String MD_CARD_MEMBERSHIP = \"md_card_membership\";\n    public static final String MD_CARD_TRAVEL = \"md_card_travel\";\n    public static final String MD_CASINO = \"md_casino\";\n    public static final String MD_CAST = \"md_cast\";\n    public static final String MD_CAST_CONNECTED = \"md_cast_connected\";\n    public static final String MD_CENTER_FOCUS_STRONG = \"md_center_focus_strong\";\n    public static final String MD_CENTER_FOCUS_WEAK = \"md_center_focus_weak\";\n    public static final String MD_CHANGE_HISTORY = \"md_change_history\";\n    public static final String MD_CHAT = \"md_chat\";\n    public static final String MD_CHAT_BUBBLE = \"md_chat_bubble\";\n    public static final String MD_CHAT_BUBBLE_OUTLINE = \"md_chat_bubble_outline\";\n    public static final String MD_CHECK = \"md_check\";\n    public static final String MD_CHECK_BOX = \"md_check_box\";\n    public static final String MD_CHECK_BOX_OUTLINE_BLANK = \"md_check_box_outline_blank\";\n    public static final String MD_CHECK_CIRCLE = \"md_check_circle\";\n    public static final String MD_CHEVRON_LEFT = \"md_chevron_left\";\n    public static final String MD_CHEVRON_RIGHT = \"md_chevron_right\";\n    public static final String MD_CHILD_CARE = \"md_child_care\";\n    public static final String MD_CHILD_FRIENDLY = \"md_child_friendly\";\n    public static final String MD_CHROME_READER_MODE = \"md_chrome_reader_mode\";\n    public static final String MD_CLASS = \"md_class\";\n    public static final String MD_CLEAR = \"md_clear\";\n    public static final String MD_CLEAR_ALL = \"md_clear_all\";\n    public static final String MD_CLOSE = \"md_close\";\n    public static final String MD_CLOSED_CAPTION = \"md_closed_caption\";\n    public static final String MD_CLOUD = \"md_cloud\";\n    public static final String MD_CLOUD_CIRCLE = \"md_cloud_circle\";\n    public static final String MD_CLOUD_DONE = \"md_cloud_done\";\n    public static final String MD_CLOUD_DOWNLOAD = \"md_cloud_download\";\n    public static final String MD_CLOUD_OFF = \"md_cloud_off\";\n    public static final String MD_CLOUD_QUEUE = \"md_cloud_queue\";\n    public static final String MD_CLOUD_UPLOAD = \"md_cloud_upload\";\n    public static final String MD_CODE = \"md_code\";\n    public static final String MD_COLLECTIONS = \"md_collections\";\n    public static final String MD_COLLECTIONS_BOOKMARK = \"md_collections_bookmark\";\n    public static final String MD_COLOR_LENS = \"md_color_lens\";\n    public static final String MD_COLORIZE = \"md_colorize\";\n    public static final String MD_COMMENT = \"md_comment\";\n    public static final String MD_COMPARE = \"md_compare\";\n    public static final String MD_COMPARE_ARROWS = \"md_compare_arrows\";\n    public static final String MD_COMPUTER = \"md_computer\";\n    public static final String MD_CONFIRMATION_NUMBER = \"md_confirmation_number\";\n    public static final String MD_CONTACT_MAIL = \"md_contact_mail\";\n    public static final String MD_CONTACT_PHONE = \"md_contact_phone\";\n    public static final String MD_CONTACTS = \"md_contacts\";\n    public static final String MD_CONTENT_COPY = \"md_content_copy\";\n    public static final String MD_CONTENT_CUT = \"md_content_cut\";\n    public static final String MD_CONTENT_PASTE = \"md_content_paste\";\n    public static final String MD_CONTROL_POINT = \"md_control_point\";\n    public static final String MD_CONTROL_POINT_DUPLICATE = \"md_control_point_duplicate\";\n    public static final String MD_COPYRIGHT = \"md_copyright\";\n    public static final String MD_CREATE = \"md_create\";\n    public static final String MD_CREATE_NEW_FOLDER = \"md_create_new_folder\";\n    public static final String MD_CREDIT_CARD = \"md_credit_card\";\n    public static final String MD_CROP = \"md_crop\";\n    public static final String MD_CROP_16_9 = \"md_crop_16_9\";\n    public static final String MD_CROP_3_2 = \"md_crop_3_2\";\n    public static final String MD_CROP_5_4 = \"md_crop_5_4\";\n    public static final String MD_CROP_7_5 = \"md_crop_7_5\";\n    public static final String MD_CROP_DIN = \"md_crop_din\";\n    public static final String MD_CROP_FREE = \"md_crop_free\";\n    public static final String MD_CROP_LANDSCAPE = \"md_crop_landscape\";\n    public static final String MD_CROP_ORIGINAL = \"md_crop_original\";\n    public static final String MD_CROP_PORTRAIT = \"md_crop_portrait\";\n    public static final String MD_CROP_ROTATE = \"md_crop_rotate\";\n    public static final String MD_CROP_SQUARE = \"md_crop_square\";\n    public static final String MD_DASHBOARD = \"md_dashboard\";\n    public static final String MD_DATA_USAGE = \"md_data_usage\";\n    public static final String MD_DATE_RANGE = \"md_date_range\";\n    public static final String MD_DEHAZE = \"md_dehaze\";\n    public static final String MD_DELETE = \"md_delete\";\n    public static final String MD_DELETE_FOREVER = \"md_delete_forever\";\n    public static final String MD_DELETE_SWEEP = \"md_delete_sweep\";\n    public static final String MD_DESCRIPTION = \"md_description\";\n    public static final String MD_DESKTOP_MAC = \"md_desktop_mac\";\n    public static final String MD_DESKTOP_WINDOWS = \"md_desktop_windows\";\n    public static final String MD_DETAILS = \"md_details\";\n    public static final String MD_DEVELOPER_BOARD = \"md_developer_board\";\n    public static final String MD_DEVELOPER_MODE = \"md_developer_mode\";\n    public static final String MD_DEVICE_HUB = \"md_device_hub\";\n    public static final String MD_DEVICES = \"md_devices\";\n    public static final String MD_DEVICES_OTHER = \"md_devices_other\";\n    public static final String MD_DIALER_SIP = \"md_dialer_sip\";\n    public static final String MD_DIALPAD = \"md_dialpad\";\n    public static final String MD_DIRECTIONS = \"md_directions\";\n    public static final String MD_DIRECTIONS_BIKE = \"md_directions_bike\";\n    public static final String MD_DIRECTIONS_BOAT = \"md_directions_boat\";\n    public static final String MD_DIRECTIONS_BUS = \"md_directions_bus\";\n    public static final String MD_DIRECTIONS_CAR = \"md_directions_car\";\n    public static final String MD_DIRECTIONS_RAILWAY = \"md_directions_railway\";\n    public static final String MD_DIRECTIONS_RUN = \"md_directions_run\";\n    public static final String MD_DIRECTIONS_SUBWAY = \"md_directions_subway\";\n    public static final String MD_DIRECTIONS_TRANSIT = \"md_directions_transit\";\n    public static final String MD_DIRECTIONS_WALK = \"md_directions_walk\";\n    public static final String MD_DISC_FULL = \"md_disc_full\";\n    public static final String MD_DNS = \"md_dns\";\n    public static final String MD_DO_NOT_DISTURB = \"md_do_not_disturb\";\n    public static final String MD_DO_NOT_DISTURB_ALT = \"md_do_not_disturb_alt\";\n    public static final String MD_DO_NOT_DISTURB_OFF = \"md_do_not_disturb_off\";\n    public static final String MD_DO_NOT_DISTURB_ON = \"md_do_not_disturb_on\";\n    public static final String MD_DOCK = \"md_dock\";\n    public static final String MD_DOMAIN = \"md_domain\";\n    public static final String MD_DONE = \"md_done\";\n    public static final String MD_DONE_ALL = \"md_done_all\";\n    public static final String MD_DONUT_LARGE = \"md_donut_large\";\n    public static final String MD_DONUT_SMALL = \"md_donut_small\";\n    public static final String MD_DRAFTS = \"md_drafts\";\n    public static final String MD_DRAG_HANDLE = \"md_drag_handle\";\n    public static final String MD_DRIVE_ETA = \"md_drive_eta\";\n    public static final String MD_DVR = \"md_dvr\";\n    public static final String MD_EDIT = \"md_edit\";\n    public static final String MD_EDIT_LOCATION = \"md_edit_location\";\n    public static final String MD_EJECT = \"md_eject\";\n    public static final String MD_EMAIL = \"md_email\";\n    public static final String MD_ENHANCED_ENCRYPTION = \"md_enhanced_encryption\";\n    public static final String MD_EQUALIZER = \"md_equalizer\";\n    public static final String MD_ERROR = \"md_error\";\n    public static final String MD_ERROR_OUTLINE = \"md_error_outline\";\n    public static final String MD_EURO_SYMBOL = \"md_euro_symbol\";\n    public static final String MD_EV_STATION = \"md_ev_station\";\n    public static final String MD_EVENT = \"md_event\";\n    public static final String MD_EVENT_AVAILABLE = \"md_event_available\";\n    public static final String MD_EVENT_BUSY = \"md_event_busy\";\n    public static final String MD_EVENT_NOTE = \"md_event_note\";\n    public static final String MD_EVENT_SEAT = \"md_event_seat\";\n    public static final String MD_EXIT_TO_APP = \"md_exit_to_app\";\n    public static final String MD_EXPAND_LESS = \"md_expand_less\";\n    public static final String MD_EXPAND_MORE = \"md_expand_more\";\n    public static final String MD_EXPLICIT = \"md_explicit\";\n    public static final String MD_EXPLORE = \"md_explore\";\n    public static final String MD_EXPOSURE = \"md_exposure\";\n    public static final String MD_EXPOSURE_NEG_1 = \"md_exposure_neg_1\";\n    public static final String MD_EXPOSURE_NEG_2 = \"md_exposure_neg_2\";\n    public static final String MD_EXPOSURE_PLUS_1 = \"md_exposure_plus_1\";\n    public static final String MD_EXPOSURE_PLUS_2 = \"md_exposure_plus_2\";\n    public static final String MD_EXPOSURE_ZERO = \"md_exposure_zero\";\n    public static final String MD_EXTENSION = \"md_extension\";\n    public static final String MD_FACE = \"md_face\";\n    public static final String MD_FAST_FORWARD = \"md_fast_forward\";\n    public static final String MD_FAST_REWIND = \"md_fast_rewind\";\n    public static final String MD_FAVORITE = \"md_favorite\";\n    public static final String MD_FAVORITE_BORDER = \"md_favorite_border\";\n    public static final String MD_FEATURED_PLAY_LIST = \"md_featured_play_list\";\n    public static final String MD_FEATURED_VIDEO = \"md_featured_video\";\n    public static final String MD_FEEDBACK = \"md_feedback\";\n    public static final String MD_FIBER_DVR = \"md_fiber_dvr\";\n    public static final String MD_FIBER_MANUAL_RECORD = \"md_fiber_manual_record\";\n    public static final String MD_FIBER_NEW = \"md_fiber_new\";\n    public static final String MD_FIBER_PIN = \"md_fiber_pin\";\n    public static final String MD_FIBER_SMART_RECORD = \"md_fiber_smart_record\";\n    public static final String MD_FILE_DOWNLOAD = \"md_file_download\";\n    public static final String MD_FILE_UPLOAD = \"md_file_upload\";\n    public static final String MD_FILTER = \"md_filter\";\n    public static final String MD_FILTER_1 = \"md_filter_1\";\n    public static final String MD_FILTER_2 = \"md_filter_2\";\n    public static final String MD_FILTER_3 = \"md_filter_3\";\n    public static final String MD_FILTER_4 = \"md_filter_4\";\n    public static final String MD_FILTER_5 = \"md_filter_5\";\n    public static final String MD_FILTER_6 = \"md_filter_6\";\n    public static final String MD_FILTER_7 = \"md_filter_7\";\n    public static final String MD_FILTER_8 = \"md_filter_8\";\n    public static final String MD_FILTER_9 = \"md_filter_9\";\n    public static final String MD_FILTER_9_PLUS = \"md_filter_9_plus\";\n    public static final String MD_FILTER_B_AND_W = \"md_filter_b_and_w\";\n    public static final String MD_FILTER_CENTER_FOCUS = \"md_filter_center_focus\";\n    public static final String MD_FILTER_DRAMA = \"md_filter_drama\";\n    public static final String MD_FILTER_FRAMES = \"md_filter_frames\";\n    public static final String MD_FILTER_HDR = \"md_filter_hdr\";\n    public static final String MD_FILTER_LIST = \"md_filter_list\";\n    public static final String MD_FILTER_NONE = \"md_filter_none\";\n    public static final String MD_FILTER_TILT_SHIFT = \"md_filter_tilt_shift\";\n    public static final String MD_FILTER_VINTAGE = \"md_filter_vintage\";\n    public static final String MD_FIND_IN_PAGE = \"md_find_in_page\";\n    public static final String MD_FIND_REPLACE = \"md_find_replace\";\n    public static final String MD_FINGERPRINT = \"md_fingerprint\";\n    public static final String MD_FIRST_PAGE = \"md_first_page\";\n    public static final String MD_FITNESS_CENTER = \"md_fitness_center\";\n    public static final String MD_FLAG = \"md_flag\";\n    public static final String MD_FLARE = \"md_flare\";\n    public static final String MD_FLASH_AUTO = \"md_flash_auto\";\n    public static final String MD_FLASH_OFF = \"md_flash_off\";\n    public static final String MD_FLASH_ON = \"md_flash_on\";\n    public static final String MD_FLIGHT = \"md_flight\";\n    public static final String MD_FLIGHT_LAND = \"md_flight_land\";\n    public static final String MD_FLIGHT_TAKEOFF = \"md_flight_takeoff\";\n    public static final String MD_FLIP = \"md_flip\";\n    public static final String MD_FLIP_TO_BACK = \"md_flip_to_back\";\n    public static final String MD_FLIP_TO_FRONT = \"md_flip_to_front\";\n    public static final String MD_FOLDER = \"md_folder\";\n    public static final String MD_FOLDER_OPEN = \"md_folder_open\";\n    public static final String MD_FOLDER_SHARED = \"md_folder_shared\";\n    public static final String MD_FOLDER_SPECIAL = \"md_folder_special\";\n    public static final String MD_FONT_DOWNLOAD = \"md_font_download\";\n    public static final String MD_FORMAT_ALIGN_CENTER = \"md_format_align_center\";\n    public static final String MD_FORMAT_ALIGN_JUSTIFY = \"md_format_align_justify\";\n    public static final String MD_FORMAT_ALIGN_LEFT = \"md_format_align_left\";\n    public static final String MD_FORMAT_ALIGN_RIGHT = \"md_format_align_right\";\n    public static final String MD_FORMAT_BOLD = \"md_format_bold\";\n    public static final String MD_FORMAT_CLEAR = \"md_format_clear\";\n    public static final String MD_FORMAT_COLOR_FILL = \"md_format_color_fill\";\n    public static final String MD_FORMAT_COLOR_RESET = \"md_format_color_reset\";\n    public static final String MD_FORMAT_COLOR_TEXT = \"md_format_color_text\";\n    public static final String MD_FORMAT_INDENT_DECREASE = \"md_format_indent_decrease\";\n    public static final String MD_FORMAT_INDENT_INCREASE = \"md_format_indent_increase\";\n    public static final String MD_FORMAT_ITALIC = \"md_format_italic\";\n    public static final String MD_FORMAT_LINE_SPACING = \"md_format_line_spacing\";\n    public static final String MD_FORMAT_LIST_BULLETED = \"md_format_list_bulleted\";\n    public static final String MD_FORMAT_LIST_NUMBERED = \"md_format_list_numbered\";\n    public static final String MD_FORMAT_PAINT = \"md_format_paint\";\n    public static final String MD_FORMAT_QUOTE = \"md_format_quote\";\n    public static final String MD_FORMAT_SHAPES = \"md_format_shapes\";\n    public static final String MD_FORMAT_SIZE = \"md_format_size\";\n    public static final String MD_FORMAT_STRIKETHROUGH = \"md_format_strikethrough\";\n    public static final String MD_FORMAT_TEXTDIRECTION_L_TO_R = \"md_format_textdirection_l_to_r\";\n    public static final String MD_FORMAT_TEXTDIRECTION_R_TO_L = \"md_format_textdirection_r_to_l\";\n    public static final String MD_FORMAT_UNDERLINED = \"md_format_underlined\";\n    public static final String MD_FORUM = \"md_forum\";\n    public static final String MD_FORWARD = \"md_forward\";\n    public static final String MD_FORWARD_10 = \"md_forward_10\";\n    public static final String MD_FORWARD_30 = \"md_forward_30\";\n    public static final String MD_FORWARD_5 = \"md_forward_5\";\n    public static final String MD_FREE_BREAKFAST = \"md_free_breakfast\";\n    public static final String MD_FULLSCREEN = \"md_fullscreen\";\n    public static final String MD_FULLSCREEN_EXIT = \"md_fullscreen_exit\";\n    public static final String MD_FUNCTIONS = \"md_functions\";\n    public static final String MD_G_TRANSLATE = \"md_g_translate\";\n    public static final String MD_GAMEPAD = \"md_gamepad\";\n    public static final String MD_GAMES = \"md_games\";\n    public static final String MD_GAVEL = \"md_gavel\";\n    public static final String MD_GESTURE = \"md_gesture\";\n    public static final String MD_GET_APP = \"md_get_app\";\n    public static final String MD_GIF = \"md_gif\";\n    public static final String MD_GOLF_COURSE = \"md_golf_course\";\n    public static final String MD_GPS_FIXED = \"md_gps_fixed\";\n    public static final String MD_GPS_NOT_FIXED = \"md_gps_not_fixed\";\n    public static final String MD_GPS_OFF = \"md_gps_off\";\n    public static final String MD_GRADE = \"md_grade\";\n    public static final String MD_GRADIENT = \"md_gradient\";\n    public static final String MD_GRAIN = \"md_grain\";\n    public static final String MD_GRAPHIC_EQ = \"md_graphic_eq\";\n    public static final String MD_GRID_OFF = \"md_grid_off\";\n    public static final String MD_GRID_ON = \"md_grid_on\";\n    public static final String MD_GROUP = \"md_group\";\n    public static final String MD_GROUP_ADD = \"md_group_add\";\n    public static final String MD_GROUP_WORK = \"md_group_work\";\n    public static final String MD_HD = \"md_hd\";\n    public static final String MD_HDR_OFF = \"md_hdr_off\";\n    public static final String MD_HDR_ON = \"md_hdr_on\";\n    public static final String MD_HDR_STRONG = \"md_hdr_strong\";\n    public static final String MD_HDR_WEAK = \"md_hdr_weak\";\n    public static final String MD_HEADSET = \"md_headset\";\n    public static final String MD_HEADSET_MIC = \"md_headset_mic\";\n    public static final String MD_HEALING = \"md_healing\";\n    public static final String MD_HEARING = \"md_hearing\";\n    public static final String MD_HELP = \"md_help\";\n    public static final String MD_HELP_OUTLINE = \"md_help_outline\";\n    public static final String MD_HIGH_QUALITY = \"md_high_quality\";\n    public static final String MD_HIGHLIGHT = \"md_highlight\";\n    public static final String MD_HIGHLIGHT_OFF = \"md_highlight_off\";\n    public static final String MD_HISTORY = \"md_history\";\n    public static final String MD_HOME = \"md_home\";\n    public static final String MD_HOT_TUB = \"md_hot_tub\";\n    public static final String MD_HOTEL = \"md_hotel\";\n    public static final String MD_HOURGLASS_EMPTY = \"md_hourglass_empty\";\n    public static final String MD_HOURGLASS_FULL = \"md_hourglass_full\";\n    public static final String MD_HTTP = \"md_http\";\n    public static final String MD_HTTPS = \"md_https\";\n    public static final String MD_IMAGE = \"md_image\";\n    public static final String MD_IMAGE_ASPECT_RATIO = \"md_image_aspect_ratio\";\n    public static final String MD_IMPORT_CONTACTS = \"md_import_contacts\";\n    public static final String MD_IMPORT_EXPORT = \"md_import_export\";\n    public static final String MD_IMPORTANT_DEVICES = \"md_important_devices\";\n    public static final String MD_INBOX = \"md_inbox\";\n    public static final String MD_INDETERMINATE_CHECK_BOX = \"md_indeterminate_check_box\";\n    public static final String MD_INFO = \"md_info\";\n    public static final String MD_INFO_OUTLINE = \"md_info_outline\";\n    public static final String MD_INPUT = \"md_input\";\n    public static final String MD_INSERT_CHART = \"md_insert_chart\";\n    public static final String MD_INSERT_COMMENT = \"md_insert_comment\";\n    public static final String MD_INSERT_DRIVE_FILE = \"md_insert_drive_file\";\n    public static final String MD_INSERT_EMOTICON = \"md_insert_emoticon\";\n    public static final String MD_INSERT_INVITATION = \"md_insert_invitation\";\n    public static final String MD_INSERT_LINK = \"md_insert_link\";\n    public static final String MD_INSERT_PHOTO = \"md_insert_photo\";\n    public static final String MD_INVERT_COLORS = \"md_invert_colors\";\n    public static final String MD_INVERT_COLORS_OFF = \"md_invert_colors_off\";\n    public static final String MD_ISO = \"md_iso\";\n    public static final String MD_KEYBOARD = \"md_keyboard\";\n    public static final String MD_KEYBOARD_ARROW_DOWN = \"md_keyboard_arrow_down\";\n    public static final String MD_KEYBOARD_ARROW_LEFT = \"md_keyboard_arrow_left\";\n    public static final String MD_KEYBOARD_ARROW_RIGHT = \"md_keyboard_arrow_right\";\n    public static final String MD_KEYBOARD_ARROW_UP = \"md_keyboard_arrow_up\";\n    public static final String MD_KEYBOARD_BACKSPACE = \"md_keyboard_backspace\";\n    public static final String MD_KEYBOARD_CAPSLOCK = \"md_keyboard_capslock\";\n    public static final String MD_KEYBOARD_HIDE = \"md_keyboard_hide\";\n    public static final String MD_KEYBOARD_RETURN = \"md_keyboard_return\";\n    public static final String MD_KEYBOARD_TAB = \"md_keyboard_tab\";\n    public static final String MD_KEYBOARD_VOICE = \"md_keyboard_voice\";\n    public static final String MD_KITCHEN = \"md_kitchen\";\n    public static final String MD_LABEL = \"md_label\";\n    public static final String MD_LABEL_OUTLINE = \"md_label_outline\";\n    public static final String MD_LANDSCAPE = \"md_landscape\";\n    public static final String MD_LANGUAGE = \"md_language\";\n    public static final String MD_LAPTOP = \"md_laptop\";\n    public static final String MD_LAPTOP_CHROMEBOOK = \"md_laptop_chromebook\";\n    public static final String MD_LAPTOP_MAC = \"md_laptop_mac\";\n    public static final String MD_LAPTOP_WINDOWS = \"md_laptop_windows\";\n    public static final String MD_LAST_PAGE = \"md_last_page\";\n    public static final String MD_LAUNCH = \"md_launch\";\n    public static final String MD_LAYERS = \"md_layers\";\n    public static final String MD_LAYERS_CLEAR = \"md_layers_clear\";\n    public static final String MD_LEAK_ADD = \"md_leak_add\";\n    public static final String MD_LEAK_REMOVE = \"md_leak_remove\";\n    public static final String MD_LENS = \"md_lens\";\n    public static final String MD_LIBRARY_ADD = \"md_library_add\";\n    public static final String MD_LIBRARY_BOOKS = \"md_library_books\";\n    public static final String MD_LIBRARY_MUSIC = \"md_library_music\";\n    public static final String MD_LIGHTBULB_OUTLINE = \"md_lightbulb_outline\";\n    public static final String MD_LINE_STYLE = \"md_line_style\";\n    public static final String MD_LINE_WEIGHT = \"md_line_weight\";\n    public static final String MD_LINEAR_SCALE = \"md_linear_scale\";\n    public static final String MD_LINK = \"md_link\";\n    public static final String MD_LINKED_CAMERA = \"md_linked_camera\";\n    public static final String MD_LIST = \"md_list\";\n    public static final String MD_LIVE_HELP = \"md_live_help\";\n    public static final String MD_LIVE_TV = \"md_live_tv\";\n    public static final String MD_LOCAL_ACTIVITY = \"md_local_activity\";\n    public static final String MD_LOCAL_AIRPORT = \"md_local_airport\";\n    public static final String MD_LOCAL_ATM = \"md_local_atm\";\n    public static final String MD_LOCAL_BAR = \"md_local_bar\";\n    public static final String MD_LOCAL_CAFE = \"md_local_cafe\";\n    public static final String MD_LOCAL_CAR_WASH = \"md_local_car_wash\";\n    public static final String MD_LOCAL_CONVENIENCE_STORE = \"md_local_convenience_store\";\n    public static final String MD_LOCAL_DINING = \"md_local_dining\";\n    public static final String MD_LOCAL_DRINK = \"md_local_drink\";\n    public static final String MD_LOCAL_FLORIST = \"md_local_florist\";\n    public static final String MD_LOCAL_GAS_STATION = \"md_local_gas_station\";\n    public static final String MD_LOCAL_GROCERY_STORE = \"md_local_grocery_store\";\n    public static final String MD_LOCAL_HOSPITAL = \"md_local_hospital\";\n    public static final String MD_LOCAL_HOTEL = \"md_local_hotel\";\n    public static final String MD_LOCAL_LAUNDRY_SERVICE = \"md_local_laundry_service\";\n    public static final String MD_LOCAL_LIBRARY = \"md_local_library\";\n    public static final String MD_LOCAL_MALL = \"md_local_mall\";\n    public static final String MD_LOCAL_MOVIES = \"md_local_movies\";\n    public static final String MD_LOCAL_OFFER = \"md_local_offer\";\n    public static final String MD_LOCAL_PARKING = \"md_local_parking\";\n    public static final String MD_LOCAL_PHARMACY = \"md_local_pharmacy\";\n    public static final String MD_LOCAL_PHONE = \"md_local_phone\";\n    public static final String MD_LOCAL_PIZZA = \"md_local_pizza\";\n    public static final String MD_LOCAL_PLAY = \"md_local_play\";\n    public static final String MD_LOCAL_POST_OFFICE = \"md_local_post_office\";\n    public static final String MD_LOCAL_PRINTSHOP = \"md_local_printshop\";\n    public static final String MD_LOCAL_SEE = \"md_local_see\";\n    public static final String MD_LOCAL_SHIPPING = \"md_local_shipping\";\n    public static final String MD_LOCAL_TAXI = \"md_local_taxi\";\n    public static final String MD_LOCATION_CITY = \"md_location_city\";\n    public static final String MD_LOCATION_DISABLED = \"md_location_disabled\";\n    public static final String MD_LOCATION_OFF = \"md_location_off\";\n    public static final String MD_LOCATION_ON = \"md_location_on\";\n    public static final String MD_LOCATION_SEARCHING = \"md_location_searching\";\n    public static final String MD_LOCK = \"md_lock\";\n    public static final String MD_LOCK_OPEN = \"md_lock_open\";\n    public static final String MD_LOCK_OUTLINE = \"md_lock_outline\";\n    public static final String MD_LOOKS = \"md_looks\";\n    public static final String MD_LOOKS_3 = \"md_looks_3\";\n    public static final String MD_LOOKS_4 = \"md_looks_4\";\n    public static final String MD_LOOKS_5 = \"md_looks_5\";\n    public static final String MD_LOOKS_6 = \"md_looks_6\";\n    public static final String MD_LOOKS_ONE = \"md_looks_one\";\n    public static final String MD_LOOKS_TWO = \"md_looks_two\";\n    public static final String MD_LOOP = \"md_loop\";\n    public static final String MD_LOUPE = \"md_loupe\";\n    public static final String MD_LOW_PRIORITY = \"md_low_priority\";\n    public static final String MD_LOYALTY = \"md_loyalty\";\n    public static final String MD_MAIL = \"md_mail\";\n    public static final String MD_MAIL_OUTLINE = \"md_mail_outline\";\n    public static final String MD_MAP = \"md_map\";\n    public static final String MD_MARKUNREAD = \"md_markunread\";\n    public static final String MD_MARKUNREAD_MAILBOX = \"md_markunread_mailbox\";\n    public static final String MD_MEMORY = \"md_memory\";\n    public static final String MD_MENU = \"md_menu\";\n    public static final String MD_MERGE_TYPE = \"md_merge_type\";\n    public static final String MD_MESSAGE = \"md_message\";\n    public static final String MD_MIC = \"md_mic\";\n    public static final String MD_MIC_NONE = \"md_mic_none\";\n    public static final String MD_MIC_OFF = \"md_mic_off\";\n    public static final String MD_MMS = \"md_mms\";\n    public static final String MD_MODE_COMMENT = \"md_mode_comment\";\n    public static final String MD_MODE_EDIT = \"md_mode_edit\";\n    public static final String MD_MONETIZATION_ON = \"md_monetization_on\";\n    public static final String MD_MONEY_OFF = \"md_money_off\";\n    public static final String MD_MONOCHROME_PHOTOS = \"md_monochrome_photos\";\n    public static final String MD_MOOD = \"md_mood\";\n    public static final String MD_MOOD_BAD = \"md_mood_bad\";\n    public static final String MD_MORE = \"md_more\";\n    public static final String MD_MORE_HORIZ = \"md_more_horiz\";\n    public static final String MD_MORE_VERT = \"md_more_vert\";\n    public static final String MD_MOTORCYCLE = \"md_motorcycle\";\n    public static final String MD_MOUSE = \"md_mouse\";\n    public static final String MD_MOVE_TO_INBOX = \"md_move_to_inbox\";\n    public static final String MD_MOVIE = \"md_movie\";\n    public static final String MD_MOVIE_CREATION = \"md_movie_creation\";\n    public static final String MD_MOVIE_FILTER = \"md_movie_filter\";\n    public static final String MD_MULTILINE_CHART = \"md_multiline_chart\";\n    public static final String MD_MUSIC_NOTE = \"md_music_note\";\n    public static final String MD_MUSIC_VIDEO = \"md_music_video\";\n    public static final String MD_MY_LOCATION = \"md_my_location\";\n    public static final String MD_NATURE = \"md_nature\";\n    public static final String MD_NATURE_PEOPLE = \"md_nature_people\";\n    public static final String MD_NAVIGATE_BEFORE = \"md_navigate_before\";\n    public static final String MD_NAVIGATE_NEXT = \"md_navigate_next\";\n    public static final String MD_NAVIGATION = \"md_navigation\";\n    public static final String MD_NEAR_ME = \"md_near_me\";\n    public static final String MD_NETWORK_CELL = \"md_network_cell\";\n    public static final String MD_NETWORK_CHECK = \"md_network_check\";\n    public static final String MD_NETWORK_LOCKED = \"md_network_locked\";\n    public static final String MD_NETWORK_WIFI = \"md_network_wifi\";\n    public static final String MD_NEW_RELEASES = \"md_new_releases\";\n    public static final String MD_NEXT_WEEK = \"md_next_week\";\n    public static final String MD_NFC = \"md_nfc\";\n    public static final String MD_NO_ENCRYPTION = \"md_no_encryption\";\n    public static final String MD_NO_SIM = \"md_no_sim\";\n    public static final String MD_NOT_INTERESTED = \"md_not_interested\";\n    public static final String MD_NOTE = \"md_note\";\n    public static final String MD_NOTE_ADD = \"md_note_add\";\n    public static final String MD_NOTIFICATIONS = \"md_notifications\";\n    public static final String MD_NOTIFICATIONS_ACTIVE = \"md_notifications_active\";\n    public static final String MD_NOTIFICATIONS_NONE = \"md_notifications_none\";\n    public static final String MD_NOTIFICATIONS_OFF = \"md_notifications_off\";\n    public static final String MD_NOTIFICATIONS_PAUSED = \"md_notifications_paused\";\n    public static final String MD_OFFLINE_PIN = \"md_offline_pin\";\n    public static final String MD_ONDEMAND_VIDEO = \"md_ondemand_video\";\n    public static final String MD_OPACITY = \"md_opacity\";\n    public static final String MD_OPEN_IN_BROWSER = \"md_open_in_browser\";\n    public static final String MD_OPEN_IN_NEW = \"md_open_in_new\";\n    public static final String MD_OPEN_WITH = \"md_open_with\";\n    public static final String MD_PAGES = \"md_pages\";\n    public static final String MD_PAGEVIEW = \"md_pageview\";\n    public static final String MD_PALETTE = \"md_palette\";\n    public static final String MD_PAN_TOOL = \"md_pan_tool\";\n    public static final String MD_PANORAMA = \"md_panorama\";\n    public static final String MD_PANORAMA_FISH_EYE = \"md_panorama_fish_eye\";\n    public static final String MD_PANORAMA_HORIZONTAL = \"md_panorama_horizontal\";\n    public static final String MD_PANORAMA_VERTICAL = \"md_panorama_vertical\";\n    public static final String MD_PANORAMA_WIDE_ANGLE = \"md_panorama_wide_angle\";\n    public static final String MD_PARTY_MODE = \"md_party_mode\";\n    public static final String MD_PAUSE = \"md_pause\";\n    public static final String MD_PAUSE_CIRCLE_FILLED = \"md_pause_circle_filled\";\n    public static final String MD_PAUSE_CIRCLE_OUTLINE = \"md_pause_circle_outline\";\n    public static final String MD_PAYMENT = \"md_payment\";\n    public static final String MD_PEOPLE = \"md_people\";\n    public static final String MD_PEOPLE_OUTLINE = \"md_people_outline\";\n    public static final String MD_PERM_CAMERA_MIC = \"md_perm_camera_mic\";\n    public static final String MD_PERM_CONTACT_CALENDAR = \"md_perm_contact_calendar\";\n    public static final String MD_PERM_DATA_SETTING = \"md_perm_data_setting\";\n    public static final String MD_PERM_DEVICE_INFORMATION = \"md_perm_device_information\";\n    public static final String MD_PERM_IDENTITY = \"md_perm_identity\";\n    public static final String MD_PERM_MEDIA = \"md_perm_media\";\n    public static final String MD_PERM_PHONE_MSG = \"md_perm_phone_msg\";\n    public static final String MD_PERM_SCAN_WIFI = \"md_perm_scan_wifi\";\n    public static final String MD_PERSON = \"md_person\";\n    public static final String MD_PERSON_ADD = \"md_person_add\";\n    public static final String MD_PERSON_OUTLINE = \"md_person_outline\";\n    public static final String MD_PERSON_PIN = \"md_person_pin\";\n    public static final String MD_PERSON_PIN_CIRCLE = \"md_person_pin_circle\";\n    public static final String MD_PERSONAL_VIDEO = \"md_personal_video\";\n    public static final String MD_PETS = \"md_pets\";\n    public static final String MD_PHONE = \"md_phone\";\n    public static final String MD_PHONE_ANDROID = \"md_phone_android\";\n    public static final String MD_PHONE_BLUETOOTH_SPEAKER = \"md_phone_bluetooth_speaker\";\n    public static final String MD_PHONE_FORWARDED = \"md_phone_forwarded\";\n    public static final String MD_PHONE_IN_TALK = \"md_phone_in_talk\";\n    public static final String MD_PHONE_IPHONE = \"md_phone_iphone\";\n    public static final String MD_PHONE_LOCKED = \"md_phone_locked\";\n    public static final String MD_PHONE_MISSED = \"md_phone_missed\";\n    public static final String MD_PHONE_PAUSED = \"md_phone_paused\";\n    public static final String MD_PHONELINK = \"md_phonelink\";\n    public static final String MD_PHONELINK_ERASE = \"md_phonelink_erase\";\n    public static final String MD_PHONELINK_LOCK = \"md_phonelink_lock\";\n    public static final String MD_PHONELINK_OFF = \"md_phonelink_off\";\n    public static final String MD_PHONELINK_RING = \"md_phonelink_ring\";\n    public static final String MD_PHONELINK_SETUP = \"md_phonelink_setup\";\n    public static final String MD_PHOTO = \"md_photo\";\n    public static final String MD_PHOTO_ALBUM = \"md_photo_album\";\n    public static final String MD_PHOTO_CAMERA = \"md_photo_camera\";\n    public static final String MD_PHOTO_FILTER = \"md_photo_filter\";\n    public static final String MD_PHOTO_LIBRARY = \"md_photo_library\";\n    public static final String MD_PHOTO_SIZE_SELECT_ACTUAL = \"md_photo_size_select_actual\";\n    public static final String MD_PHOTO_SIZE_SELECT_LARGE = \"md_photo_size_select_large\";\n    public static final String MD_PHOTO_SIZE_SELECT_SMALL = \"md_photo_size_select_small\";\n    public static final String MD_PICTURE_AS_PDF = \"md_picture_as_pdf\";\n    public static final String MD_PICTURE_IN_PICTURE = \"md_picture_in_picture\";\n    public static final String MD_PICTURE_IN_PICTURE_ALT = \"md_picture_in_picture_alt\";\n    public static final String MD_PIE_CHART = \"md_pie_chart\";\n    public static final String MD_PIE_CHART_OUTLINED = \"md_pie_chart_outlined\";\n    public static final String MD_PIN_DROP = \"md_pin_drop\";\n    public static final String MD_PLACE = \"md_place\";\n    public static final String MD_PLAY_ARROW = \"md_play_arrow\";\n    public static final String MD_PLAY_CIRCLE_FILLED = \"md_play_circle_filled\";\n    public static final String MD_PLAY_CIRCLE_OUTLINE = \"md_play_circle_outline\";\n    public static final String MD_PLAY_FOR_WORK = \"md_play_for_work\";\n    public static final String MD_PLAYLIST_ADD = \"md_playlist_add\";\n    public static final String MD_PLAYLIST_ADD_CHECK = \"md_playlist_add_check\";\n    public static final String MD_PLAYLIST_PLAY = \"md_playlist_play\";\n    public static final String MD_PLUS_ONE = \"md_plus_one\";\n    public static final String MD_POLL = \"md_poll\";\n    public static final String MD_POLYMER = \"md_polymer\";\n    public static final String MD_POOL = \"md_pool\";\n    public static final String MD_PORTABLE_WIFI_OFF = \"md_portable_wifi_off\";\n    public static final String MD_PORTRAIT = \"md_portrait\";\n    public static final String MD_POWER = \"md_power\";\n    public static final String MD_POWER_INPUT = \"md_power_input\";\n    public static final String MD_POWER_SETTINGS_NEW = \"md_power_settings_new\";\n    public static final String MD_PREGNANT_WOMAN = \"md_pregnant_woman\";\n    public static final String MD_PRESENT_TO_ALL = \"md_present_to_all\";\n    public static final String MD_PRINT = \"md_print\";\n    public static final String MD_PRIORITY_HIGH = \"md_priority_high\";\n    public static final String MD_PUBLIC = \"md_public\";\n    public static final String MD_PUBLISH = \"md_publish\";\n    public static final String MD_QUERY_BUILDER = \"md_query_builder\";\n    public static final String MD_QUESTION_ANSWER = \"md_question_answer\";\n    public static final String MD_QUEUE = \"md_queue\";\n    public static final String MD_QUEUE_MUSIC = \"md_queue_music\";\n    public static final String MD_QUEUE_PLAY_NEXT = \"md_queue_play_next\";\n    public static final String MD_RADIO = \"md_radio\";\n    public static final String MD_RADIO_BUTTON_CHECKED = \"md_radio_button_checked\";\n    public static final String MD_RADIO_BUTTON_UNCHECKED = \"md_radio_button_unchecked\";\n    public static final String MD_RATE_REVIEW = \"md_rate_review\";\n    public static final String MD_RECEIPT = \"md_receipt\";\n    public static final String MD_RECENT_ACTORS = \"md_recent_actors\";\n    public static final String MD_RECORD_VOICE_OVER = \"md_record_voice_over\";\n    public static final String MD_REDEEM = \"md_redeem\";\n    public static final String MD_REDO = \"md_redo\";\n    public static final String MD_REFRESH = \"md_refresh\";\n    public static final String MD_REMOVE = \"md_remove\";\n    public static final String MD_REMOVE_CIRCLE = \"md_remove_circle\";\n    public static final String MD_REMOVE_CIRCLE_OUTLINE = \"md_remove_circle_outline\";\n    public static final String MD_REMOVE_FROM_QUEUE = \"md_remove_from_queue\";\n    public static final String MD_REMOVE_RED_EYE = \"md_remove_red_eye\";\n    public static final String MD_REMOVE_SHOPPING_CART = \"md_remove_shopping_cart\";\n    public static final String MD_REORDER = \"md_reorder\";\n    public static final String MD_REPEAT = \"md_repeat\";\n    public static final String MD_REPEAT_ONE = \"md_repeat_one\";\n    public static final String MD_REPLAY = \"md_replay\";\n    public static final String MD_REPLAY_10 = \"md_replay_10\";\n    public static final String MD_REPLAY_30 = \"md_replay_30\";\n    public static final String MD_REPLAY_5 = \"md_replay_5\";\n    public static final String MD_REPLY = \"md_reply\";\n    public static final String MD_REPLY_ALL = \"md_reply_all\";\n    public static final String MD_REPORT = \"md_report\";\n    public static final String MD_REPORT_PROBLEM = \"md_report_problem\";\n    public static final String MD_RESTAURANT = \"md_restaurant\";\n    public static final String MD_RESTAURANT_MENU = \"md_restaurant_menu\";\n    public static final String MD_RESTORE = \"md_restore\";\n    public static final String MD_RESTORE_PAGE = \"md_restore_page\";\n    public static final String MD_RING_VOLUME = \"md_ring_volume\";\n    public static final String MD_ROOM = \"md_room\";\n    public static final String MD_ROOM_SERVICE = \"md_room_service\";\n    public static final String MD_ROTATE_90_DEGREES_CCW = \"md_rotate_90_degrees_ccw\";\n    public static final String MD_ROTATE_LEFT = \"md_rotate_left\";\n    public static final String MD_ROTATE_RIGHT = \"md_rotate_right\";\n    public static final String MD_ROUNDED_CORNER = \"md_rounded_corner\";\n    public static final String MD_ROUTER = \"md_router\";\n    public static final String MD_ROWING = \"md_rowing\";\n    public static final String MD_RSS_FEED = \"md_rss_feed\";\n    public static final String MD_RV_HOOKUP = \"md_rv_hookup\";\n    public static final String MD_SATELLITE = \"md_satellite\";\n    public static final String MD_SAVE = \"md_save\";\n    public static final String MD_SCANNER = \"md_scanner\";\n    public static final String MD_SCHEDULE = \"md_schedule\";\n    public static final String MD_SCHOOL = \"md_school\";\n    public static final String MD_SCREEN_LOCK_LANDSCAPE = \"md_screen_lock_landscape\";\n    public static final String MD_SCREEN_LOCK_PORTRAIT = \"md_screen_lock_portrait\";\n    public static final String MD_SCREEN_LOCK_ROTATION = \"md_screen_lock_rotation\";\n    public static final String MD_SCREEN_ROTATION = \"md_screen_rotation\";\n    public static final String MD_SCREEN_SHARE = \"md_screen_share\";\n    public static final String MD_SD_CARD = \"md_sd_card\";\n    public static final String MD_SD_STORAGE = \"md_sd_storage\";\n    public static final String MD_SEARCH = \"md_search\";\n    public static final String MD_SECURITY = \"md_security\";\n    public static final String MD_SELECT_ALL = \"md_select_all\";\n    public static final String MD_SEND = \"md_send\";\n    public static final String MD_SENTIMENT_DISSATISFIED = \"md_sentiment_dissatisfied\";\n    public static final String MD_SENTIMENT_NEUTRAL = \"md_sentiment_neutral\";\n    public static final String MD_SENTIMENT_SATISFIED = \"md_sentiment_satisfied\";\n    public static final String MD_SENTIMENT_VERY_DISSATISFIED = \"md_sentiment_very_dissatisfied\";\n    public static final String MD_SENTIMENT_VERY_SATISFIED = \"md_sentiment_very_satisfied\";\n    public static final String MD_SETTINGS = \"md_settings\";\n    public static final String MD_SETTINGS_APPLICATIONS = \"md_settings_applications\";\n    public static final String MD_SETTINGS_BACKUP_RESTORE = \"md_settings_backup_restore\";\n    public static final String MD_SETTINGS_BLUETOOTH = \"md_settings_bluetooth\";\n    public static final String MD_SETTINGS_BRIGHTNESS = \"md_settings_brightness\";\n    public static final String MD_SETTINGS_CELL = \"md_settings_cell\";\n    public static final String MD_SETTINGS_ETHERNET = \"md_settings_ethernet\";\n    public static final String MD_SETTINGS_INPUT_ANTENNA = \"md_settings_input_antenna\";\n    public static final String MD_SETTINGS_INPUT_COMPONENT = \"md_settings_input_component\";\n    public static final String MD_SETTINGS_INPUT_COMPOSITE = \"md_settings_input_composite\";\n    public static final String MD_SETTINGS_INPUT_HDMI = \"md_settings_input_hdmi\";\n    public static final String MD_SETTINGS_INPUT_SVIDEO = \"md_settings_input_svideo\";\n    public static final String MD_SETTINGS_OVERSCAN = \"md_settings_overscan\";\n    public static final String MD_SETTINGS_PHONE = \"md_settings_phone\";\n    public static final String MD_SETTINGS_POWER = \"md_settings_power\";\n    public static final String MD_SETTINGS_REMOTE = \"md_settings_remote\";\n    public static final String MD_SETTINGS_SYSTEM_DAYDREAM = \"md_settings_system_daydream\";\n    public static final String MD_SETTINGS_VOICE = \"md_settings_voice\";\n    public static final String MD_SHARE = \"md_share\";\n    public static final String MD_SHOP = \"md_shop\";\n    public static final String MD_SHOP_TWO = \"md_shop_two\";\n    public static final String MD_SHOPPING_BASKET = \"md_shopping_basket\";\n    public static final String MD_SHOPPING_CART = \"md_shopping_cart\";\n    public static final String MD_SHORT_TEXT = \"md_short_text\";\n    public static final String MD_SHOW_CHART = \"md_show_chart\";\n    public static final String MD_SHUFFLE = \"md_shuffle\";\n    public static final String MD_SIGNAL_CELLULAR_4_BAR = \"md_signal_cellular_4_bar\";\n    public static final String MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR = \"md_signal_cellular_connected_no_internet_4_bar\";\n    public static final String MD_SIGNAL_CELLULAR_NO_SIM = \"md_signal_cellular_no_sim\";\n    public static final String MD_SIGNAL_CELLULAR_NULL = \"md_signal_cellular_null\";\n    public static final String MD_SIGNAL_CELLULAR_OFF = \"md_signal_cellular_off\";\n    public static final String MD_SIGNAL_WIFI_4_BAR = \"md_signal_wifi_4_bar\";\n    public static final String MD_SIGNAL_WIFI_4_BAR_LOCK = \"md_signal_wifi_4_bar_lock\";\n    public static final String MD_SIGNAL_WIFI_OFF = \"md_signal_wifi_off\";\n    public static final String MD_SIM_CARD = \"md_sim_card\";\n    public static final String MD_SIM_CARD_ALERT = \"md_sim_card_alert\";\n    public static final String MD_SKIP_NEXT = \"md_skip_next\";\n    public static final String MD_SKIP_PREVIOUS = \"md_skip_previous\";\n    public static final String MD_SLIDESHOW = \"md_slideshow\";\n    public static final String MD_SLOW_MOTION_VIDEO = \"md_slow_motion_video\";\n    public static final String MD_SMARTPHONE = \"md_smartphone\";\n    public static final String MD_SMOKE_FREE = \"md_smoke_free\";\n    public static final String MD_SMOKING_ROOMS = \"md_smoking_rooms\";\n    public static final String MD_SMS = \"md_sms\";\n    public static final String MD_SMS_FAILED = \"md_sms_failed\";\n    public static final String MD_SNOOZE = \"md_snooze\";\n    public static final String MD_SORT = \"md_sort\";\n    public static final String MD_SORT_BY_ALPHA = \"md_sort_by_alpha\";\n    public static final String MD_SPA = \"md_spa\";\n    public static final String MD_SPACE_BAR = \"md_space_bar\";\n    public static final String MD_SPEAKER = \"md_speaker\";\n    public static final String MD_SPEAKER_GROUP = \"md_speaker_group\";\n    public static final String MD_SPEAKER_NOTES = \"md_speaker_notes\";\n    public static final String MD_SPEAKER_NOTES_OFF = \"md_speaker_notes_off\";\n    public static final String MD_SPEAKER_PHONE = \"md_speaker_phone\";\n    public static final String MD_SPELLCHECK = \"md_spellcheck\";\n    public static final String MD_STAR = \"md_star\";\n    public static final String MD_STAR_BORDER = \"md_star_border\";\n    public static final String MD_STAR_HALF = \"md_star_half\";\n    public static final String MD_STARS = \"md_stars\";\n    public static final String MD_STAY_CURRENT_LANDSCAPE = \"md_stay_current_landscape\";\n    public static final String MD_STAY_CURRENT_PORTRAIT = \"md_stay_current_portrait\";\n    public static final String MD_STAY_PRIMARY_LANDSCAPE = \"md_stay_primary_landscape\";\n    public static final String MD_STAY_PRIMARY_PORTRAIT = \"md_stay_primary_portrait\";\n    public static final String MD_STOP = \"md_stop\";\n    public static final String MD_STOP_SCREEN_SHARE = \"md_stop_screen_share\";\n    public static final String MD_STORAGE = \"md_storage\";\n    public static final String MD_STORE = \"md_store\";\n    public static final String MD_STORE_MALL_DIRECTORY = \"md_store_mall_directory\";\n    public static final String MD_STRAIGHTEN = \"md_straighten\";\n    public static final String MD_STREETVIEW = \"md_streetview\";\n    public static final String MD_STRIKETHROUGH_S = \"md_strikethrough_s\";\n    public static final String MD_STYLE = \"md_style\";\n    public static final String MD_SUBDIRECTORY_ARROW_LEFT = \"md_subdirectory_arrow_left\";\n    public static final String MD_SUBDIRECTORY_ARROW_RIGHT = \"md_subdirectory_arrow_right\";\n    public static final String MD_SUBJECT = \"md_subject\";\n    public static final String MD_SUBSCRIPTIONS = \"md_subscriptions\";\n    public static final String MD_SUBTITLES = \"md_subtitles\";\n    public static final String MD_SUBWAY = \"md_subway\";\n    public static final String MD_SUPERVISOR_ACCOUNT = \"md_supervisor_account\";\n    public static final String MD_SURROUND_SOUND = \"md_surround_sound\";\n    public static final String MD_SWAP_CALLS = \"md_swap_calls\";\n    public static final String MD_SWAP_HORIZ = \"md_swap_horiz\";\n    public static final String MD_SWAP_VERT = \"md_swap_vert\";\n    public static final String MD_SWAP_VERTICAL_CIRCLE = \"md_swap_vertical_circle\";\n    public static final String MD_SWITCH_CAMERA = \"md_switch_camera\";\n    public static final String MD_SWITCH_VIDEO = \"md_switch_video\";\n    public static final String MD_SYNC = \"md_sync\";\n    public static final String MD_SYNC_DISABLED = \"md_sync_disabled\";\n    public static final String MD_SYNC_PROBLEM = \"md_sync_problem\";\n    public static final String MD_SYSTEM_UPDATE = \"md_system_update\";\n    public static final String MD_SYSTEM_UPDATE_ALT = \"md_system_update_alt\";\n    public static final String MD_TAB = \"md_tab\";\n    public static final String MD_TAB_UNSELECTED = \"md_tab_unselected\";\n    public static final String MD_TABLET = \"md_tablet\";\n    public static final String MD_TABLET_ANDROID = \"md_tablet_android\";\n    public static final String MD_TABLET_MAC = \"md_tablet_mac\";\n    public static final String MD_TAG_FACES = \"md_tag_faces\";\n    public static final String MD_TAP_AND_PLAY = \"md_tap_and_play\";\n    public static final String MD_TERRAIN = \"md_terrain\";\n    public static final String MD_TEXT_FIELDS = \"md_text_fields\";\n    public static final String MD_TEXT_FORMAT = \"md_text_format\";\n    public static final String MD_TEXTSMS = \"md_textsms\";\n    public static final String MD_TEXTURE = \"md_texture\";\n    public static final String MD_THEATERS = \"md_theaters\";\n    public static final String MD_THUMB_DOWN = \"md_thumb_down\";\n    public static final String MD_THUMB_UP = \"md_thumb_up\";\n    public static final String MD_THUMBS_UP_DOWN = \"md_thumbs_up_down\";\n    public static final String MD_TIME_TO_LEAVE = \"md_time_to_leave\";\n    public static final String MD_TIMELAPSE = \"md_timelapse\";\n    public static final String MD_TIMELINE = \"md_timeline\";\n    public static final String MD_TIMER = \"md_timer\";\n    public static final String MD_TIMER_10 = \"md_timer_10\";\n    public static final String MD_TIMER_3 = \"md_timer_3\";\n    public static final String MD_TIMER_OFF = \"md_timer_off\";\n    public static final String MD_TITLE = \"md_title\";\n    public static final String MD_TOC = \"md_toc\";\n    public static final String MD_TODAY = \"md_today\";\n    public static final String MD_TOLL = \"md_toll\";\n    public static final String MD_TONALITY = \"md_tonality\";\n    public static final String MD_TOUCH_APP = \"md_touch_app\";\n    public static final String MD_TOYS = \"md_toys\";\n    public static final String MD_TRACK_CHANGES = \"md_track_changes\";\n    public static final String MD_TRAFFIC = \"md_traffic\";\n    public static final String MD_TRAIN = \"md_train\";\n    public static final String MD_TRAM = \"md_tram\";\n    public static final String MD_TRANSFER_WITHIN_A_STATION = \"md_transfer_within_a_station\";\n    public static final String MD_TRANSFORM = \"md_transform\";\n    public static final String MD_TRANSLATE = \"md_translate\";\n    public static final String MD_TRENDING_DOWN = \"md_trending_down\";\n    public static final String MD_TRENDING_FLAT = \"md_trending_flat\";\n    public static final String MD_TRENDING_UP = \"md_trending_up\";\n    public static final String MD_TUNE = \"md_tune\";\n    public static final String MD_TURNED_IN = \"md_turned_in\";\n    public static final String MD_TURNED_IN_NOT = \"md_turned_in_not\";\n    public static final String MD_TV = \"md_tv\";\n    public static final String MD_UNARCHIVE = \"md_unarchive\";\n    public static final String MD_UNDO = \"md_undo\";\n    public static final String MD_UNFOLD_LESS = \"md_unfold_less\";\n    public static final String MD_UNFOLD_MORE = \"md_unfold_more\";\n    public static final String MD_UPDATE = \"md_update\";\n    public static final String MD_USB = \"md_usb\";\n    public static final String MD_VERIFIED_USER = \"md_verified_user\";\n    public static final String MD_VERTICAL_ALIGN_BOTTOM = \"md_vertical_align_bottom\";\n    public static final String MD_VERTICAL_ALIGN_CENTER = \"md_vertical_align_center\";\n    public static final String MD_VERTICAL_ALIGN_TOP = \"md_vertical_align_top\";\n    public static final String MD_VIBRATION = \"md_vibration\";\n    public static final String MD_VIDEO_CALL = \"md_video_call\";\n    public static final String MD_VIDEO_LABEL = \"md_video_label\";\n    public static final String MD_VIDEO_LIBRARY = \"md_video_library\";\n    public static final String MD_VIDEOCAM = \"md_videocam\";\n    public static final String MD_VIDEOCAM_OFF = \"md_videocam_off\";\n    public static final String MD_VIDEOGAME_ASSET = \"md_videogame_asset\";\n    public static final String MD_VIEW_AGENDA = \"md_view_agenda\";\n    public static final String MD_VIEW_ARRAY = \"md_view_array\";\n    public static final String MD_VIEW_CAROUSEL = \"md_view_carousel\";\n    public static final String MD_VIEW_COLUMN = \"md_view_column\";\n    public static final String MD_VIEW_COMFY = \"md_view_comfy\";\n    public static final String MD_VIEW_COMPACT = \"md_view_compact\";\n    public static final String MD_VIEW_DAY = \"md_view_day\";\n    public static final String MD_VIEW_HEADLINE = \"md_view_headline\";\n    public static final String MD_VIEW_LIST = \"md_view_list\";\n    public static final String MD_VIEW_MODULE = \"md_view_module\";\n    public static final String MD_VIEW_QUILT = \"md_view_quilt\";\n    public static final String MD_VIEW_STREAM = \"md_view_stream\";\n    public static final String MD_VIEW_WEEK = \"md_view_week\";\n    public static final String MD_VIGNETTE = \"md_vignette\";\n    public static final String MD_VISIBILITY = \"md_visibility\";\n    public static final String MD_VISIBILITY_OFF = \"md_visibility_off\";\n    public static final String MD_VOICE_CHAT = \"md_voice_chat\";\n    public static final String MD_VOICEMAIL = \"md_voicemail\";\n    public static final String MD_VOLUME_DOWN = \"md_volume_down\";\n    public static final String MD_VOLUME_MUTE = \"md_volume_mute\";\n    public static final String MD_VOLUME_OFF = \"md_volume_off\";\n    public static final String MD_VOLUME_UP = \"md_volume_up\";\n    public static final String MD_VPN_KEY = \"md_vpn_key\";\n    public static final String MD_VPN_LOCK = \"md_vpn_lock\";\n    public static final String MD_WALLPAPER = \"md_wallpaper\";\n    public static final String MD_WARNING = \"md_warning\";\n    public static final String MD_WATCH = \"md_watch\";\n    public static final String MD_WATCH_LATER = \"md_watch_later\";\n    public static final String MD_WB_AUTO = \"md_wb_auto\";\n    public static final String MD_WB_CLOUDY = \"md_wb_cloudy\";\n    public static final String MD_WB_INCANDESCENT = \"md_wb_incandescent\";\n    public static final String MD_WB_IRIDESCENT = \"md_wb_iridescent\";\n    public static final String MD_WB_SUNNY = \"md_wb_sunny\";\n    public static final String MD_WC = \"md_wc\";\n    public static final String MD_WEB = \"md_web\";\n    public static final String MD_WEB_ASSET = \"md_web_asset\";\n    public static final String MD_WEEKEND = \"md_weekend\";\n    public static final String MD_WHATSHOT = \"md_whatshot\";\n    public static final String MD_WIDGETS = \"md_widgets\";\n    public static final String MD_WIFI = \"md_wifi\";\n    public static final String MD_WIFI_LOCK = \"md_wifi_lock\";\n    public static final String MD_WIFI_TETHERING = \"md_wifi_tethering\";\n    public static final String MD_WORK = \"md_work\";\n    public static final String MD_WRAP_TEXT = \"md_wrap_text\";\n    public static final String MD_YOUTUBE_SEARCHED_FOR = \"md_youtube_searched_for\";\n    public static final String MD_ZOOM_IN = \"md_zoom_in\";\n    public static final String MD_ZOOM_OUT = \"md_zoom_out\";\n    public static final String MD_ZOOM_OUT_MAP = \"md_zoom_out_map\";\n\n    static {\n        ICON_MAP.put(MD_3D_ROTATION, \"\\ue84d\");\n        ICON_MAP.put(MD_AC_UNIT, \"\\ueb3b\");\n        ICON_MAP.put(MD_ACCESS_ALARM, \"\\ue190\");\n        ICON_MAP.put(MD_ACCESS_ALARMS, \"\\ue191\");\n        ICON_MAP.put(MD_ACCESS_TIME, \"\\ue192\");\n        ICON_MAP.put(MD_ACCESSIBILITY, \"\\ue84e\");\n        ICON_MAP.put(MD_ACCESSIBLE, \"\\ue914\");\n        ICON_MAP.put(MD_ACCOUNT_BALANCE, \"\\ue84f\");\n        ICON_MAP.put(MD_ACCOUNT_BALANCE_WALLET, \"\\ue850\");\n        ICON_MAP.put(MD_ACCOUNT_BOX, \"\\ue851\");\n        ICON_MAP.put(MD_ACCOUNT_CIRCLE, \"\\ue853\");\n        ICON_MAP.put(MD_ADB, \"\\ue60e\");\n        ICON_MAP.put(MD_ADD, \"\\ue145\");\n        ICON_MAP.put(MD_ADD_A_PHOTO, \"\\ue439\");\n        ICON_MAP.put(MD_ADD_ALARM, \"\\ue193\");\n        ICON_MAP.put(MD_ADD_ALERT, \"\\ue003\");\n        ICON_MAP.put(MD_ADD_BOX, \"\\ue146\");\n        ICON_MAP.put(MD_ADD_CIRCLE, \"\\ue147\");\n        ICON_MAP.put(MD_ADD_CIRCLE_OUTLINE, \"\\ue148\");\n        ICON_MAP.put(MD_ADD_LOCATION, \"\\ue567\");\n        ICON_MAP.put(MD_ADD_SHOPPING_CART, \"\\ue854\");\n        ICON_MAP.put(MD_ADD_TO_PHOTOS, \"\\ue39d\");\n        ICON_MAP.put(MD_ADD_TO_QUEUE, \"\\ue05c\");\n        ICON_MAP.put(MD_ADJUST, \"\\ue39e\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_FLAT, \"\\ue630\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_FLAT_ANGLED, \"\\ue631\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_INDIVIDUAL_SUITE, \"\\ue632\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_EXTRA, \"\\ue633\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_NORMAL, \"\\ue634\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_REDUCED, \"\\ue635\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_RECLINE_EXTRA, \"\\ue636\");\n        ICON_MAP.put(MD_AIRLINE_SEAT_RECLINE_NORMAL, \"\\ue637\");\n        ICON_MAP.put(MD_AIRPLANEMODE_ACTIVE, \"\\ue195\");\n        ICON_MAP.put(MD_AIRPLANEMODE_INACTIVE, \"\\ue194\");\n        ICON_MAP.put(MD_AIRPLAY, \"\\ue055\");\n        ICON_MAP.put(MD_AIRPORT_SHUTTLE, \"\\ueb3c\");\n        ICON_MAP.put(MD_ALARM, \"\\ue855\");\n        ICON_MAP.put(MD_ALARM_ADD, \"\\ue856\");\n        ICON_MAP.put(MD_ALARM_OFF, \"\\ue857\");\n        ICON_MAP.put(MD_ALARM_ON, \"\\ue858\");\n        ICON_MAP.put(MD_ALBUM, \"\\ue019\");\n        ICON_MAP.put(MD_ALL_INCLUSIVE, \"\\ueb3d\");\n        ICON_MAP.put(MD_ALL_OUT, \"\\ue90b\");\n        ICON_MAP.put(MD_ANDROID, \"\\ue859\");\n        ICON_MAP.put(MD_ANNOUNCEMENT, \"\\ue85a\");\n        ICON_MAP.put(MD_APPS, \"\\ue5c3\");\n        ICON_MAP.put(MD_ARCHIVE, \"\\ue149\");\n        ICON_MAP.put(MD_ARROW_BACK, \"\\ue5c4\");\n        ICON_MAP.put(MD_ARROW_DOWNWARD, \"\\ue5db\");\n        ICON_MAP.put(MD_ARROW_DROP_DOWN, \"\\ue5c5\");\n        ICON_MAP.put(MD_ARROW_DROP_DOWN_CIRCLE, \"\\ue5c6\");\n        ICON_MAP.put(MD_ARROW_DROP_UP, \"\\ue5c7\");\n        ICON_MAP.put(MD_ARROW_FORWARD, \"\\ue5c8\");\n        ICON_MAP.put(MD_ARROW_UPWARD, \"\\ue5d8\");\n        ICON_MAP.put(MD_ART_TRACK, \"\\ue060\");\n        ICON_MAP.put(MD_ASPECT_RATIO, \"\\ue85b\");\n        ICON_MAP.put(MD_ASSESSMENT, \"\\ue85c\");\n        ICON_MAP.put(MD_ASSIGNMENT, \"\\ue85d\");\n        ICON_MAP.put(MD_ASSIGNMENT_IND, \"\\ue85e\");\n        ICON_MAP.put(MD_ASSIGNMENT_LATE, \"\\ue85f\");\n        ICON_MAP.put(MD_ASSIGNMENT_RETURN, \"\\ue860\");\n        ICON_MAP.put(MD_ASSIGNMENT_RETURNED, \"\\ue861\");\n        ICON_MAP.put(MD_ASSIGNMENT_TURNED_IN, \"\\ue862\");\n        ICON_MAP.put(MD_ASSISTANT, \"\\ue39f\");\n        ICON_MAP.put(MD_ASSISTANT_PHOTO, \"\\ue3a0\");\n        ICON_MAP.put(MD_ATTACH_FILE, \"\\ue226\");\n        ICON_MAP.put(MD_ATTACH_MONEY, \"\\ue227\");\n        ICON_MAP.put(MD_ATTACHMENT, \"\\ue2bc\");\n        ICON_MAP.put(MD_AUDIOTRACK, \"\\ue3a1\");\n        ICON_MAP.put(MD_AUTORENEW, \"\\ue863\");\n        ICON_MAP.put(MD_AV_TIMER, \"\\ue01b\");\n        ICON_MAP.put(MD_BACKSPACE, \"\\ue14a\");\n        ICON_MAP.put(MD_BACKUP, \"\\ue864\");\n        ICON_MAP.put(MD_BATTERY_ALERT, \"\\ue19c\");\n        ICON_MAP.put(MD_BATTERY_CHARGING_FULL, \"\\ue1a3\");\n        ICON_MAP.put(MD_BATTERY_FULL, \"\\ue1a4\");\n        ICON_MAP.put(MD_BATTERY_STD, \"\\ue1a5\");\n        ICON_MAP.put(MD_BATTERY_UNKNOWN, \"\\ue1a6\");\n        ICON_MAP.put(MD_BEACH_ACCESS, \"\\ueb3e\");\n        ICON_MAP.put(MD_BEENHERE, \"\\ue52d\");\n        ICON_MAP.put(MD_BLOCK, \"\\ue14b\");\n        ICON_MAP.put(MD_BLUETOOTH, \"\\ue1a7\");\n        ICON_MAP.put(MD_BLUETOOTH_AUDIO, \"\\ue60f\");\n        ICON_MAP.put(MD_BLUETOOTH_CONNECTED, \"\\ue1a8\");\n        ICON_MAP.put(MD_BLUETOOTH_DISABLED, \"\\ue1a9\");\n        ICON_MAP.put(MD_BLUETOOTH_SEARCHING, \"\\ue1aa\");\n        ICON_MAP.put(MD_BLUR_CIRCULAR, \"\\ue3a2\");\n        ICON_MAP.put(MD_BLUR_LINEAR, \"\\ue3a3\");\n        ICON_MAP.put(MD_BLUR_OFF, \"\\ue3a4\");\n        ICON_MAP.put(MD_BLUR_ON, \"\\ue3a5\");\n        ICON_MAP.put(MD_BOOK, \"\\ue865\");\n        ICON_MAP.put(MD_BOOKMARK, \"\\ue866\");\n        ICON_MAP.put(MD_BOOKMARK_BORDER, \"\\ue867\");\n        ICON_MAP.put(MD_BORDER_ALL, \"\\ue228\");\n        ICON_MAP.put(MD_BORDER_BOTTOM, \"\\ue229\");\n        ICON_MAP.put(MD_BORDER_CLEAR, \"\\ue22a\");\n        ICON_MAP.put(MD_BORDER_COLOR, \"\\ue22b\");\n        ICON_MAP.put(MD_BORDER_HORIZONTAL, \"\\ue22c\");\n        ICON_MAP.put(MD_BORDER_INNER, \"\\ue22d\");\n        ICON_MAP.put(MD_BORDER_LEFT, \"\\ue22e\");\n        ICON_MAP.put(MD_BORDER_OUTER, \"\\ue22f\");\n        ICON_MAP.put(MD_BORDER_RIGHT, \"\\ue230\");\n        ICON_MAP.put(MD_BORDER_STYLE, \"\\ue231\");\n        ICON_MAP.put(MD_BORDER_TOP, \"\\ue232\");\n        ICON_MAP.put(MD_BORDER_VERTICAL, \"\\ue233\");\n        ICON_MAP.put(MD_BRANDING_WATERMARK, \"\\ue06b\");\n        ICON_MAP.put(MD_BRIGHTNESS_1, \"\\ue3a6\");\n        ICON_MAP.put(MD_BRIGHTNESS_2, \"\\ue3a7\");\n        ICON_MAP.put(MD_BRIGHTNESS_3, \"\\ue3a8\");\n        ICON_MAP.put(MD_BRIGHTNESS_4, \"\\ue3a9\");\n        ICON_MAP.put(MD_BRIGHTNESS_5, \"\\ue3aa\");\n        ICON_MAP.put(MD_BRIGHTNESS_6, \"\\ue3ab\");\n        ICON_MAP.put(MD_BRIGHTNESS_7, \"\\ue3ac\");\n        ICON_MAP.put(MD_BRIGHTNESS_AUTO, \"\\ue1ab\");\n        ICON_MAP.put(MD_BRIGHTNESS_HIGH, \"\\ue1ac\");\n        ICON_MAP.put(MD_BRIGHTNESS_LOW, \"\\ue1ad\");\n        ICON_MAP.put(MD_BRIGHTNESS_MEDIUM, \"\\ue1ae\");\n        ICON_MAP.put(MD_BROKEN_IMAGE, \"\\ue3ad\");\n        ICON_MAP.put(MD_BRUSH, \"\\ue3ae\");\n        ICON_MAP.put(MD_BUBBLE_CHART, \"\\ue6dd\");\n        ICON_MAP.put(MD_BUG_REPORT, \"\\ue868\");\n        ICON_MAP.put(MD_BUILD, \"\\ue869\");\n        ICON_MAP.put(MD_BURST_MODE, \"\\ue43c\");\n        ICON_MAP.put(MD_BUSINESS, \"\\ue0af\");\n        ICON_MAP.put(MD_BUSINESS_CENTER, \"\\ueb3f\");\n        ICON_MAP.put(MD_CACHED, \"\\ue86a\");\n        ICON_MAP.put(MD_CAKE, \"\\ue7e9\");\n        ICON_MAP.put(MD_CALL, \"\\ue0b0\");\n        ICON_MAP.put(MD_CALL_END, \"\\ue0b1\");\n        ICON_MAP.put(MD_CALL_MADE, \"\\ue0b2\");\n        ICON_MAP.put(MD_CALL_MERGE, \"\\ue0b3\");\n        ICON_MAP.put(MD_CALL_MISSED, \"\\ue0b4\");\n        ICON_MAP.put(MD_CALL_MISSED_OUTGOING, \"\\ue0e4\");\n        ICON_MAP.put(MD_CALL_RECEIVED, \"\\ue0b5\");\n        ICON_MAP.put(MD_CALL_SPLIT, \"\\ue0b6\");\n        ICON_MAP.put(MD_CALL_TO_ACTION, \"\\ue06c\");\n        ICON_MAP.put(MD_CAMERA, \"\\ue3af\");\n        ICON_MAP.put(MD_CAMERA_ALT, \"\\ue3b0\");\n        ICON_MAP.put(MD_CAMERA_ENHANCE, \"\\ue8fc\");\n        ICON_MAP.put(MD_CAMERA_FRONT, \"\\ue3b1\");\n        ICON_MAP.put(MD_CAMERA_REAR, \"\\ue3b2\");\n        ICON_MAP.put(MD_CAMERA_ROLL, \"\\ue3b3\");\n        ICON_MAP.put(MD_CANCEL, \"\\ue5c9\");\n        ICON_MAP.put(MD_CARD_GIFTCARD, \"\\ue8f6\");\n        ICON_MAP.put(MD_CARD_MEMBERSHIP, \"\\ue8f7\");\n        ICON_MAP.put(MD_CARD_TRAVEL, \"\\ue8f8\");\n        ICON_MAP.put(MD_CASINO, \"\\ueb40\");\n        ICON_MAP.put(MD_CAST, \"\\ue307\");\n        ICON_MAP.put(MD_CAST_CONNECTED, \"\\ue308\");\n        ICON_MAP.put(MD_CENTER_FOCUS_STRONG, \"\\ue3b4\");\n        ICON_MAP.put(MD_CENTER_FOCUS_WEAK, \"\\ue3b5\");\n        ICON_MAP.put(MD_CHANGE_HISTORY, \"\\ue86b\");\n        ICON_MAP.put(MD_CHAT, \"\\ue0b7\");\n        ICON_MAP.put(MD_CHAT_BUBBLE, \"\\ue0ca\");\n        ICON_MAP.put(MD_CHAT_BUBBLE_OUTLINE, \"\\ue0cb\");\n        ICON_MAP.put(MD_CHECK, \"\\ue5ca\");\n        ICON_MAP.put(MD_CHECK_BOX, \"\\ue834\");\n        ICON_MAP.put(MD_CHECK_BOX_OUTLINE_BLANK, \"\\ue835\");\n        ICON_MAP.put(MD_CHECK_CIRCLE, \"\\ue86c\");\n        ICON_MAP.put(MD_CHEVRON_LEFT, \"\\ue5cb\");\n        ICON_MAP.put(MD_CHEVRON_RIGHT, \"\\ue5cc\");\n        ICON_MAP.put(MD_CHILD_CARE, \"\\ueb41\");\n        ICON_MAP.put(MD_CHILD_FRIENDLY, \"\\ueb42\");\n        ICON_MAP.put(MD_CHROME_READER_MODE, \"\\ue86d\");\n        ICON_MAP.put(MD_CLASS, \"\\ue86e\");\n        ICON_MAP.put(MD_CLEAR, \"\\ue14c\");\n        ICON_MAP.put(MD_CLEAR_ALL, \"\\ue0b8\");\n        ICON_MAP.put(MD_CLOSE, \"\\ue5cd\");\n        ICON_MAP.put(MD_CLOSED_CAPTION, \"\\ue01c\");\n        ICON_MAP.put(MD_CLOUD, \"\\ue2bd\");\n        ICON_MAP.put(MD_CLOUD_CIRCLE, \"\\ue2be\");\n        ICON_MAP.put(MD_CLOUD_DONE, \"\\ue2bf\");\n        ICON_MAP.put(MD_CLOUD_DOWNLOAD, \"\\ue2c0\");\n        ICON_MAP.put(MD_CLOUD_OFF, \"\\ue2c1\");\n        ICON_MAP.put(MD_CLOUD_QUEUE, \"\\ue2c2\");\n        ICON_MAP.put(MD_CLOUD_UPLOAD, \"\\ue2c3\");\n        ICON_MAP.put(MD_CODE, \"\\ue86f\");\n        ICON_MAP.put(MD_COLLECTIONS, \"\\ue3b6\");\n        ICON_MAP.put(MD_COLLECTIONS_BOOKMARK, \"\\ue431\");\n        ICON_MAP.put(MD_COLOR_LENS, \"\\ue3b7\");\n        ICON_MAP.put(MD_COLORIZE, \"\\ue3b8\");\n        ICON_MAP.put(MD_COMMENT, \"\\ue0b9\");\n        ICON_MAP.put(MD_COMPARE, \"\\ue3b9\");\n        ICON_MAP.put(MD_COMPARE_ARROWS, \"\\ue915\");\n        ICON_MAP.put(MD_COMPUTER, \"\\ue30a\");\n        ICON_MAP.put(MD_CONFIRMATION_NUMBER, \"\\ue638\");\n        ICON_MAP.put(MD_CONTACT_MAIL, \"\\ue0d0\");\n        ICON_MAP.put(MD_CONTACT_PHONE, \"\\ue0cf\");\n        ICON_MAP.put(MD_CONTACTS, \"\\ue0ba\");\n        ICON_MAP.put(MD_CONTENT_COPY, \"\\ue14d\");\n        ICON_MAP.put(MD_CONTENT_CUT, \"\\ue14e\");\n        ICON_MAP.put(MD_CONTENT_PASTE, \"\\ue14f\");\n        ICON_MAP.put(MD_CONTROL_POINT, \"\\ue3ba\");\n        ICON_MAP.put(MD_CONTROL_POINT_DUPLICATE, \"\\ue3bb\");\n        ICON_MAP.put(MD_COPYRIGHT, \"\\ue90c\");\n        ICON_MAP.put(MD_CREATE, \"\\ue150\");\n        ICON_MAP.put(MD_CREATE_NEW_FOLDER, \"\\ue2cc\");\n        ICON_MAP.put(MD_CREDIT_CARD, \"\\ue870\");\n        ICON_MAP.put(MD_CROP, \"\\ue3be\");\n        ICON_MAP.put(MD_CROP_16_9, \"\\ue3bc\");\n        ICON_MAP.put(MD_CROP_3_2, \"\\ue3bd\");\n        ICON_MAP.put(MD_CROP_5_4, \"\\ue3bf\");\n        ICON_MAP.put(MD_CROP_7_5, \"\\ue3c0\");\n        ICON_MAP.put(MD_CROP_DIN, \"\\ue3c1\");\n        ICON_MAP.put(MD_CROP_FREE, \"\\ue3c2\");\n        ICON_MAP.put(MD_CROP_LANDSCAPE, \"\\ue3c3\");\n        ICON_MAP.put(MD_CROP_ORIGINAL, \"\\ue3c4\");\n        ICON_MAP.put(MD_CROP_PORTRAIT, \"\\ue3c5\");\n        ICON_MAP.put(MD_CROP_ROTATE, \"\\ue437\");\n        ICON_MAP.put(MD_CROP_SQUARE, \"\\ue3c6\");\n        ICON_MAP.put(MD_DASHBOARD, \"\\ue871\");\n        ICON_MAP.put(MD_DATA_USAGE, \"\\ue1af\");\n        ICON_MAP.put(MD_DATE_RANGE, \"\\ue916\");\n        ICON_MAP.put(MD_DEHAZE, \"\\ue3c7\");\n        ICON_MAP.put(MD_DELETE, \"\\ue872\");\n        ICON_MAP.put(MD_DELETE_FOREVER, \"\\ue92b\");\n        ICON_MAP.put(MD_DELETE_SWEEP, \"\\ue16c\");\n        ICON_MAP.put(MD_DESCRIPTION, \"\\ue873\");\n        ICON_MAP.put(MD_DESKTOP_MAC, \"\\ue30b\");\n        ICON_MAP.put(MD_DESKTOP_WINDOWS, \"\\ue30c\");\n        ICON_MAP.put(MD_DETAILS, \"\\ue3c8\");\n        ICON_MAP.put(MD_DEVELOPER_BOARD, \"\\ue30d\");\n        ICON_MAP.put(MD_DEVELOPER_MODE, \"\\ue1b0\");\n        ICON_MAP.put(MD_DEVICE_HUB, \"\\ue335\");\n        ICON_MAP.put(MD_DEVICES, \"\\ue1b1\");\n        ICON_MAP.put(MD_DEVICES_OTHER, \"\\ue337\");\n        ICON_MAP.put(MD_DIALER_SIP, \"\\ue0bb\");\n        ICON_MAP.put(MD_DIALPAD, \"\\ue0bc\");\n        ICON_MAP.put(MD_DIRECTIONS, \"\\ue52e\");\n        ICON_MAP.put(MD_DIRECTIONS_BIKE, \"\\ue52f\");\n        ICON_MAP.put(MD_DIRECTIONS_BOAT, \"\\ue532\");\n        ICON_MAP.put(MD_DIRECTIONS_BUS, \"\\ue530\");\n        ICON_MAP.put(MD_DIRECTIONS_CAR, \"\\ue531\");\n        ICON_MAP.put(MD_DIRECTIONS_RAILWAY, \"\\ue534\");\n        ICON_MAP.put(MD_DIRECTIONS_RUN, \"\\ue566\");\n        ICON_MAP.put(MD_DIRECTIONS_SUBWAY, \"\\ue533\");\n        ICON_MAP.put(MD_DIRECTIONS_TRANSIT, \"\\ue535\");\n        ICON_MAP.put(MD_DIRECTIONS_WALK, \"\\ue536\");\n        ICON_MAP.put(MD_DISC_FULL, \"\\ue610\");\n        ICON_MAP.put(MD_DNS, \"\\ue875\");\n        ICON_MAP.put(MD_DO_NOT_DISTURB, \"\\ue612\");\n        ICON_MAP.put(MD_DO_NOT_DISTURB_ALT, \"\\ue611\");\n        ICON_MAP.put(MD_DO_NOT_DISTURB_OFF, \"\\ue643\");\n        ICON_MAP.put(MD_DO_NOT_DISTURB_ON, \"\\ue644\");\n        ICON_MAP.put(MD_DOCK, \"\\ue30e\");\n        ICON_MAP.put(MD_DOMAIN, \"\\ue7ee\");\n        ICON_MAP.put(MD_DONE, \"\\ue876\");\n        ICON_MAP.put(MD_DONE_ALL, \"\\ue877\");\n        ICON_MAP.put(MD_DONUT_LARGE, \"\\ue917\");\n        ICON_MAP.put(MD_DONUT_SMALL, \"\\ue918\");\n        ICON_MAP.put(MD_DRAFTS, \"\\ue151\");\n        ICON_MAP.put(MD_DRAG_HANDLE, \"\\ue25d\");\n        ICON_MAP.put(MD_DRIVE_ETA, \"\\ue613\");\n        ICON_MAP.put(MD_DVR, \"\\ue1b2\");\n        ICON_MAP.put(MD_EDIT, \"\\ue3c9\");\n        ICON_MAP.put(MD_EDIT_LOCATION, \"\\ue568\");\n        ICON_MAP.put(MD_EJECT, \"\\ue8fb\");\n        ICON_MAP.put(MD_EMAIL, \"\\ue0be\");\n        ICON_MAP.put(MD_ENHANCED_ENCRYPTION, \"\\ue63f\");\n        ICON_MAP.put(MD_EQUALIZER, \"\\ue01d\");\n        ICON_MAP.put(MD_ERROR, \"\\ue000\");\n        ICON_MAP.put(MD_ERROR_OUTLINE, \"\\ue001\");\n        ICON_MAP.put(MD_EURO_SYMBOL, \"\\ue926\");\n        ICON_MAP.put(MD_EV_STATION, \"\\ue56d\");\n        ICON_MAP.put(MD_EVENT, \"\\ue878\");\n        ICON_MAP.put(MD_EVENT_AVAILABLE, \"\\ue614\");\n        ICON_MAP.put(MD_EVENT_BUSY, \"\\ue615\");\n        ICON_MAP.put(MD_EVENT_NOTE, \"\\ue616\");\n        ICON_MAP.put(MD_EVENT_SEAT, \"\\ue903\");\n        ICON_MAP.put(MD_EXIT_TO_APP, \"\\ue879\");\n        ICON_MAP.put(MD_EXPAND_LESS, \"\\ue5ce\");\n        ICON_MAP.put(MD_EXPAND_MORE, \"\\ue5cf\");\n        ICON_MAP.put(MD_EXPLICIT, \"\\ue01e\");\n        ICON_MAP.put(MD_EXPLORE, \"\\ue87a\");\n        ICON_MAP.put(MD_EXPOSURE, \"\\ue3ca\");\n        ICON_MAP.put(MD_EXPOSURE_NEG_1, \"\\ue3cb\");\n        ICON_MAP.put(MD_EXPOSURE_NEG_2, \"\\ue3cc\");\n        ICON_MAP.put(MD_EXPOSURE_PLUS_1, \"\\ue3cd\");\n        ICON_MAP.put(MD_EXPOSURE_PLUS_2, \"\\ue3ce\");\n        ICON_MAP.put(MD_EXPOSURE_ZERO, \"\\ue3cf\");\n        ICON_MAP.put(MD_EXTENSION, \"\\ue87b\");\n        ICON_MAP.put(MD_FACE, \"\\ue87c\");\n        ICON_MAP.put(MD_FAST_FORWARD, \"\\ue01f\");\n        ICON_MAP.put(MD_FAST_REWIND, \"\\ue020\");\n        ICON_MAP.put(MD_FAVORITE, \"\\ue87d\");\n        ICON_MAP.put(MD_FAVORITE_BORDER, \"\\ue87e\");\n        ICON_MAP.put(MD_FEATURED_PLAY_LIST, \"\\ue06d\");\n        ICON_MAP.put(MD_FEATURED_VIDEO, \"\\ue06e\");\n        ICON_MAP.put(MD_FEEDBACK, \"\\ue87f\");\n        ICON_MAP.put(MD_FIBER_DVR, \"\\ue05d\");\n        ICON_MAP.put(MD_FIBER_MANUAL_RECORD, \"\\ue061\");\n        ICON_MAP.put(MD_FIBER_NEW, \"\\ue05e\");\n        ICON_MAP.put(MD_FIBER_PIN, \"\\ue06a\");\n        ICON_MAP.put(MD_FIBER_SMART_RECORD, \"\\ue062\");\n        ICON_MAP.put(MD_FILE_DOWNLOAD, \"\\ue2c4\");\n        ICON_MAP.put(MD_FILE_UPLOAD, \"\\ue2c6\");\n        ICON_MAP.put(MD_FILTER, \"\\ue3d3\");\n        ICON_MAP.put(MD_FILTER_1, \"\\ue3d0\");\n        ICON_MAP.put(MD_FILTER_2, \"\\ue3d1\");\n        ICON_MAP.put(MD_FILTER_3, \"\\ue3d2\");\n        ICON_MAP.put(MD_FILTER_4, \"\\ue3d4\");\n        ICON_MAP.put(MD_FILTER_5, \"\\ue3d5\");\n        ICON_MAP.put(MD_FILTER_6, \"\\ue3d6\");\n        ICON_MAP.put(MD_FILTER_7, \"\\ue3d7\");\n        ICON_MAP.put(MD_FILTER_8, \"\\ue3d8\");\n        ICON_MAP.put(MD_FILTER_9, \"\\ue3d9\");\n        ICON_MAP.put(MD_FILTER_9_PLUS, \"\\ue3da\");\n        ICON_MAP.put(MD_FILTER_B_AND_W, \"\\ue3db\");\n        ICON_MAP.put(MD_FILTER_CENTER_FOCUS, \"\\ue3dc\");\n        ICON_MAP.put(MD_FILTER_DRAMA, \"\\ue3dd\");\n        ICON_MAP.put(MD_FILTER_FRAMES, \"\\ue3de\");\n        ICON_MAP.put(MD_FILTER_HDR, \"\\ue3df\");\n        ICON_MAP.put(MD_FILTER_LIST, \"\\ue152\");\n        ICON_MAP.put(MD_FILTER_NONE, \"\\ue3e0\");\n        ICON_MAP.put(MD_FILTER_TILT_SHIFT, \"\\ue3e2\");\n        ICON_MAP.put(MD_FILTER_VINTAGE, \"\\ue3e3\");\n        ICON_MAP.put(MD_FIND_IN_PAGE, \"\\ue880\");\n        ICON_MAP.put(MD_FIND_REPLACE, \"\\ue881\");\n        ICON_MAP.put(MD_FINGERPRINT, \"\\ue90d\");\n        ICON_MAP.put(MD_FIRST_PAGE, \"\\ue5dc\");\n        ICON_MAP.put(MD_FITNESS_CENTER, \"\\ueb43\");\n        ICON_MAP.put(MD_FLAG, \"\\ue153\");\n        ICON_MAP.put(MD_FLARE, \"\\ue3e4\");\n        ICON_MAP.put(MD_FLASH_AUTO, \"\\ue3e5\");\n        ICON_MAP.put(MD_FLASH_OFF, \"\\ue3e6\");\n        ICON_MAP.put(MD_FLASH_ON, \"\\ue3e7\");\n        ICON_MAP.put(MD_FLIGHT, \"\\ue539\");\n        ICON_MAP.put(MD_FLIGHT_LAND, \"\\ue904\");\n        ICON_MAP.put(MD_FLIGHT_TAKEOFF, \"\\ue905\");\n        ICON_MAP.put(MD_FLIP, \"\\ue3e8\");\n        ICON_MAP.put(MD_FLIP_TO_BACK, \"\\ue882\");\n        ICON_MAP.put(MD_FLIP_TO_FRONT, \"\\ue883\");\n        ICON_MAP.put(MD_FOLDER, \"\\ue2c7\");\n        ICON_MAP.put(MD_FOLDER_OPEN, \"\\ue2c8\");\n        ICON_MAP.put(MD_FOLDER_SHARED, \"\\ue2c9\");\n        ICON_MAP.put(MD_FOLDER_SPECIAL, \"\\ue617\");\n        ICON_MAP.put(MD_FONT_DOWNLOAD, \"\\ue167\");\n        ICON_MAP.put(MD_FORMAT_ALIGN_CENTER, \"\\ue234\");\n        ICON_MAP.put(MD_FORMAT_ALIGN_JUSTIFY, \"\\ue235\");\n        ICON_MAP.put(MD_FORMAT_ALIGN_LEFT, \"\\ue236\");\n        ICON_MAP.put(MD_FORMAT_ALIGN_RIGHT, \"\\ue237\");\n        ICON_MAP.put(MD_FORMAT_BOLD, \"\\ue238\");\n        ICON_MAP.put(MD_FORMAT_CLEAR, \"\\ue239\");\n        ICON_MAP.put(MD_FORMAT_COLOR_FILL, \"\\ue23a\");\n        ICON_MAP.put(MD_FORMAT_COLOR_RESET, \"\\ue23b\");\n        ICON_MAP.put(MD_FORMAT_COLOR_TEXT, \"\\ue23c\");\n        ICON_MAP.put(MD_FORMAT_INDENT_DECREASE, \"\\ue23d\");\n        ICON_MAP.put(MD_FORMAT_INDENT_INCREASE, \"\\ue23e\");\n        ICON_MAP.put(MD_FORMAT_ITALIC, \"\\ue23f\");\n        ICON_MAP.put(MD_FORMAT_LINE_SPACING, \"\\ue240\");\n        ICON_MAP.put(MD_FORMAT_LIST_BULLETED, \"\\ue241\");\n        ICON_MAP.put(MD_FORMAT_LIST_NUMBERED, \"\\ue242\");\n        ICON_MAP.put(MD_FORMAT_PAINT, \"\\ue243\");\n        ICON_MAP.put(MD_FORMAT_QUOTE, \"\\ue244\");\n        ICON_MAP.put(MD_FORMAT_SHAPES, \"\\ue25e\");\n        ICON_MAP.put(MD_FORMAT_SIZE, \"\\ue245\");\n        ICON_MAP.put(MD_FORMAT_STRIKETHROUGH, \"\\ue246\");\n        ICON_MAP.put(MD_FORMAT_TEXTDIRECTION_L_TO_R, \"\\ue247\");\n        ICON_MAP.put(MD_FORMAT_TEXTDIRECTION_R_TO_L, \"\\ue248\");\n        ICON_MAP.put(MD_FORMAT_UNDERLINED, \"\\ue249\");\n        ICON_MAP.put(MD_FORUM, \"\\ue0bf\");\n        ICON_MAP.put(MD_FORWARD, \"\\ue154\");\n        ICON_MAP.put(MD_FORWARD_10, \"\\ue056\");\n        ICON_MAP.put(MD_FORWARD_30, \"\\ue057\");\n        ICON_MAP.put(MD_FORWARD_5, \"\\ue058\");\n        ICON_MAP.put(MD_FREE_BREAKFAST, \"\\ueb44\");\n        ICON_MAP.put(MD_FULLSCREEN, \"\\ue5d0\");\n        ICON_MAP.put(MD_FULLSCREEN_EXIT, \"\\ue5d1\");\n        ICON_MAP.put(MD_FUNCTIONS, \"\\ue24a\");\n        ICON_MAP.put(MD_G_TRANSLATE, \"\\ue927\");\n        ICON_MAP.put(MD_GAMEPAD, \"\\ue30f\");\n        ICON_MAP.put(MD_GAMES, \"\\ue021\");\n        ICON_MAP.put(MD_GAVEL, \"\\ue90e\");\n        ICON_MAP.put(MD_GESTURE, \"\\ue155\");\n        ICON_MAP.put(MD_GET_APP, \"\\ue884\");\n        ICON_MAP.put(MD_GIF, \"\\ue908\");\n        ICON_MAP.put(MD_GOLF_COURSE, \"\\ueb45\");\n        ICON_MAP.put(MD_GPS_FIXED, \"\\ue1b3\");\n        ICON_MAP.put(MD_GPS_NOT_FIXED, \"\\ue1b4\");\n        ICON_MAP.put(MD_GPS_OFF, \"\\ue1b5\");\n        ICON_MAP.put(MD_GRADE, \"\\ue885\");\n        ICON_MAP.put(MD_GRADIENT, \"\\ue3e9\");\n        ICON_MAP.put(MD_GRAIN, \"\\ue3ea\");\n        ICON_MAP.put(MD_GRAPHIC_EQ, \"\\ue1b8\");\n        ICON_MAP.put(MD_GRID_OFF, \"\\ue3eb\");\n        ICON_MAP.put(MD_GRID_ON, \"\\ue3ec\");\n        ICON_MAP.put(MD_GROUP, \"\\ue7ef\");\n        ICON_MAP.put(MD_GROUP_ADD, \"\\ue7f0\");\n        ICON_MAP.put(MD_GROUP_WORK, \"\\ue886\");\n        ICON_MAP.put(MD_HD, \"\\ue052\");\n        ICON_MAP.put(MD_HDR_OFF, \"\\ue3ed\");\n        ICON_MAP.put(MD_HDR_ON, \"\\ue3ee\");\n        ICON_MAP.put(MD_HDR_STRONG, \"\\ue3f1\");\n        ICON_MAP.put(MD_HDR_WEAK, \"\\ue3f2\");\n        ICON_MAP.put(MD_HEADSET, \"\\ue310\");\n        ICON_MAP.put(MD_HEADSET_MIC, \"\\ue311\");\n        ICON_MAP.put(MD_HEALING, \"\\ue3f3\");\n        ICON_MAP.put(MD_HEARING, \"\\ue023\");\n        ICON_MAP.put(MD_HELP, \"\\ue887\");\n        ICON_MAP.put(MD_HELP_OUTLINE, \"\\ue8fd\");\n        ICON_MAP.put(MD_HIGH_QUALITY, \"\\ue024\");\n        ICON_MAP.put(MD_HIGHLIGHT, \"\\ue25f\");\n        ICON_MAP.put(MD_HIGHLIGHT_OFF, \"\\ue888\");\n        ICON_MAP.put(MD_HISTORY, \"\\ue889\");\n        ICON_MAP.put(MD_HOME, \"\\ue88a\");\n        ICON_MAP.put(MD_HOT_TUB, \"\\ueb46\");\n        ICON_MAP.put(MD_HOTEL, \"\\ue53a\");\n        ICON_MAP.put(MD_HOURGLASS_EMPTY, \"\\ue88b\");\n        ICON_MAP.put(MD_HOURGLASS_FULL, \"\\ue88c\");\n        ICON_MAP.put(MD_HTTP, \"\\ue902\");\n        ICON_MAP.put(MD_HTTPS, \"\\ue88d\");\n        ICON_MAP.put(MD_IMAGE, \"\\ue3f4\");\n        ICON_MAP.put(MD_IMAGE_ASPECT_RATIO, \"\\ue3f5\");\n        ICON_MAP.put(MD_IMPORT_CONTACTS, \"\\ue0e0\");\n        ICON_MAP.put(MD_IMPORT_EXPORT, \"\\ue0c3\");\n        ICON_MAP.put(MD_IMPORTANT_DEVICES, \"\\ue912\");\n        ICON_MAP.put(MD_INBOX, \"\\ue156\");\n        ICON_MAP.put(MD_INDETERMINATE_CHECK_BOX, \"\\ue909\");\n        ICON_MAP.put(MD_INFO, \"\\ue88e\");\n        ICON_MAP.put(MD_INFO_OUTLINE, \"\\ue88f\");\n        ICON_MAP.put(MD_INPUT, \"\\ue890\");\n        ICON_MAP.put(MD_INSERT_CHART, \"\\ue24b\");\n        ICON_MAP.put(MD_INSERT_COMMENT, \"\\ue24c\");\n        ICON_MAP.put(MD_INSERT_DRIVE_FILE, \"\\ue24d\");\n        ICON_MAP.put(MD_INSERT_EMOTICON, \"\\ue24e\");\n        ICON_MAP.put(MD_INSERT_INVITATION, \"\\ue24f\");\n        ICON_MAP.put(MD_INSERT_LINK, \"\\ue250\");\n        ICON_MAP.put(MD_INSERT_PHOTO, \"\\ue251\");\n        ICON_MAP.put(MD_INVERT_COLORS, \"\\ue891\");\n        ICON_MAP.put(MD_INVERT_COLORS_OFF, \"\\ue0c4\");\n        ICON_MAP.put(MD_ISO, \"\\ue3f6\");\n        ICON_MAP.put(MD_KEYBOARD, \"\\ue312\");\n        ICON_MAP.put(MD_KEYBOARD_ARROW_DOWN, \"\\ue313\");\n        ICON_MAP.put(MD_KEYBOARD_ARROW_LEFT, \"\\ue314\");\n        ICON_MAP.put(MD_KEYBOARD_ARROW_RIGHT, \"\\ue315\");\n        ICON_MAP.put(MD_KEYBOARD_ARROW_UP, \"\\ue316\");\n        ICON_MAP.put(MD_KEYBOARD_BACKSPACE, \"\\ue317\");\n        ICON_MAP.put(MD_KEYBOARD_CAPSLOCK, \"\\ue318\");\n        ICON_MAP.put(MD_KEYBOARD_HIDE, \"\\ue31a\");\n        ICON_MAP.put(MD_KEYBOARD_RETURN, \"\\ue31b\");\n        ICON_MAP.put(MD_KEYBOARD_TAB, \"\\ue31c\");\n        ICON_MAP.put(MD_KEYBOARD_VOICE, \"\\ue31d\");\n        ICON_MAP.put(MD_KITCHEN, \"\\ueb47\");\n        ICON_MAP.put(MD_LABEL, \"\\ue892\");\n        ICON_MAP.put(MD_LABEL_OUTLINE, \"\\ue893\");\n        ICON_MAP.put(MD_LANDSCAPE, \"\\ue3f7\");\n        ICON_MAP.put(MD_LANGUAGE, \"\\ue894\");\n        ICON_MAP.put(MD_LAPTOP, \"\\ue31e\");\n        ICON_MAP.put(MD_LAPTOP_CHROMEBOOK, \"\\ue31f\");\n        ICON_MAP.put(MD_LAPTOP_MAC, \"\\ue320\");\n        ICON_MAP.put(MD_LAPTOP_WINDOWS, \"\\ue321\");\n        ICON_MAP.put(MD_LAST_PAGE, \"\\ue5dd\");\n        ICON_MAP.put(MD_LAUNCH, \"\\ue895\");\n        ICON_MAP.put(MD_LAYERS, \"\\ue53b\");\n        ICON_MAP.put(MD_LAYERS_CLEAR, \"\\ue53c\");\n        ICON_MAP.put(MD_LEAK_ADD, \"\\ue3f8\");\n        ICON_MAP.put(MD_LEAK_REMOVE, \"\\ue3f9\");\n        ICON_MAP.put(MD_LENS, \"\\ue3fa\");\n        ICON_MAP.put(MD_LIBRARY_ADD, \"\\ue02e\");\n        ICON_MAP.put(MD_LIBRARY_BOOKS, \"\\ue02f\");\n        ICON_MAP.put(MD_LIBRARY_MUSIC, \"\\ue030\");\n        ICON_MAP.put(MD_LIGHTBULB_OUTLINE, \"\\ue90f\");\n        ICON_MAP.put(MD_LINE_STYLE, \"\\ue919\");\n        ICON_MAP.put(MD_LINE_WEIGHT, \"\\ue91a\");\n        ICON_MAP.put(MD_LINEAR_SCALE, \"\\ue260\");\n        ICON_MAP.put(MD_LINK, \"\\ue157\");\n        ICON_MAP.put(MD_LINKED_CAMERA, \"\\ue438\");\n        ICON_MAP.put(MD_LIST, \"\\ue896\");\n        ICON_MAP.put(MD_LIVE_HELP, \"\\ue0c6\");\n        ICON_MAP.put(MD_LIVE_TV, \"\\ue639\");\n        ICON_MAP.put(MD_LOCAL_ACTIVITY, \"\\ue53f\");\n        ICON_MAP.put(MD_LOCAL_AIRPORT, \"\\ue53d\");\n        ICON_MAP.put(MD_LOCAL_ATM, \"\\ue53e\");\n        ICON_MAP.put(MD_LOCAL_BAR, \"\\ue540\");\n        ICON_MAP.put(MD_LOCAL_CAFE, \"\\ue541\");\n        ICON_MAP.put(MD_LOCAL_CAR_WASH, \"\\ue542\");\n        ICON_MAP.put(MD_LOCAL_CONVENIENCE_STORE, \"\\ue543\");\n        ICON_MAP.put(MD_LOCAL_DINING, \"\\ue556\");\n        ICON_MAP.put(MD_LOCAL_DRINK, \"\\ue544\");\n        ICON_MAP.put(MD_LOCAL_FLORIST, \"\\ue545\");\n        ICON_MAP.put(MD_LOCAL_GAS_STATION, \"\\ue546\");\n        ICON_MAP.put(MD_LOCAL_GROCERY_STORE, \"\\ue547\");\n        ICON_MAP.put(MD_LOCAL_HOSPITAL, \"\\ue548\");\n        ICON_MAP.put(MD_LOCAL_HOTEL, \"\\ue549\");\n        ICON_MAP.put(MD_LOCAL_LAUNDRY_SERVICE, \"\\ue54a\");\n        ICON_MAP.put(MD_LOCAL_LIBRARY, \"\\ue54b\");\n        ICON_MAP.put(MD_LOCAL_MALL, \"\\ue54c\");\n        ICON_MAP.put(MD_LOCAL_MOVIES, \"\\ue54d\");\n        ICON_MAP.put(MD_LOCAL_OFFER, \"\\ue54e\");\n        ICON_MAP.put(MD_LOCAL_PARKING, \"\\ue54f\");\n        ICON_MAP.put(MD_LOCAL_PHARMACY, \"\\ue550\");\n        ICON_MAP.put(MD_LOCAL_PHONE, \"\\ue551\");\n        ICON_MAP.put(MD_LOCAL_PIZZA, \"\\ue552\");\n        ICON_MAP.put(MD_LOCAL_PLAY, \"\\ue553\");\n        ICON_MAP.put(MD_LOCAL_POST_OFFICE, \"\\ue554\");\n        ICON_MAP.put(MD_LOCAL_PRINTSHOP, \"\\ue555\");\n        ICON_MAP.put(MD_LOCAL_SEE, \"\\ue557\");\n        ICON_MAP.put(MD_LOCAL_SHIPPING, \"\\ue558\");\n        ICON_MAP.put(MD_LOCAL_TAXI, \"\\ue559\");\n        ICON_MAP.put(MD_LOCATION_CITY, \"\\ue7f1\");\n        ICON_MAP.put(MD_LOCATION_DISABLED, \"\\ue1b6\");\n        ICON_MAP.put(MD_LOCATION_OFF, \"\\ue0c7\");\n        ICON_MAP.put(MD_LOCATION_ON, \"\\ue0c8\");\n        ICON_MAP.put(MD_LOCATION_SEARCHING, \"\\ue1b7\");\n        ICON_MAP.put(MD_LOCK, \"\\ue897\");\n        ICON_MAP.put(MD_LOCK_OPEN, \"\\ue898\");\n        ICON_MAP.put(MD_LOCK_OUTLINE, \"\\ue899\");\n        ICON_MAP.put(MD_LOOKS, \"\\ue3fc\");\n        ICON_MAP.put(MD_LOOKS_3, \"\\ue3fb\");\n        ICON_MAP.put(MD_LOOKS_4, \"\\ue3fd\");\n        ICON_MAP.put(MD_LOOKS_5, \"\\ue3fe\");\n        ICON_MAP.put(MD_LOOKS_6, \"\\ue3ff\");\n        ICON_MAP.put(MD_LOOKS_ONE, \"\\ue400\");\n        ICON_MAP.put(MD_LOOKS_TWO, \"\\ue401\");\n        ICON_MAP.put(MD_LOOP, \"\\ue028\");\n        ICON_MAP.put(MD_LOUPE, \"\\ue402\");\n        ICON_MAP.put(MD_LOW_PRIORITY, \"\\ue16d\");\n        ICON_MAP.put(MD_LOYALTY, \"\\ue89a\");\n        ICON_MAP.put(MD_MAIL, \"\\ue158\");\n        ICON_MAP.put(MD_MAIL_OUTLINE, \"\\ue0e1\");\n        ICON_MAP.put(MD_MAP, \"\\ue55b\");\n        ICON_MAP.put(MD_MARKUNREAD, \"\\ue159\");\n        ICON_MAP.put(MD_MARKUNREAD_MAILBOX, \"\\ue89b\");\n        ICON_MAP.put(MD_MEMORY, \"\\ue322\");\n        ICON_MAP.put(MD_MENU, \"\\ue5d2\");\n        ICON_MAP.put(MD_MERGE_TYPE, \"\\ue252\");\n        ICON_MAP.put(MD_MESSAGE, \"\\ue0c9\");\n        ICON_MAP.put(MD_MIC, \"\\ue029\");\n        ICON_MAP.put(MD_MIC_NONE, \"\\ue02a\");\n        ICON_MAP.put(MD_MIC_OFF, \"\\ue02b\");\n        ICON_MAP.put(MD_MMS, \"\\ue618\");\n        ICON_MAP.put(MD_MODE_COMMENT, \"\\ue253\");\n        ICON_MAP.put(MD_MODE_EDIT, \"\\ue254\");\n        ICON_MAP.put(MD_MONETIZATION_ON, \"\\ue263\");\n        ICON_MAP.put(MD_MONEY_OFF, \"\\ue25c\");\n        ICON_MAP.put(MD_MONOCHROME_PHOTOS, \"\\ue403\");\n        ICON_MAP.put(MD_MOOD, \"\\ue7f2\");\n        ICON_MAP.put(MD_MOOD_BAD, \"\\ue7f3\");\n        ICON_MAP.put(MD_MORE, \"\\ue619\");\n        ICON_MAP.put(MD_MORE_HORIZ, \"\\ue5d3\");\n        ICON_MAP.put(MD_MORE_VERT, \"\\ue5d4\");\n        ICON_MAP.put(MD_MOTORCYCLE, \"\\ue91b\");\n        ICON_MAP.put(MD_MOUSE, \"\\ue323\");\n        ICON_MAP.put(MD_MOVE_TO_INBOX, \"\\ue168\");\n        ICON_MAP.put(MD_MOVIE, \"\\ue02c\");\n        ICON_MAP.put(MD_MOVIE_CREATION, \"\\ue404\");\n        ICON_MAP.put(MD_MOVIE_FILTER, \"\\ue43a\");\n        ICON_MAP.put(MD_MULTILINE_CHART, \"\\ue6df\");\n        ICON_MAP.put(MD_MUSIC_NOTE, \"\\ue405\");\n        ICON_MAP.put(MD_MUSIC_VIDEO, \"\\ue063\");\n        ICON_MAP.put(MD_MY_LOCATION, \"\\ue55c\");\n        ICON_MAP.put(MD_NATURE, \"\\ue406\");\n        ICON_MAP.put(MD_NATURE_PEOPLE, \"\\ue407\");\n        ICON_MAP.put(MD_NAVIGATE_BEFORE, \"\\ue408\");\n        ICON_MAP.put(MD_NAVIGATE_NEXT, \"\\ue409\");\n        ICON_MAP.put(MD_NAVIGATION, \"\\ue55d\");\n        ICON_MAP.put(MD_NEAR_ME, \"\\ue569\");\n        ICON_MAP.put(MD_NETWORK_CELL, \"\\ue1b9\");\n        ICON_MAP.put(MD_NETWORK_CHECK, \"\\ue640\");\n        ICON_MAP.put(MD_NETWORK_LOCKED, \"\\ue61a\");\n        ICON_MAP.put(MD_NETWORK_WIFI, \"\\ue1ba\");\n        ICON_MAP.put(MD_NEW_RELEASES, \"\\ue031\");\n        ICON_MAP.put(MD_NEXT_WEEK, \"\\ue16a\");\n        ICON_MAP.put(MD_NFC, \"\\ue1bb\");\n        ICON_MAP.put(MD_NO_ENCRYPTION, \"\\ue641\");\n        ICON_MAP.put(MD_NO_SIM, \"\\ue0cc\");\n        ICON_MAP.put(MD_NOT_INTERESTED, \"\\ue033\");\n        ICON_MAP.put(MD_NOTE, \"\\ue06f\");\n        ICON_MAP.put(MD_NOTE_ADD, \"\\ue89c\");\n        ICON_MAP.put(MD_NOTIFICATIONS, \"\\ue7f4\");\n        ICON_MAP.put(MD_NOTIFICATIONS_ACTIVE, \"\\ue7f7\");\n        ICON_MAP.put(MD_NOTIFICATIONS_NONE, \"\\ue7f5\");\n        ICON_MAP.put(MD_NOTIFICATIONS_OFF, \"\\ue7f6\");\n        ICON_MAP.put(MD_NOTIFICATIONS_PAUSED, \"\\ue7f8\");\n        ICON_MAP.put(MD_OFFLINE_PIN, \"\\ue90a\");\n        ICON_MAP.put(MD_ONDEMAND_VIDEO, \"\\ue63a\");\n        ICON_MAP.put(MD_OPACITY, \"\\ue91c\");\n        ICON_MAP.put(MD_OPEN_IN_BROWSER, \"\\ue89d\");\n        ICON_MAP.put(MD_OPEN_IN_NEW, \"\\ue89e\");\n        ICON_MAP.put(MD_OPEN_WITH, \"\\ue89f\");\n        ICON_MAP.put(MD_PAGES, \"\\ue7f9\");\n        ICON_MAP.put(MD_PAGEVIEW, \"\\ue8a0\");\n        ICON_MAP.put(MD_PALETTE, \"\\ue40a\");\n        ICON_MAP.put(MD_PAN_TOOL, \"\\ue925\");\n        ICON_MAP.put(MD_PANORAMA, \"\\ue40b\");\n        ICON_MAP.put(MD_PANORAMA_FISH_EYE, \"\\ue40c\");\n        ICON_MAP.put(MD_PANORAMA_HORIZONTAL, \"\\ue40d\");\n        ICON_MAP.put(MD_PANORAMA_VERTICAL, \"\\ue40e\");\n        ICON_MAP.put(MD_PANORAMA_WIDE_ANGLE, \"\\ue40f\");\n        ICON_MAP.put(MD_PARTY_MODE, \"\\ue7fa\");\n        ICON_MAP.put(MD_PAUSE, \"\\ue034\");\n        ICON_MAP.put(MD_PAUSE_CIRCLE_FILLED, \"\\ue035\");\n        ICON_MAP.put(MD_PAUSE_CIRCLE_OUTLINE, \"\\ue036\");\n        ICON_MAP.put(MD_PAYMENT, \"\\ue8a1\");\n        ICON_MAP.put(MD_PEOPLE, \"\\ue7fb\");\n        ICON_MAP.put(MD_PEOPLE_OUTLINE, \"\\ue7fc\");\n        ICON_MAP.put(MD_PERM_CAMERA_MIC, \"\\ue8a2\");\n        ICON_MAP.put(MD_PERM_CONTACT_CALENDAR, \"\\ue8a3\");\n        ICON_MAP.put(MD_PERM_DATA_SETTING, \"\\ue8a4\");\n        ICON_MAP.put(MD_PERM_DEVICE_INFORMATION, \"\\ue8a5\");\n        ICON_MAP.put(MD_PERM_IDENTITY, \"\\ue8a6\");\n        ICON_MAP.put(MD_PERM_MEDIA, \"\\ue8a7\");\n        ICON_MAP.put(MD_PERM_PHONE_MSG, \"\\ue8a8\");\n        ICON_MAP.put(MD_PERM_SCAN_WIFI, \"\\ue8a9\");\n        ICON_MAP.put(MD_PERSON, \"\\ue7fd\");\n        ICON_MAP.put(MD_PERSON_ADD, \"\\ue7fe\");\n        ICON_MAP.put(MD_PERSON_OUTLINE, \"\\ue7ff\");\n        ICON_MAP.put(MD_PERSON_PIN, \"\\ue55a\");\n        ICON_MAP.put(MD_PERSON_PIN_CIRCLE, \"\\ue56a\");\n        ICON_MAP.put(MD_PERSONAL_VIDEO, \"\\ue63b\");\n        ICON_MAP.put(MD_PETS, \"\\ue91d\");\n        ICON_MAP.put(MD_PHONE, \"\\ue0cd\");\n        ICON_MAP.put(MD_PHONE_ANDROID, \"\\ue324\");\n        ICON_MAP.put(MD_PHONE_BLUETOOTH_SPEAKER, \"\\ue61b\");\n        ICON_MAP.put(MD_PHONE_FORWARDED, \"\\ue61c\");\n        ICON_MAP.put(MD_PHONE_IN_TALK, \"\\ue61d\");\n        ICON_MAP.put(MD_PHONE_IPHONE, \"\\ue325\");\n        ICON_MAP.put(MD_PHONE_LOCKED, \"\\ue61e\");\n        ICON_MAP.put(MD_PHONE_MISSED, \"\\ue61f\");\n        ICON_MAP.put(MD_PHONE_PAUSED, \"\\ue620\");\n        ICON_MAP.put(MD_PHONELINK, \"\\ue326\");\n        ICON_MAP.put(MD_PHONELINK_ERASE, \"\\ue0db\");\n        ICON_MAP.put(MD_PHONELINK_LOCK, \"\\ue0dc\");\n        ICON_MAP.put(MD_PHONELINK_OFF, \"\\ue327\");\n        ICON_MAP.put(MD_PHONELINK_RING, \"\\ue0dd\");\n        ICON_MAP.put(MD_PHONELINK_SETUP, \"\\ue0de\");\n        ICON_MAP.put(MD_PHOTO, \"\\ue410\");\n        ICON_MAP.put(MD_PHOTO_ALBUM, \"\\ue411\");\n        ICON_MAP.put(MD_PHOTO_CAMERA, \"\\ue412\");\n        ICON_MAP.put(MD_PHOTO_FILTER, \"\\ue43b\");\n        ICON_MAP.put(MD_PHOTO_LIBRARY, \"\\ue413\");\n        ICON_MAP.put(MD_PHOTO_SIZE_SELECT_ACTUAL, \"\\ue432\");\n        ICON_MAP.put(MD_PHOTO_SIZE_SELECT_LARGE, \"\\ue433\");\n        ICON_MAP.put(MD_PHOTO_SIZE_SELECT_SMALL, \"\\ue434\");\n        ICON_MAP.put(MD_PICTURE_AS_PDF, \"\\ue415\");\n        ICON_MAP.put(MD_PICTURE_IN_PICTURE, \"\\ue8aa\");\n        ICON_MAP.put(MD_PICTURE_IN_PICTURE_ALT, \"\\ue911\");\n        ICON_MAP.put(MD_PIE_CHART, \"\\ue6c4\");\n        ICON_MAP.put(MD_PIE_CHART_OUTLINED, \"\\ue6c5\");\n        ICON_MAP.put(MD_PIN_DROP, \"\\ue55e\");\n        ICON_MAP.put(MD_PLACE, \"\\ue55f\");\n        ICON_MAP.put(MD_PLAY_ARROW, \"\\ue037\");\n        ICON_MAP.put(MD_PLAY_CIRCLE_FILLED, \"\\ue038\");\n        ICON_MAP.put(MD_PLAY_CIRCLE_OUTLINE, \"\\ue039\");\n        ICON_MAP.put(MD_PLAY_FOR_WORK, \"\\ue906\");\n        ICON_MAP.put(MD_PLAYLIST_ADD, \"\\ue03b\");\n        ICON_MAP.put(MD_PLAYLIST_ADD_CHECK, \"\\ue065\");\n        ICON_MAP.put(MD_PLAYLIST_PLAY, \"\\ue05f\");\n        ICON_MAP.put(MD_PLUS_ONE, \"\\ue800\");\n        ICON_MAP.put(MD_POLL, \"\\ue801\");\n        ICON_MAP.put(MD_POLYMER, \"\\ue8ab\");\n        ICON_MAP.put(MD_POOL, \"\\ueb48\");\n        ICON_MAP.put(MD_PORTABLE_WIFI_OFF, \"\\ue0ce\");\n        ICON_MAP.put(MD_PORTRAIT, \"\\ue416\");\n        ICON_MAP.put(MD_POWER, \"\\ue63c\");\n        ICON_MAP.put(MD_POWER_INPUT, \"\\ue336\");\n        ICON_MAP.put(MD_POWER_SETTINGS_NEW, \"\\ue8ac\");\n        ICON_MAP.put(MD_PREGNANT_WOMAN, \"\\ue91e\");\n        ICON_MAP.put(MD_PRESENT_TO_ALL, \"\\ue0df\");\n        ICON_MAP.put(MD_PRINT, \"\\ue8ad\");\n        ICON_MAP.put(MD_PRIORITY_HIGH, \"\\ue645\");\n        ICON_MAP.put(MD_PUBLIC, \"\\ue80b\");\n        ICON_MAP.put(MD_PUBLISH, \"\\ue255\");\n        ICON_MAP.put(MD_QUERY_BUILDER, \"\\ue8ae\");\n        ICON_MAP.put(MD_QUESTION_ANSWER, \"\\ue8af\");\n        ICON_MAP.put(MD_QUEUE, \"\\ue03c\");\n        ICON_MAP.put(MD_QUEUE_MUSIC, \"\\ue03d\");\n        ICON_MAP.put(MD_QUEUE_PLAY_NEXT, \"\\ue066\");\n        ICON_MAP.put(MD_RADIO, \"\\ue03e\");\n        ICON_MAP.put(MD_RADIO_BUTTON_CHECKED, \"\\ue837\");\n        ICON_MAP.put(MD_RADIO_BUTTON_UNCHECKED, \"\\ue836\");\n        ICON_MAP.put(MD_RATE_REVIEW, \"\\ue560\");\n        ICON_MAP.put(MD_RECEIPT, \"\\ue8b0\");\n        ICON_MAP.put(MD_RECENT_ACTORS, \"\\ue03f\");\n        ICON_MAP.put(MD_RECORD_VOICE_OVER, \"\\ue91f\");\n        ICON_MAP.put(MD_REDEEM, \"\\ue8b1\");\n        ICON_MAP.put(MD_REDO, \"\\ue15a\");\n        ICON_MAP.put(MD_REFRESH, \"\\ue5d5\");\n        ICON_MAP.put(MD_REMOVE, \"\\ue15b\");\n        ICON_MAP.put(MD_REMOVE_CIRCLE, \"\\ue15c\");\n        ICON_MAP.put(MD_REMOVE_CIRCLE_OUTLINE, \"\\ue15d\");\n        ICON_MAP.put(MD_REMOVE_FROM_QUEUE, \"\\ue067\");\n        ICON_MAP.put(MD_REMOVE_RED_EYE, \"\\ue417\");\n        ICON_MAP.put(MD_REMOVE_SHOPPING_CART, \"\\ue928\");\n        ICON_MAP.put(MD_REORDER, \"\\ue8fe\");\n        ICON_MAP.put(MD_REPEAT, \"\\ue040\");\n        ICON_MAP.put(MD_REPEAT_ONE, \"\\ue041\");\n        ICON_MAP.put(MD_REPLAY, \"\\ue042\");\n        ICON_MAP.put(MD_REPLAY_10, \"\\ue059\");\n        ICON_MAP.put(MD_REPLAY_30, \"\\ue05a\");\n        ICON_MAP.put(MD_REPLAY_5, \"\\ue05b\");\n        ICON_MAP.put(MD_REPLY, \"\\ue15e\");\n        ICON_MAP.put(MD_REPLY_ALL, \"\\ue15f\");\n        ICON_MAP.put(MD_REPORT, \"\\ue160\");\n        ICON_MAP.put(MD_REPORT_PROBLEM, \"\\ue8b2\");\n        ICON_MAP.put(MD_RESTAURANT, \"\\ue56c\");\n        ICON_MAP.put(MD_RESTAURANT_MENU, \"\\ue561\");\n        ICON_MAP.put(MD_RESTORE, \"\\ue8b3\");\n        ICON_MAP.put(MD_RESTORE_PAGE, \"\\ue929\");\n        ICON_MAP.put(MD_RING_VOLUME, \"\\ue0d1\");\n        ICON_MAP.put(MD_ROOM, \"\\ue8b4\");\n        ICON_MAP.put(MD_ROOM_SERVICE, \"\\ueb49\");\n        ICON_MAP.put(MD_ROTATE_90_DEGREES_CCW, \"\\ue418\");\n        ICON_MAP.put(MD_ROTATE_LEFT, \"\\ue419\");\n        ICON_MAP.put(MD_ROTATE_RIGHT, \"\\ue41a\");\n        ICON_MAP.put(MD_ROUNDED_CORNER, \"\\ue920\");\n        ICON_MAP.put(MD_ROUTER, \"\\ue328\");\n        ICON_MAP.put(MD_ROWING, \"\\ue921\");\n        ICON_MAP.put(MD_RSS_FEED, \"\\ue0e5\");\n        ICON_MAP.put(MD_RV_HOOKUP, \"\\ue642\");\n        ICON_MAP.put(MD_SATELLITE, \"\\ue562\");\n        ICON_MAP.put(MD_SAVE, \"\\ue161\");\n        ICON_MAP.put(MD_SCANNER, \"\\ue329\");\n        ICON_MAP.put(MD_SCHEDULE, \"\\ue8b5\");\n        ICON_MAP.put(MD_SCHOOL, \"\\ue80c\");\n        ICON_MAP.put(MD_SCREEN_LOCK_LANDSCAPE, \"\\ue1be\");\n        ICON_MAP.put(MD_SCREEN_LOCK_PORTRAIT, \"\\ue1bf\");\n        ICON_MAP.put(MD_SCREEN_LOCK_ROTATION, \"\\ue1c0\");\n        ICON_MAP.put(MD_SCREEN_ROTATION, \"\\ue1c1\");\n        ICON_MAP.put(MD_SCREEN_SHARE, \"\\ue0e2\");\n        ICON_MAP.put(MD_SD_CARD, \"\\ue623\");\n        ICON_MAP.put(MD_SD_STORAGE, \"\\ue1c2\");\n        ICON_MAP.put(MD_SEARCH, \"\\ue8b6\");\n        ICON_MAP.put(MD_SECURITY, \"\\ue32a\");\n        ICON_MAP.put(MD_SELECT_ALL, \"\\ue162\");\n        ICON_MAP.put(MD_SEND, \"\\ue163\");\n        ICON_MAP.put(MD_SENTIMENT_DISSATISFIED, \"\\ue811\");\n        ICON_MAP.put(MD_SENTIMENT_NEUTRAL, \"\\ue812\");\n        ICON_MAP.put(MD_SENTIMENT_SATISFIED, \"\\ue813\");\n        ICON_MAP.put(MD_SENTIMENT_VERY_DISSATISFIED, \"\\ue814\");\n        ICON_MAP.put(MD_SENTIMENT_VERY_SATISFIED, \"\\ue815\");\n        ICON_MAP.put(MD_SETTINGS, \"\\ue8b8\");\n        ICON_MAP.put(MD_SETTINGS_APPLICATIONS, \"\\ue8b9\");\n        ICON_MAP.put(MD_SETTINGS_BACKUP_RESTORE, \"\\ue8ba\");\n        ICON_MAP.put(MD_SETTINGS_BLUETOOTH, \"\\ue8bb\");\n        ICON_MAP.put(MD_SETTINGS_BRIGHTNESS, \"\\ue8bd\");\n        ICON_MAP.put(MD_SETTINGS_CELL, \"\\ue8bc\");\n        ICON_MAP.put(MD_SETTINGS_ETHERNET, \"\\ue8be\");\n        ICON_MAP.put(MD_SETTINGS_INPUT_ANTENNA, \"\\ue8bf\");\n        ICON_MAP.put(MD_SETTINGS_INPUT_COMPONENT, \"\\ue8c0\");\n        ICON_MAP.put(MD_SETTINGS_INPUT_COMPOSITE, \"\\ue8c1\");\n        ICON_MAP.put(MD_SETTINGS_INPUT_HDMI, \"\\ue8c2\");\n        ICON_MAP.put(MD_SETTINGS_INPUT_SVIDEO, \"\\ue8c3\");\n        ICON_MAP.put(MD_SETTINGS_OVERSCAN, \"\\ue8c4\");\n        ICON_MAP.put(MD_SETTINGS_PHONE, \"\\ue8c5\");\n        ICON_MAP.put(MD_SETTINGS_POWER, \"\\ue8c6\");\n        ICON_MAP.put(MD_SETTINGS_REMOTE, \"\\ue8c7\");\n        ICON_MAP.put(MD_SETTINGS_SYSTEM_DAYDREAM, \"\\ue1c3\");\n        ICON_MAP.put(MD_SETTINGS_VOICE, \"\\ue8c8\");\n        ICON_MAP.put(MD_SHARE, \"\\ue80d\");\n        ICON_MAP.put(MD_SHOP, \"\\ue8c9\");\n        ICON_MAP.put(MD_SHOP_TWO, \"\\ue8ca\");\n        ICON_MAP.put(MD_SHOPPING_BASKET, \"\\ue8cb\");\n        ICON_MAP.put(MD_SHOPPING_CART, \"\\ue8cc\");\n        ICON_MAP.put(MD_SHORT_TEXT, \"\\ue261\");\n        ICON_MAP.put(MD_SHOW_CHART, \"\\ue6e1\");\n        ICON_MAP.put(MD_SHUFFLE, \"\\ue043\");\n        ICON_MAP.put(MD_SIGNAL_CELLULAR_4_BAR, \"\\ue1c8\");\n        ICON_MAP.put(MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR, \"\\ue1cd\");\n        ICON_MAP.put(MD_SIGNAL_CELLULAR_NO_SIM, \"\\ue1ce\");\n        ICON_MAP.put(MD_SIGNAL_CELLULAR_NULL, \"\\ue1cf\");\n        ICON_MAP.put(MD_SIGNAL_CELLULAR_OFF, \"\\ue1d0\");\n        ICON_MAP.put(MD_SIGNAL_WIFI_4_BAR, \"\\ue1d8\");\n        ICON_MAP.put(MD_SIGNAL_WIFI_4_BAR_LOCK, \"\\ue1d9\");\n        ICON_MAP.put(MD_SIGNAL_WIFI_OFF, \"\\ue1da\");\n        ICON_MAP.put(MD_SIM_CARD, \"\\ue32b\");\n        ICON_MAP.put(MD_SIM_CARD_ALERT, \"\\ue624\");\n        ICON_MAP.put(MD_SKIP_NEXT, \"\\ue044\");\n        ICON_MAP.put(MD_SKIP_PREVIOUS, \"\\ue045\");\n        ICON_MAP.put(MD_SLIDESHOW, \"\\ue41b\");\n        ICON_MAP.put(MD_SLOW_MOTION_VIDEO, \"\\ue068\");\n        ICON_MAP.put(MD_SMARTPHONE, \"\\ue32c\");\n        ICON_MAP.put(MD_SMOKE_FREE, \"\\ueb4a\");\n        ICON_MAP.put(MD_SMOKING_ROOMS, \"\\ueb4b\");\n        ICON_MAP.put(MD_SMS, \"\\ue625\");\n        ICON_MAP.put(MD_SMS_FAILED, \"\\ue626\");\n        ICON_MAP.put(MD_SNOOZE, \"\\ue046\");\n        ICON_MAP.put(MD_SORT, \"\\ue164\");\n        ICON_MAP.put(MD_SORT_BY_ALPHA, \"\\ue053\");\n        ICON_MAP.put(MD_SPA, \"\\ueb4c\");\n        ICON_MAP.put(MD_SPACE_BAR, \"\\ue256\");\n        ICON_MAP.put(MD_SPEAKER, \"\\ue32d\");\n        ICON_MAP.put(MD_SPEAKER_GROUP, \"\\ue32e\");\n        ICON_MAP.put(MD_SPEAKER_NOTES, \"\\ue8cd\");\n        ICON_MAP.put(MD_SPEAKER_NOTES_OFF, \"\\ue92a\");\n        ICON_MAP.put(MD_SPEAKER_PHONE, \"\\ue0d2\");\n        ICON_MAP.put(MD_SPELLCHECK, \"\\ue8ce\");\n        ICON_MAP.put(MD_STAR, \"\\ue838\");\n        ICON_MAP.put(MD_STAR_BORDER, \"\\ue83a\");\n        ICON_MAP.put(MD_STAR_HALF, \"\\ue839\");\n        ICON_MAP.put(MD_STARS, \"\\ue8d0\");\n        ICON_MAP.put(MD_STAY_CURRENT_LANDSCAPE, \"\\ue0d3\");\n        ICON_MAP.put(MD_STAY_CURRENT_PORTRAIT, \"\\ue0d4\");\n        ICON_MAP.put(MD_STAY_PRIMARY_LANDSCAPE, \"\\ue0d5\");\n        ICON_MAP.put(MD_STAY_PRIMARY_PORTRAIT, \"\\ue0d6\");\n        ICON_MAP.put(MD_STOP, \"\\ue047\");\n        ICON_MAP.put(MD_STOP_SCREEN_SHARE, \"\\ue0e3\");\n        ICON_MAP.put(MD_STORAGE, \"\\ue1db\");\n        ICON_MAP.put(MD_STORE, \"\\ue8d1\");\n        ICON_MAP.put(MD_STORE_MALL_DIRECTORY, \"\\ue563\");\n        ICON_MAP.put(MD_STRAIGHTEN, \"\\ue41c\");\n        ICON_MAP.put(MD_STREETVIEW, \"\\ue56e\");\n        ICON_MAP.put(MD_STRIKETHROUGH_S, \"\\ue257\");\n        ICON_MAP.put(MD_STYLE, \"\\ue41d\");\n        ICON_MAP.put(MD_SUBDIRECTORY_ARROW_LEFT, \"\\ue5d9\");\n        ICON_MAP.put(MD_SUBDIRECTORY_ARROW_RIGHT, \"\\ue5da\");\n        ICON_MAP.put(MD_SUBJECT, \"\\ue8d2\");\n        ICON_MAP.put(MD_SUBSCRIPTIONS, \"\\ue064\");\n        ICON_MAP.put(MD_SUBTITLES, \"\\ue048\");\n        ICON_MAP.put(MD_SUBWAY, \"\\ue56f\");\n        ICON_MAP.put(MD_SUPERVISOR_ACCOUNT, \"\\ue8d3\");\n        ICON_MAP.put(MD_SURROUND_SOUND, \"\\ue049\");\n        ICON_MAP.put(MD_SWAP_CALLS, \"\\ue0d7\");\n        ICON_MAP.put(MD_SWAP_HORIZ, \"\\ue8d4\");\n        ICON_MAP.put(MD_SWAP_VERT, \"\\ue8d5\");\n        ICON_MAP.put(MD_SWAP_VERTICAL_CIRCLE, \"\\ue8d6\");\n        ICON_MAP.put(MD_SWITCH_CAMERA, \"\\ue41e\");\n        ICON_MAP.put(MD_SWITCH_VIDEO, \"\\ue41f\");\n        ICON_MAP.put(MD_SYNC, \"\\ue627\");\n        ICON_MAP.put(MD_SYNC_DISABLED, \"\\ue628\");\n        ICON_MAP.put(MD_SYNC_PROBLEM, \"\\ue629\");\n        ICON_MAP.put(MD_SYSTEM_UPDATE, \"\\ue62a\");\n        ICON_MAP.put(MD_SYSTEM_UPDATE_ALT, \"\\ue8d7\");\n        ICON_MAP.put(MD_TAB, \"\\ue8d8\");\n        ICON_MAP.put(MD_TAB_UNSELECTED, \"\\ue8d9\");\n        ICON_MAP.put(MD_TABLET, \"\\ue32f\");\n        ICON_MAP.put(MD_TABLET_ANDROID, \"\\ue330\");\n        ICON_MAP.put(MD_TABLET_MAC, \"\\ue331\");\n        ICON_MAP.put(MD_TAG_FACES, \"\\ue420\");\n        ICON_MAP.put(MD_TAP_AND_PLAY, \"\\ue62b\");\n        ICON_MAP.put(MD_TERRAIN, \"\\ue564\");\n        ICON_MAP.put(MD_TEXT_FIELDS, \"\\ue262\");\n        ICON_MAP.put(MD_TEXT_FORMAT, \"\\ue165\");\n        ICON_MAP.put(MD_TEXTSMS, \"\\ue0d8\");\n        ICON_MAP.put(MD_TEXTURE, \"\\ue421\");\n        ICON_MAP.put(MD_THEATERS, \"\\ue8da\");\n        ICON_MAP.put(MD_THUMB_DOWN, \"\\ue8db\");\n        ICON_MAP.put(MD_THUMB_UP, \"\\ue8dc\");\n        ICON_MAP.put(MD_THUMBS_UP_DOWN, \"\\ue8dd\");\n        ICON_MAP.put(MD_TIME_TO_LEAVE, \"\\ue62c\");\n        ICON_MAP.put(MD_TIMELAPSE, \"\\ue422\");\n        ICON_MAP.put(MD_TIMELINE, \"\\ue922\");\n        ICON_MAP.put(MD_TIMER, \"\\ue425\");\n        ICON_MAP.put(MD_TIMER_10, \"\\ue423\");\n        ICON_MAP.put(MD_TIMER_3, \"\\ue424\");\n        ICON_MAP.put(MD_TIMER_OFF, \"\\ue426\");\n        ICON_MAP.put(MD_TITLE, \"\\ue264\");\n        ICON_MAP.put(MD_TOC, \"\\ue8de\");\n        ICON_MAP.put(MD_TODAY, \"\\ue8df\");\n        ICON_MAP.put(MD_TOLL, \"\\ue8e0\");\n        ICON_MAP.put(MD_TONALITY, \"\\ue427\");\n        ICON_MAP.put(MD_TOUCH_APP, \"\\ue913\");\n        ICON_MAP.put(MD_TOYS, \"\\ue332\");\n        ICON_MAP.put(MD_TRACK_CHANGES, \"\\ue8e1\");\n        ICON_MAP.put(MD_TRAFFIC, \"\\ue565\");\n        ICON_MAP.put(MD_TRAIN, \"\\ue570\");\n        ICON_MAP.put(MD_TRAM, \"\\ue571\");\n        ICON_MAP.put(MD_TRANSFER_WITHIN_A_STATION, \"\\ue572\");\n        ICON_MAP.put(MD_TRANSFORM, \"\\ue428\");\n        ICON_MAP.put(MD_TRANSLATE, \"\\ue8e2\");\n        ICON_MAP.put(MD_TRENDING_DOWN, \"\\ue8e3\");\n        ICON_MAP.put(MD_TRENDING_FLAT, \"\\ue8e4\");\n        ICON_MAP.put(MD_TRENDING_UP, \"\\ue8e5\");\n        ICON_MAP.put(MD_TUNE, \"\\ue429\");\n        ICON_MAP.put(MD_TURNED_IN, \"\\ue8e6\");\n        ICON_MAP.put(MD_TURNED_IN_NOT, \"\\ue8e7\");\n        ICON_MAP.put(MD_TV, \"\\ue333\");\n        ICON_MAP.put(MD_UNARCHIVE, \"\\ue169\");\n        ICON_MAP.put(MD_UNDO, \"\\ue166\");\n        ICON_MAP.put(MD_UNFOLD_LESS, \"\\ue5d6\");\n        ICON_MAP.put(MD_UNFOLD_MORE, \"\\ue5d7\");\n        ICON_MAP.put(MD_UPDATE, \"\\ue923\");\n        ICON_MAP.put(MD_USB, \"\\ue1e0\");\n        ICON_MAP.put(MD_VERIFIED_USER, \"\\ue8e8\");\n        ICON_MAP.put(MD_VERTICAL_ALIGN_BOTTOM, \"\\ue258\");\n        ICON_MAP.put(MD_VERTICAL_ALIGN_CENTER, \"\\ue259\");\n        ICON_MAP.put(MD_VERTICAL_ALIGN_TOP, \"\\ue25a\");\n        ICON_MAP.put(MD_VIBRATION, \"\\ue62d\");\n        ICON_MAP.put(MD_VIDEO_CALL, \"\\ue070\");\n        ICON_MAP.put(MD_VIDEO_LABEL, \"\\ue071\");\n        ICON_MAP.put(MD_VIDEO_LIBRARY, \"\\ue04a\");\n        ICON_MAP.put(MD_VIDEOCAM, \"\\ue04b\");\n        ICON_MAP.put(MD_VIDEOCAM_OFF, \"\\ue04c\");\n        ICON_MAP.put(MD_VIDEOGAME_ASSET, \"\\ue338\");\n        ICON_MAP.put(MD_VIEW_AGENDA, \"\\ue8e9\");\n        ICON_MAP.put(MD_VIEW_ARRAY, \"\\ue8ea\");\n        ICON_MAP.put(MD_VIEW_CAROUSEL, \"\\ue8eb\");\n        ICON_MAP.put(MD_VIEW_COLUMN, \"\\ue8ec\");\n        ICON_MAP.put(MD_VIEW_COMFY, \"\\ue42a\");\n        ICON_MAP.put(MD_VIEW_COMPACT, \"\\ue42b\");\n        ICON_MAP.put(MD_VIEW_DAY, \"\\ue8ed\");\n        ICON_MAP.put(MD_VIEW_HEADLINE, \"\\ue8ee\");\n        ICON_MAP.put(MD_VIEW_LIST, \"\\ue8ef\");\n        ICON_MAP.put(MD_VIEW_MODULE, \"\\ue8f0\");\n        ICON_MAP.put(MD_VIEW_QUILT, \"\\ue8f1\");\n        ICON_MAP.put(MD_VIEW_STREAM, \"\\ue8f2\");\n        ICON_MAP.put(MD_VIEW_WEEK, \"\\ue8f3\");\n        ICON_MAP.put(MD_VIGNETTE, \"\\ue435\");\n        ICON_MAP.put(MD_VISIBILITY, \"\\ue8f4\");\n        ICON_MAP.put(MD_VISIBILITY_OFF, \"\\ue8f5\");\n        ICON_MAP.put(MD_VOICE_CHAT, \"\\ue62e\");\n        ICON_MAP.put(MD_VOICEMAIL, \"\\ue0d9\");\n        ICON_MAP.put(MD_VOLUME_DOWN, \"\\ue04d\");\n        ICON_MAP.put(MD_VOLUME_MUTE, \"\\ue04e\");\n        ICON_MAP.put(MD_VOLUME_OFF, \"\\ue04f\");\n        ICON_MAP.put(MD_VOLUME_UP, \"\\ue050\");\n        ICON_MAP.put(MD_VPN_KEY, \"\\ue0da\");\n        ICON_MAP.put(MD_VPN_LOCK, \"\\ue62f\");\n        ICON_MAP.put(MD_WALLPAPER, \"\\ue1bc\");\n        ICON_MAP.put(MD_WARNING, \"\\ue002\");\n        ICON_MAP.put(MD_WATCH, \"\\ue334\");\n        ICON_MAP.put(MD_WATCH_LATER, \"\\ue924\");\n        ICON_MAP.put(MD_WB_AUTO, \"\\ue42c\");\n        ICON_MAP.put(MD_WB_CLOUDY, \"\\ue42d\");\n        ICON_MAP.put(MD_WB_INCANDESCENT, \"\\ue42e\");\n        ICON_MAP.put(MD_WB_IRIDESCENT, \"\\ue436\");\n        ICON_MAP.put(MD_WB_SUNNY, \"\\ue430\");\n        ICON_MAP.put(MD_WC, \"\\ue63d\");\n        ICON_MAP.put(MD_WEB, \"\\ue051\");\n        ICON_MAP.put(MD_WEB_ASSET, \"\\ue069\");\n        ICON_MAP.put(MD_WEEKEND, \"\\ue16b\");\n        ICON_MAP.put(MD_WHATSHOT, \"\\ue80e\");\n        ICON_MAP.put(MD_WIDGETS, \"\\ue1bd\");\n        ICON_MAP.put(MD_WIFI, \"\\ue63e\");\n        ICON_MAP.put(MD_WIFI_LOCK, \"\\ue1e1\");\n        ICON_MAP.put(MD_WIFI_TETHERING, \"\\ue1e2\");\n        ICON_MAP.put(MD_WORK, \"\\ue8f9\");\n        ICON_MAP.put(MD_WRAP_TEXT, \"\\ue25b\");\n        ICON_MAP.put(MD_YOUTUBE_SEARCHED_FOR, \"\\ue8fa\");\n        ICON_MAP.put(MD_ZOOM_IN, \"\\ue8ff\");\n        ICON_MAP.put(MD_ZOOM_OUT, \"\\ue900\");\n        ICON_MAP.put(MD_ZOOM_OUT_MAP, \"\\ue56b\");\n        ATTR_MAP.put(0, MD_3D_ROTATION);\n        ATTR_MAP.put(1, MD_AC_UNIT);\n        ATTR_MAP.put(2, MD_ACCESS_ALARM);\n        ATTR_MAP.put(3, MD_ACCESS_ALARMS);\n        ATTR_MAP.put(4, MD_ACCESS_TIME);\n        ATTR_MAP.put(5, MD_ACCESSIBILITY);\n        ATTR_MAP.put(6, MD_ACCESSIBLE);\n        ATTR_MAP.put(7, MD_ACCOUNT_BALANCE);\n        ATTR_MAP.put(8, MD_ACCOUNT_BALANCE_WALLET);\n        ATTR_MAP.put(9, MD_ACCOUNT_BOX);\n        ATTR_MAP.put(10, MD_ACCOUNT_CIRCLE);\n        ATTR_MAP.put(11, MD_ADB);\n        ATTR_MAP.put(12, MD_ADD);\n        ATTR_MAP.put(13, MD_ADD_A_PHOTO);\n        ATTR_MAP.put(14, MD_ADD_ALARM);\n        ATTR_MAP.put(15, MD_ADD_ALERT);\n        ATTR_MAP.put(16, MD_ADD_BOX);\n        ATTR_MAP.put(17, MD_ADD_CIRCLE);\n        ATTR_MAP.put(18, MD_ADD_CIRCLE_OUTLINE);\n        ATTR_MAP.put(19, MD_ADD_LOCATION);\n        ATTR_MAP.put(20, MD_ADD_SHOPPING_CART);\n        ATTR_MAP.put(21, MD_ADD_TO_PHOTOS);\n        ATTR_MAP.put(22, MD_ADD_TO_QUEUE);\n        ATTR_MAP.put(23, MD_ADJUST);\n        ATTR_MAP.put(24, MD_AIRLINE_SEAT_FLAT);\n        ATTR_MAP.put(25, MD_AIRLINE_SEAT_FLAT_ANGLED);\n        ATTR_MAP.put(26, MD_AIRLINE_SEAT_INDIVIDUAL_SUITE);\n        ATTR_MAP.put(27, MD_AIRLINE_SEAT_LEGROOM_EXTRA);\n        ATTR_MAP.put(28, MD_AIRLINE_SEAT_LEGROOM_NORMAL);\n        ATTR_MAP.put(29, MD_AIRLINE_SEAT_LEGROOM_REDUCED);\n        ATTR_MAP.put(30, MD_AIRLINE_SEAT_RECLINE_EXTRA);\n        ATTR_MAP.put(31, MD_AIRLINE_SEAT_RECLINE_NORMAL);\n        ATTR_MAP.put(32, MD_AIRPLANEMODE_ACTIVE);\n        ATTR_MAP.put(33, MD_AIRPLANEMODE_INACTIVE);\n        ATTR_MAP.put(34, MD_AIRPLAY);\n        ATTR_MAP.put(35, MD_AIRPORT_SHUTTLE);\n        ATTR_MAP.put(36, MD_ALARM);\n        ATTR_MAP.put(37, MD_ALARM_ADD);\n        ATTR_MAP.put(38, MD_ALARM_OFF);\n        ATTR_MAP.put(39, MD_ALARM_ON);\n        ATTR_MAP.put(40, MD_ALBUM);\n        ATTR_MAP.put(41, MD_ALL_INCLUSIVE);\n        ATTR_MAP.put(42, MD_ALL_OUT);\n        ATTR_MAP.put(43, MD_ANDROID);\n        ATTR_MAP.put(44, MD_ANNOUNCEMENT);\n        ATTR_MAP.put(45, MD_APPS);\n        ATTR_MAP.put(46, MD_ARCHIVE);\n        ATTR_MAP.put(47, MD_ARROW_BACK);\n        ATTR_MAP.put(48, MD_ARROW_DOWNWARD);\n        ATTR_MAP.put(49, MD_ARROW_DROP_DOWN);\n        ATTR_MAP.put(50, MD_ARROW_DROP_DOWN_CIRCLE);\n        ATTR_MAP.put(51, MD_ARROW_DROP_UP);\n        ATTR_MAP.put(52, MD_ARROW_FORWARD);\n        ATTR_MAP.put(53, MD_ARROW_UPWARD);\n        ATTR_MAP.put(54, MD_ART_TRACK);\n        ATTR_MAP.put(55, MD_ASPECT_RATIO);\n        ATTR_MAP.put(56, MD_ASSESSMENT);\n        ATTR_MAP.put(57, MD_ASSIGNMENT);\n        ATTR_MAP.put(58, MD_ASSIGNMENT_IND);\n        ATTR_MAP.put(59, MD_ASSIGNMENT_LATE);\n        ATTR_MAP.put(60, MD_ASSIGNMENT_RETURN);\n        ATTR_MAP.put(61, MD_ASSIGNMENT_RETURNED);\n        ATTR_MAP.put(62, MD_ASSIGNMENT_TURNED_IN);\n        ATTR_MAP.put(63, MD_ASSISTANT);\n        ATTR_MAP.put(64, MD_ASSISTANT_PHOTO);\n        ATTR_MAP.put(65, MD_ATTACH_FILE);\n        ATTR_MAP.put(66, MD_ATTACH_MONEY);\n        ATTR_MAP.put(67, MD_ATTACHMENT);\n        ATTR_MAP.put(68, MD_AUDIOTRACK);\n        ATTR_MAP.put(69, MD_AUTORENEW);\n        ATTR_MAP.put(70, MD_AV_TIMER);\n        ATTR_MAP.put(71, MD_BACKSPACE);\n        ATTR_MAP.put(72, MD_BACKUP);\n        ATTR_MAP.put(73, MD_BATTERY_ALERT);\n        ATTR_MAP.put(74, MD_BATTERY_CHARGING_FULL);\n        ATTR_MAP.put(75, MD_BATTERY_FULL);\n        ATTR_MAP.put(76, MD_BATTERY_STD);\n        ATTR_MAP.put(77, MD_BATTERY_UNKNOWN);\n        ATTR_MAP.put(78, MD_BEACH_ACCESS);\n        ATTR_MAP.put(79, MD_BEENHERE);\n        ATTR_MAP.put(80, MD_BLOCK);\n        ATTR_MAP.put(81, MD_BLUETOOTH);\n        ATTR_MAP.put(82, MD_BLUETOOTH_AUDIO);\n        ATTR_MAP.put(83, MD_BLUETOOTH_CONNECTED);\n        ATTR_MAP.put(84, MD_BLUETOOTH_DISABLED);\n        ATTR_MAP.put(85, MD_BLUETOOTH_SEARCHING);\n        ATTR_MAP.put(86, MD_BLUR_CIRCULAR);\n        ATTR_MAP.put(87, MD_BLUR_LINEAR);\n        ATTR_MAP.put(88, MD_BLUR_OFF);\n        ATTR_MAP.put(89, MD_BLUR_ON);\n        ATTR_MAP.put(90, MD_BOOK);\n        ATTR_MAP.put(91, MD_BOOKMARK);\n        ATTR_MAP.put(92, MD_BOOKMARK_BORDER);\n        ATTR_MAP.put(93, MD_BORDER_ALL);\n        ATTR_MAP.put(94, MD_BORDER_BOTTOM);\n        ATTR_MAP.put(95, MD_BORDER_CLEAR);\n        ATTR_MAP.put(96, MD_BORDER_COLOR);\n        ATTR_MAP.put(97, MD_BORDER_HORIZONTAL);\n        ATTR_MAP.put(98, MD_BORDER_INNER);\n        ATTR_MAP.put(99, MD_BORDER_LEFT);\n        ATTR_MAP.put(100, MD_BORDER_OUTER);\n        ATTR_MAP.put(101, MD_BORDER_RIGHT);\n        ATTR_MAP.put(102, MD_BORDER_STYLE);\n        ATTR_MAP.put(103, MD_BORDER_TOP);\n        ATTR_MAP.put(104, MD_BORDER_VERTICAL);\n        ATTR_MAP.put(105, MD_BRANDING_WATERMARK);\n        ATTR_MAP.put(106, MD_BRIGHTNESS_1);\n        ATTR_MAP.put(107, MD_BRIGHTNESS_2);\n        ATTR_MAP.put(108, MD_BRIGHTNESS_3);\n        ATTR_MAP.put(109, MD_BRIGHTNESS_4);\n        ATTR_MAP.put(110, MD_BRIGHTNESS_5);\n        ATTR_MAP.put(111, MD_BRIGHTNESS_6);\n        ATTR_MAP.put(112, MD_BRIGHTNESS_7);\n        ATTR_MAP.put(113, MD_BRIGHTNESS_AUTO);\n        ATTR_MAP.put(114, MD_BRIGHTNESS_HIGH);\n        ATTR_MAP.put(115, MD_BRIGHTNESS_LOW);\n        ATTR_MAP.put(116, MD_BRIGHTNESS_MEDIUM);\n        ATTR_MAP.put(117, MD_BROKEN_IMAGE);\n        ATTR_MAP.put(118, MD_BRUSH);\n        ATTR_MAP.put(119, MD_BUBBLE_CHART);\n        ATTR_MAP.put(120, MD_BUG_REPORT);\n        ATTR_MAP.put(121, MD_BUILD);\n        ATTR_MAP.put(122, MD_BURST_MODE);\n        ATTR_MAP.put(123, MD_BUSINESS);\n        ATTR_MAP.put(124, MD_BUSINESS_CENTER);\n        ATTR_MAP.put(125, MD_CACHED);\n        ATTR_MAP.put(126, MD_CAKE);\n        ATTR_MAP.put(127, MD_CALL);\n        ATTR_MAP.put(128, MD_CALL_END);\n        ATTR_MAP.put(129, MD_CALL_MADE);\n        ATTR_MAP.put(130, MD_CALL_MERGE);\n        ATTR_MAP.put(131, MD_CALL_MISSED);\n        ATTR_MAP.put(132, MD_CALL_MISSED_OUTGOING);\n        ATTR_MAP.put(133, MD_CALL_RECEIVED);\n        ATTR_MAP.put(134, MD_CALL_SPLIT);\n        ATTR_MAP.put(135, MD_CALL_TO_ACTION);\n        ATTR_MAP.put(136, MD_CAMERA);\n        ATTR_MAP.put(137, MD_CAMERA_ALT);\n        ATTR_MAP.put(138, MD_CAMERA_ENHANCE);\n        ATTR_MAP.put(139, MD_CAMERA_FRONT);\n        ATTR_MAP.put(140, MD_CAMERA_REAR);\n        ATTR_MAP.put(141, MD_CAMERA_ROLL);\n        ATTR_MAP.put(142, MD_CANCEL);\n        ATTR_MAP.put(143, MD_CARD_GIFTCARD);\n        ATTR_MAP.put(144, MD_CARD_MEMBERSHIP);\n        ATTR_MAP.put(145, MD_CARD_TRAVEL);\n        ATTR_MAP.put(146, MD_CASINO);\n        ATTR_MAP.put(147, MD_CAST);\n        ATTR_MAP.put(148, MD_CAST_CONNECTED);\n        ATTR_MAP.put(149, MD_CENTER_FOCUS_STRONG);\n        ATTR_MAP.put(150, MD_CENTER_FOCUS_WEAK);\n        ATTR_MAP.put(151, MD_CHANGE_HISTORY);\n        ATTR_MAP.put(152, MD_CHAT);\n        ATTR_MAP.put(153, MD_CHAT_BUBBLE);\n        ATTR_MAP.put(154, MD_CHAT_BUBBLE_OUTLINE);\n        ATTR_MAP.put(155, MD_CHECK);\n        ATTR_MAP.put(156, MD_CHECK_BOX);\n        ATTR_MAP.put(157, MD_CHECK_BOX_OUTLINE_BLANK);\n        ATTR_MAP.put(158, MD_CHECK_CIRCLE);\n        ATTR_MAP.put(159, MD_CHEVRON_LEFT);\n        ATTR_MAP.put(160, MD_CHEVRON_RIGHT);\n        ATTR_MAP.put(161, MD_CHILD_CARE);\n        ATTR_MAP.put(162, MD_CHILD_FRIENDLY);\n        ATTR_MAP.put(163, MD_CHROME_READER_MODE);\n        ATTR_MAP.put(164, MD_CLASS);\n        ATTR_MAP.put(165, MD_CLEAR);\n        ATTR_MAP.put(166, MD_CLEAR_ALL);\n        ATTR_MAP.put(167, MD_CLOSE);\n        ATTR_MAP.put(168, MD_CLOSED_CAPTION);\n        ATTR_MAP.put(169, MD_CLOUD);\n        ATTR_MAP.put(170, MD_CLOUD_CIRCLE);\n        ATTR_MAP.put(171, MD_CLOUD_DONE);\n        ATTR_MAP.put(172, MD_CLOUD_DOWNLOAD);\n        ATTR_MAP.put(173, MD_CLOUD_OFF);\n        ATTR_MAP.put(174, MD_CLOUD_QUEUE);\n        ATTR_MAP.put(175, MD_CLOUD_UPLOAD);\n        ATTR_MAP.put(176, MD_CODE);\n        ATTR_MAP.put(177, MD_COLLECTIONS);\n        ATTR_MAP.put(178, MD_COLLECTIONS_BOOKMARK);\n        ATTR_MAP.put(179, MD_COLOR_LENS);\n        ATTR_MAP.put(180, MD_COLORIZE);\n        ATTR_MAP.put(181, MD_COMMENT);\n        ATTR_MAP.put(182, MD_COMPARE);\n        ATTR_MAP.put(183, MD_COMPARE_ARROWS);\n        ATTR_MAP.put(184, MD_COMPUTER);\n        ATTR_MAP.put(185, MD_CONFIRMATION_NUMBER);\n        ATTR_MAP.put(186, MD_CONTACT_MAIL);\n        ATTR_MAP.put(187, MD_CONTACT_PHONE);\n        ATTR_MAP.put(188, MD_CONTACTS);\n        ATTR_MAP.put(189, MD_CONTENT_COPY);\n        ATTR_MAP.put(190, MD_CONTENT_CUT);\n        ATTR_MAP.put(191, MD_CONTENT_PASTE);\n        ATTR_MAP.put(192, MD_CONTROL_POINT);\n        ATTR_MAP.put(193, MD_CONTROL_POINT_DUPLICATE);\n        ATTR_MAP.put(194, MD_COPYRIGHT);\n        ATTR_MAP.put(195, MD_CREATE);\n        ATTR_MAP.put(196, MD_CREATE_NEW_FOLDER);\n        ATTR_MAP.put(197, MD_CREDIT_CARD);\n        ATTR_MAP.put(198, MD_CROP);\n        ATTR_MAP.put(199, MD_CROP_16_9);\n        ATTR_MAP.put(200, MD_CROP_3_2);\n        ATTR_MAP.put(201, MD_CROP_5_4);\n        ATTR_MAP.put(202, MD_CROP_7_5);\n        ATTR_MAP.put(203, MD_CROP_DIN);\n        ATTR_MAP.put(204, MD_CROP_FREE);\n        ATTR_MAP.put(205, MD_CROP_LANDSCAPE);\n        ATTR_MAP.put(206, MD_CROP_ORIGINAL);\n        ATTR_MAP.put(207, MD_CROP_PORTRAIT);\n        ATTR_MAP.put(208, MD_CROP_ROTATE);\n        ATTR_MAP.put(209, MD_CROP_SQUARE);\n        ATTR_MAP.put(210, MD_DASHBOARD);\n        ATTR_MAP.put(211, MD_DATA_USAGE);\n        ATTR_MAP.put(212, MD_DATE_RANGE);\n        ATTR_MAP.put(213, MD_DEHAZE);\n        ATTR_MAP.put(214, MD_DELETE);\n        ATTR_MAP.put(215, MD_DELETE_FOREVER);\n        ATTR_MAP.put(216, MD_DELETE_SWEEP);\n        ATTR_MAP.put(217, MD_DESCRIPTION);\n        ATTR_MAP.put(218, MD_DESKTOP_MAC);\n        ATTR_MAP.put(219, MD_DESKTOP_WINDOWS);\n        ATTR_MAP.put(220, MD_DETAILS);\n        ATTR_MAP.put(221, MD_DEVELOPER_BOARD);\n        ATTR_MAP.put(222, MD_DEVELOPER_MODE);\n        ATTR_MAP.put(223, MD_DEVICE_HUB);\n        ATTR_MAP.put(224, MD_DEVICES);\n        ATTR_MAP.put(225, MD_DEVICES_OTHER);\n        ATTR_MAP.put(226, MD_DIALER_SIP);\n        ATTR_MAP.put(227, MD_DIALPAD);\n        ATTR_MAP.put(228, MD_DIRECTIONS);\n        ATTR_MAP.put(229, MD_DIRECTIONS_BIKE);\n        ATTR_MAP.put(230, MD_DIRECTIONS_BOAT);\n        ATTR_MAP.put(231, MD_DIRECTIONS_BUS);\n        ATTR_MAP.put(232, MD_DIRECTIONS_CAR);\n        ATTR_MAP.put(233, MD_DIRECTIONS_RAILWAY);\n        ATTR_MAP.put(234, MD_DIRECTIONS_RUN);\n        ATTR_MAP.put(235, MD_DIRECTIONS_SUBWAY);\n        ATTR_MAP.put(236, MD_DIRECTIONS_TRANSIT);\n        ATTR_MAP.put(237, MD_DIRECTIONS_WALK);\n        ATTR_MAP.put(238, MD_DISC_FULL);\n        ATTR_MAP.put(239, MD_DNS);\n        ATTR_MAP.put(240, MD_DO_NOT_DISTURB);\n        ATTR_MAP.put(241, MD_DO_NOT_DISTURB_ALT);\n        ATTR_MAP.put(242, MD_DO_NOT_DISTURB_OFF);\n        ATTR_MAP.put(243, MD_DO_NOT_DISTURB_ON);\n        ATTR_MAP.put(244, MD_DOCK);\n        ATTR_MAP.put(245, MD_DOMAIN);\n        ATTR_MAP.put(246, MD_DONE);\n        ATTR_MAP.put(247, MD_DONE_ALL);\n        ATTR_MAP.put(248, MD_DONUT_LARGE);\n        ATTR_MAP.put(249, MD_DONUT_SMALL);\n        ATTR_MAP.put(250, MD_DRAFTS);\n        ATTR_MAP.put(251, MD_DRAG_HANDLE);\n        ATTR_MAP.put(252, MD_DRIVE_ETA);\n        ATTR_MAP.put(253, MD_DVR);\n        ATTR_MAP.put(254, MD_EDIT);\n        ATTR_MAP.put(255, MD_EDIT_LOCATION);\n        ATTR_MAP.put(256, MD_EJECT);\n        ATTR_MAP.put(257, MD_EMAIL);\n        ATTR_MAP.put(258, MD_ENHANCED_ENCRYPTION);\n        ATTR_MAP.put(259, MD_EQUALIZER);\n        ATTR_MAP.put(260, MD_ERROR);\n        ATTR_MAP.put(261, MD_ERROR_OUTLINE);\n        ATTR_MAP.put(262, MD_EURO_SYMBOL);\n        ATTR_MAP.put(263, MD_EV_STATION);\n        ATTR_MAP.put(264, MD_EVENT);\n        ATTR_MAP.put(265, MD_EVENT_AVAILABLE);\n        ATTR_MAP.put(266, MD_EVENT_BUSY);\n        ATTR_MAP.put(267, MD_EVENT_NOTE);\n        ATTR_MAP.put(268, MD_EVENT_SEAT);\n        ATTR_MAP.put(269, MD_EXIT_TO_APP);\n        ATTR_MAP.put(270, MD_EXPAND_LESS);\n        ATTR_MAP.put(271, MD_EXPAND_MORE);\n        ATTR_MAP.put(272, MD_EXPLICIT);\n        ATTR_MAP.put(273, MD_EXPLORE);\n        ATTR_MAP.put(274, MD_EXPOSURE);\n        ATTR_MAP.put(275, MD_EXPOSURE_NEG_1);\n        ATTR_MAP.put(276, MD_EXPOSURE_NEG_2);\n        ATTR_MAP.put(277, MD_EXPOSURE_PLUS_1);\n        ATTR_MAP.put(278, MD_EXPOSURE_PLUS_2);\n        ATTR_MAP.put(279, MD_EXPOSURE_ZERO);\n        ATTR_MAP.put(280, MD_EXTENSION);\n        ATTR_MAP.put(281, MD_FACE);\n        ATTR_MAP.put(282, MD_FAST_FORWARD);\n        ATTR_MAP.put(283, MD_FAST_REWIND);\n        ATTR_MAP.put(284, MD_FAVORITE);\n        ATTR_MAP.put(285, MD_FAVORITE_BORDER);\n        ATTR_MAP.put(286, MD_FEATURED_PLAY_LIST);\n        ATTR_MAP.put(287, MD_FEATURED_VIDEO);\n        ATTR_MAP.put(288, MD_FEEDBACK);\n        ATTR_MAP.put(289, MD_FIBER_DVR);\n        ATTR_MAP.put(290, MD_FIBER_MANUAL_RECORD);\n        ATTR_MAP.put(291, MD_FIBER_NEW);\n        ATTR_MAP.put(292, MD_FIBER_PIN);\n        ATTR_MAP.put(293, MD_FIBER_SMART_RECORD);\n        ATTR_MAP.put(294, MD_FILE_DOWNLOAD);\n        ATTR_MAP.put(295, MD_FILE_UPLOAD);\n        ATTR_MAP.put(296, MD_FILTER);\n        ATTR_MAP.put(297, MD_FILTER_1);\n        ATTR_MAP.put(298, MD_FILTER_2);\n        ATTR_MAP.put(299, MD_FILTER_3);\n        ATTR_MAP.put(300, MD_FILTER_4);\n        ATTR_MAP.put(301, MD_FILTER_5);\n        ATTR_MAP.put(302, MD_FILTER_6);\n        ATTR_MAP.put(303, MD_FILTER_7);\n        ATTR_MAP.put(304, MD_FILTER_8);\n        ATTR_MAP.put(305, MD_FILTER_9);\n        ATTR_MAP.put(306, MD_FILTER_9_PLUS);\n        ATTR_MAP.put(307, MD_FILTER_B_AND_W);\n        ATTR_MAP.put(308, MD_FILTER_CENTER_FOCUS);\n        ATTR_MAP.put(309, MD_FILTER_DRAMA);\n        ATTR_MAP.put(310, MD_FILTER_FRAMES);\n        ATTR_MAP.put(311, MD_FILTER_HDR);\n        ATTR_MAP.put(312, MD_FILTER_LIST);\n        ATTR_MAP.put(313, MD_FILTER_NONE);\n        ATTR_MAP.put(314, MD_FILTER_TILT_SHIFT);\n        ATTR_MAP.put(315, MD_FILTER_VINTAGE);\n        ATTR_MAP.put(316, MD_FIND_IN_PAGE);\n        ATTR_MAP.put(317, MD_FIND_REPLACE);\n        ATTR_MAP.put(318, MD_FINGERPRINT);\n        ATTR_MAP.put(319, MD_FIRST_PAGE);\n        ATTR_MAP.put(320, MD_FITNESS_CENTER);\n        ATTR_MAP.put(321, MD_FLAG);\n        ATTR_MAP.put(322, MD_FLARE);\n        ATTR_MAP.put(323, MD_FLASH_AUTO);\n        ATTR_MAP.put(324, MD_FLASH_OFF);\n        ATTR_MAP.put(325, MD_FLASH_ON);\n        ATTR_MAP.put(326, MD_FLIGHT);\n        ATTR_MAP.put(327, MD_FLIGHT_LAND);\n        ATTR_MAP.put(328, MD_FLIGHT_TAKEOFF);\n        ATTR_MAP.put(329, MD_FLIP);\n        ATTR_MAP.put(330, MD_FLIP_TO_BACK);\n        ATTR_MAP.put(331, MD_FLIP_TO_FRONT);\n        ATTR_MAP.put(332, MD_FOLDER);\n        ATTR_MAP.put(333, MD_FOLDER_OPEN);\n        ATTR_MAP.put(334, MD_FOLDER_SHARED);\n        ATTR_MAP.put(335, MD_FOLDER_SPECIAL);\n        ATTR_MAP.put(336, MD_FONT_DOWNLOAD);\n        ATTR_MAP.put(337, MD_FORMAT_ALIGN_CENTER);\n        ATTR_MAP.put(338, MD_FORMAT_ALIGN_JUSTIFY);\n        ATTR_MAP.put(339, MD_FORMAT_ALIGN_LEFT);\n        ATTR_MAP.put(340, MD_FORMAT_ALIGN_RIGHT);\n        ATTR_MAP.put(341, MD_FORMAT_BOLD);\n        ATTR_MAP.put(342, MD_FORMAT_CLEAR);\n        ATTR_MAP.put(343, MD_FORMAT_COLOR_FILL);\n        ATTR_MAP.put(344, MD_FORMAT_COLOR_RESET);\n        ATTR_MAP.put(345, MD_FORMAT_COLOR_TEXT);\n        ATTR_MAP.put(346, MD_FORMAT_INDENT_DECREASE);\n        ATTR_MAP.put(347, MD_FORMAT_INDENT_INCREASE);\n        ATTR_MAP.put(348, MD_FORMAT_ITALIC);\n        ATTR_MAP.put(349, MD_FORMAT_LINE_SPACING);\n        ATTR_MAP.put(350, MD_FORMAT_LIST_BULLETED);\n        ATTR_MAP.put(351, MD_FORMAT_LIST_NUMBERED);\n        ATTR_MAP.put(352, MD_FORMAT_PAINT);\n        ATTR_MAP.put(353, MD_FORMAT_QUOTE);\n        ATTR_MAP.put(354, MD_FORMAT_SHAPES);\n        ATTR_MAP.put(355, MD_FORMAT_SIZE);\n        ATTR_MAP.put(356, MD_FORMAT_STRIKETHROUGH);\n        ATTR_MAP.put(357, MD_FORMAT_TEXTDIRECTION_L_TO_R);\n        ATTR_MAP.put(358, MD_FORMAT_TEXTDIRECTION_R_TO_L);\n        ATTR_MAP.put(359, MD_FORMAT_UNDERLINED);\n        ATTR_MAP.put(360, MD_FORUM);\n        ATTR_MAP.put(361, MD_FORWARD);\n        ATTR_MAP.put(362, MD_FORWARD_10);\n        ATTR_MAP.put(363, MD_FORWARD_30);\n        ATTR_MAP.put(364, MD_FORWARD_5);\n        ATTR_MAP.put(365, MD_FREE_BREAKFAST);\n        ATTR_MAP.put(366, MD_FULLSCREEN);\n        ATTR_MAP.put(367, MD_FULLSCREEN_EXIT);\n        ATTR_MAP.put(368, MD_FUNCTIONS);\n        ATTR_MAP.put(369, MD_G_TRANSLATE);\n        ATTR_MAP.put(370, MD_GAMEPAD);\n        ATTR_MAP.put(371, MD_GAMES);\n        ATTR_MAP.put(372, MD_GAVEL);\n        ATTR_MAP.put(373, MD_GESTURE);\n        ATTR_MAP.put(374, MD_GET_APP);\n        ATTR_MAP.put(375, MD_GIF);\n        ATTR_MAP.put(376, MD_GOLF_COURSE);\n        ATTR_MAP.put(377, MD_GPS_FIXED);\n        ATTR_MAP.put(378, MD_GPS_NOT_FIXED);\n        ATTR_MAP.put(379, MD_GPS_OFF);\n        ATTR_MAP.put(380, MD_GRADE);\n        ATTR_MAP.put(381, MD_GRADIENT);\n        ATTR_MAP.put(382, MD_GRAIN);\n        ATTR_MAP.put(383, MD_GRAPHIC_EQ);\n        ATTR_MAP.put(384, MD_GRID_OFF);\n        ATTR_MAP.put(385, MD_GRID_ON);\n        ATTR_MAP.put(386, MD_GROUP);\n        ATTR_MAP.put(387, MD_GROUP_ADD);\n        ATTR_MAP.put(388, MD_GROUP_WORK);\n        ATTR_MAP.put(389, MD_HD);\n        ATTR_MAP.put(390, MD_HDR_OFF);\n        ATTR_MAP.put(391, MD_HDR_ON);\n        ATTR_MAP.put(392, MD_HDR_STRONG);\n        ATTR_MAP.put(393, MD_HDR_WEAK);\n        ATTR_MAP.put(394, MD_HEADSET);\n        ATTR_MAP.put(395, MD_HEADSET_MIC);\n        ATTR_MAP.put(396, MD_HEALING);\n        ATTR_MAP.put(397, MD_HEARING);\n        ATTR_MAP.put(398, MD_HELP);\n        ATTR_MAP.put(399, MD_HELP_OUTLINE);\n        ATTR_MAP.put(400, MD_HIGH_QUALITY);\n        ATTR_MAP.put(401, MD_HIGHLIGHT);\n        ATTR_MAP.put(402, MD_HIGHLIGHT_OFF);\n        ATTR_MAP.put(403, MD_HISTORY);\n        ATTR_MAP.put(404, MD_HOME);\n        ATTR_MAP.put(405, MD_HOT_TUB);\n        ATTR_MAP.put(406, MD_HOTEL);\n        ATTR_MAP.put(407, MD_HOURGLASS_EMPTY);\n        ATTR_MAP.put(408, MD_HOURGLASS_FULL);\n        ATTR_MAP.put(409, MD_HTTP);\n        ATTR_MAP.put(410, MD_HTTPS);\n        ATTR_MAP.put(411, MD_IMAGE);\n        ATTR_MAP.put(412, MD_IMAGE_ASPECT_RATIO);\n        ATTR_MAP.put(413, MD_IMPORT_CONTACTS);\n        ATTR_MAP.put(414, MD_IMPORT_EXPORT);\n        ATTR_MAP.put(415, MD_IMPORTANT_DEVICES);\n        ATTR_MAP.put(416, MD_INBOX);\n        ATTR_MAP.put(417, MD_INDETERMINATE_CHECK_BOX);\n        ATTR_MAP.put(418, MD_INFO);\n        ATTR_MAP.put(419, MD_INFO_OUTLINE);\n        ATTR_MAP.put(420, MD_INPUT);\n        ATTR_MAP.put(421, MD_INSERT_CHART);\n        ATTR_MAP.put(422, MD_INSERT_COMMENT);\n        ATTR_MAP.put(423, MD_INSERT_DRIVE_FILE);\n        ATTR_MAP.put(424, MD_INSERT_EMOTICON);\n        ATTR_MAP.put(425, MD_INSERT_INVITATION);\n        ATTR_MAP.put(426, MD_INSERT_LINK);\n        ATTR_MAP.put(427, MD_INSERT_PHOTO);\n        ATTR_MAP.put(428, MD_INVERT_COLORS);\n        ATTR_MAP.put(429, MD_INVERT_COLORS_OFF);\n        ATTR_MAP.put(430, MD_ISO);\n        ATTR_MAP.put(431, MD_KEYBOARD);\n        ATTR_MAP.put(432, MD_KEYBOARD_ARROW_DOWN);\n        ATTR_MAP.put(433, MD_KEYBOARD_ARROW_LEFT);\n        ATTR_MAP.put(434, MD_KEYBOARD_ARROW_RIGHT);\n        ATTR_MAP.put(435, MD_KEYBOARD_ARROW_UP);\n        ATTR_MAP.put(436, MD_KEYBOARD_BACKSPACE);\n        ATTR_MAP.put(437, MD_KEYBOARD_CAPSLOCK);\n        ATTR_MAP.put(438, MD_KEYBOARD_HIDE);\n        ATTR_MAP.put(439, MD_KEYBOARD_RETURN);\n        ATTR_MAP.put(440, MD_KEYBOARD_TAB);\n        ATTR_MAP.put(441, MD_KEYBOARD_VOICE);\n        ATTR_MAP.put(442, MD_KITCHEN);\n        ATTR_MAP.put(443, MD_LABEL);\n        ATTR_MAP.put(444, MD_LABEL_OUTLINE);\n        ATTR_MAP.put(445, MD_LANDSCAPE);\n        ATTR_MAP.put(446, MD_LANGUAGE);\n        ATTR_MAP.put(447, MD_LAPTOP);\n        ATTR_MAP.put(448, MD_LAPTOP_CHROMEBOOK);\n        ATTR_MAP.put(449, MD_LAPTOP_MAC);\n        ATTR_MAP.put(450, MD_LAPTOP_WINDOWS);\n        ATTR_MAP.put(451, MD_LAST_PAGE);\n        ATTR_MAP.put(452, MD_LAUNCH);\n        ATTR_MAP.put(453, MD_LAYERS);\n        ATTR_MAP.put(454, MD_LAYERS_CLEAR);\n        ATTR_MAP.put(455, MD_LEAK_ADD);\n        ATTR_MAP.put(456, MD_LEAK_REMOVE);\n        ATTR_MAP.put(457, MD_LENS);\n        ATTR_MAP.put(458, MD_LIBRARY_ADD);\n        ATTR_MAP.put(459, MD_LIBRARY_BOOKS);\n        ATTR_MAP.put(460, MD_LIBRARY_MUSIC);\n        ATTR_MAP.put(461, MD_LIGHTBULB_OUTLINE);\n        ATTR_MAP.put(462, MD_LINE_STYLE);\n        ATTR_MAP.put(463, MD_LINE_WEIGHT);\n        ATTR_MAP.put(464, MD_LINEAR_SCALE);\n        ATTR_MAP.put(465, MD_LINK);\n        ATTR_MAP.put(466, MD_LINKED_CAMERA);\n        ATTR_MAP.put(467, MD_LIST);\n        ATTR_MAP.put(468, MD_LIVE_HELP);\n        ATTR_MAP.put(469, MD_LIVE_TV);\n        ATTR_MAP.put(470, MD_LOCAL_ACTIVITY);\n        ATTR_MAP.put(471, MD_LOCAL_AIRPORT);\n        ATTR_MAP.put(472, MD_LOCAL_ATM);\n        ATTR_MAP.put(473, MD_LOCAL_BAR);\n        ATTR_MAP.put(474, MD_LOCAL_CAFE);\n        ATTR_MAP.put(475, MD_LOCAL_CAR_WASH);\n        ATTR_MAP.put(476, MD_LOCAL_CONVENIENCE_STORE);\n        ATTR_MAP.put(477, MD_LOCAL_DINING);\n        ATTR_MAP.put(478, MD_LOCAL_DRINK);\n        ATTR_MAP.put(479, MD_LOCAL_FLORIST);\n        ATTR_MAP.put(480, MD_LOCAL_GAS_STATION);\n        ATTR_MAP.put(481, MD_LOCAL_GROCERY_STORE);\n        ATTR_MAP.put(482, MD_LOCAL_HOSPITAL);\n        ATTR_MAP.put(483, MD_LOCAL_HOTEL);\n        ATTR_MAP.put(484, MD_LOCAL_LAUNDRY_SERVICE);\n        ATTR_MAP.put(485, MD_LOCAL_LIBRARY);\n        ATTR_MAP.put(486, MD_LOCAL_MALL);\n        ATTR_MAP.put(487, MD_LOCAL_MOVIES);\n        ATTR_MAP.put(488, MD_LOCAL_OFFER);\n        ATTR_MAP.put(489, MD_LOCAL_PARKING);\n        ATTR_MAP.put(490, MD_LOCAL_PHARMACY);\n        ATTR_MAP.put(491, MD_LOCAL_PHONE);\n        ATTR_MAP.put(492, MD_LOCAL_PIZZA);\n        ATTR_MAP.put(493, MD_LOCAL_PLAY);\n        ATTR_MAP.put(494, MD_LOCAL_POST_OFFICE);\n        ATTR_MAP.put(495, MD_LOCAL_PRINTSHOP);\n        ATTR_MAP.put(496, MD_LOCAL_SEE);\n        ATTR_MAP.put(497, MD_LOCAL_SHIPPING);\n        ATTR_MAP.put(498, MD_LOCAL_TAXI);\n        ATTR_MAP.put(499, MD_LOCATION_CITY);\n        ATTR_MAP.put(500, MD_LOCATION_DISABLED);\n        ATTR_MAP.put(501, MD_LOCATION_OFF);\n        ATTR_MAP.put(502, MD_LOCATION_ON);\n        ATTR_MAP.put(503, MD_LOCATION_SEARCHING);\n        ATTR_MAP.put(504, MD_LOCK);\n        ATTR_MAP.put(505, MD_LOCK_OPEN);\n        ATTR_MAP.put(506, MD_LOCK_OUTLINE);\n        ATTR_MAP.put(507, MD_LOOKS);\n        ATTR_MAP.put(508, MD_LOOKS_3);\n        ATTR_MAP.put(509, MD_LOOKS_4);\n        ATTR_MAP.put(510, MD_LOOKS_5);\n        ATTR_MAP.put(511, MD_LOOKS_6);\n        ATTR_MAP.put(512, MD_LOOKS_ONE);\n        ATTR_MAP.put(513, MD_LOOKS_TWO);\n        ATTR_MAP.put(514, MD_LOOP);\n        ATTR_MAP.put(515, MD_LOUPE);\n        ATTR_MAP.put(516, MD_LOW_PRIORITY);\n        ATTR_MAP.put(517, MD_LOYALTY);\n        ATTR_MAP.put(518, MD_MAIL);\n        ATTR_MAP.put(519, MD_MAIL_OUTLINE);\n        ATTR_MAP.put(520, MD_MAP);\n        ATTR_MAP.put(521, MD_MARKUNREAD);\n        ATTR_MAP.put(522, MD_MARKUNREAD_MAILBOX);\n        ATTR_MAP.put(523, MD_MEMORY);\n        ATTR_MAP.put(524, MD_MENU);\n        ATTR_MAP.put(525, MD_MERGE_TYPE);\n        ATTR_MAP.put(526, MD_MESSAGE);\n        ATTR_MAP.put(527, MD_MIC);\n        ATTR_MAP.put(528, MD_MIC_NONE);\n        ATTR_MAP.put(529, MD_MIC_OFF);\n        ATTR_MAP.put(530, MD_MMS);\n        ATTR_MAP.put(531, MD_MODE_COMMENT);\n        ATTR_MAP.put(532, MD_MODE_EDIT);\n        ATTR_MAP.put(533, MD_MONETIZATION_ON);\n        ATTR_MAP.put(534, MD_MONEY_OFF);\n        ATTR_MAP.put(535, MD_MONOCHROME_PHOTOS);\n        ATTR_MAP.put(536, MD_MOOD);\n        ATTR_MAP.put(537, MD_MOOD_BAD);\n        ATTR_MAP.put(538, MD_MORE);\n        ATTR_MAP.put(539, MD_MORE_HORIZ);\n        ATTR_MAP.put(540, MD_MORE_VERT);\n        ATTR_MAP.put(541, MD_MOTORCYCLE);\n        ATTR_MAP.put(542, MD_MOUSE);\n        ATTR_MAP.put(543, MD_MOVE_TO_INBOX);\n        ATTR_MAP.put(544, MD_MOVIE);\n        ATTR_MAP.put(545, MD_MOVIE_CREATION);\n        ATTR_MAP.put(546, MD_MOVIE_FILTER);\n        ATTR_MAP.put(547, MD_MULTILINE_CHART);\n        ATTR_MAP.put(548, MD_MUSIC_NOTE);\n        ATTR_MAP.put(549, MD_MUSIC_VIDEO);\n        ATTR_MAP.put(550, MD_MY_LOCATION);\n        ATTR_MAP.put(551, MD_NATURE);\n        ATTR_MAP.put(552, MD_NATURE_PEOPLE);\n        ATTR_MAP.put(553, MD_NAVIGATE_BEFORE);\n        ATTR_MAP.put(554, MD_NAVIGATE_NEXT);\n        ATTR_MAP.put(555, MD_NAVIGATION);\n        ATTR_MAP.put(556, MD_NEAR_ME);\n        ATTR_MAP.put(557, MD_NETWORK_CELL);\n        ATTR_MAP.put(558, MD_NETWORK_CHECK);\n        ATTR_MAP.put(559, MD_NETWORK_LOCKED);\n        ATTR_MAP.put(560, MD_NETWORK_WIFI);\n        ATTR_MAP.put(561, MD_NEW_RELEASES);\n        ATTR_MAP.put(562, MD_NEXT_WEEK);\n        ATTR_MAP.put(563, MD_NFC);\n        ATTR_MAP.put(564, MD_NO_ENCRYPTION);\n        ATTR_MAP.put(565, MD_NO_SIM);\n        ATTR_MAP.put(566, MD_NOT_INTERESTED);\n        ATTR_MAP.put(567, MD_NOTE);\n        ATTR_MAP.put(568, MD_NOTE_ADD);\n        ATTR_MAP.put(569, MD_NOTIFICATIONS);\n        ATTR_MAP.put(570, MD_NOTIFICATIONS_ACTIVE);\n        ATTR_MAP.put(571, MD_NOTIFICATIONS_NONE);\n        ATTR_MAP.put(572, MD_NOTIFICATIONS_OFF);\n        ATTR_MAP.put(573, MD_NOTIFICATIONS_PAUSED);\n        ATTR_MAP.put(574, MD_OFFLINE_PIN);\n        ATTR_MAP.put(575, MD_ONDEMAND_VIDEO);\n        ATTR_MAP.put(576, MD_OPACITY);\n        ATTR_MAP.put(577, MD_OPEN_IN_BROWSER);\n        ATTR_MAP.put(578, MD_OPEN_IN_NEW);\n        ATTR_MAP.put(579, MD_OPEN_WITH);\n        ATTR_MAP.put(580, MD_PAGES);\n        ATTR_MAP.put(581, MD_PAGEVIEW);\n        ATTR_MAP.put(582, MD_PALETTE);\n        ATTR_MAP.put(583, MD_PAN_TOOL);\n        ATTR_MAP.put(584, MD_PANORAMA);\n        ATTR_MAP.put(585, MD_PANORAMA_FISH_EYE);\n        ATTR_MAP.put(586, MD_PANORAMA_HORIZONTAL);\n        ATTR_MAP.put(587, MD_PANORAMA_VERTICAL);\n        ATTR_MAP.put(588, MD_PANORAMA_WIDE_ANGLE);\n        ATTR_MAP.put(589, MD_PARTY_MODE);\n        ATTR_MAP.put(590, MD_PAUSE);\n        ATTR_MAP.put(591, MD_PAUSE_CIRCLE_FILLED);\n        ATTR_MAP.put(592, MD_PAUSE_CIRCLE_OUTLINE);\n        ATTR_MAP.put(593, MD_PAYMENT);\n        ATTR_MAP.put(594, MD_PEOPLE);\n        ATTR_MAP.put(595, MD_PEOPLE_OUTLINE);\n        ATTR_MAP.put(596, MD_PERM_CAMERA_MIC);\n        ATTR_MAP.put(597, MD_PERM_CONTACT_CALENDAR);\n        ATTR_MAP.put(598, MD_PERM_DATA_SETTING);\n        ATTR_MAP.put(599, MD_PERM_DEVICE_INFORMATION);\n        ATTR_MAP.put(600, MD_PERM_IDENTITY);\n        ATTR_MAP.put(601, MD_PERM_MEDIA);\n        ATTR_MAP.put(602, MD_PERM_PHONE_MSG);\n        ATTR_MAP.put(603, MD_PERM_SCAN_WIFI);\n        ATTR_MAP.put(604, MD_PERSON);\n        ATTR_MAP.put(605, MD_PERSON_ADD);\n        ATTR_MAP.put(606, MD_PERSON_OUTLINE);\n        ATTR_MAP.put(607, MD_PERSON_PIN);\n        ATTR_MAP.put(608, MD_PERSON_PIN_CIRCLE);\n        ATTR_MAP.put(609, MD_PERSONAL_VIDEO);\n        ATTR_MAP.put(610, MD_PETS);\n        ATTR_MAP.put(611, MD_PHONE);\n        ATTR_MAP.put(612, MD_PHONE_ANDROID);\n        ATTR_MAP.put(613, MD_PHONE_BLUETOOTH_SPEAKER);\n        ATTR_MAP.put(614, MD_PHONE_FORWARDED);\n        ATTR_MAP.put(615, MD_PHONE_IN_TALK);\n        ATTR_MAP.put(616, MD_PHONE_IPHONE);\n        ATTR_MAP.put(617, MD_PHONE_LOCKED);\n        ATTR_MAP.put(618, MD_PHONE_MISSED);\n        ATTR_MAP.put(619, MD_PHONE_PAUSED);\n        ATTR_MAP.put(620, MD_PHONELINK);\n        ATTR_MAP.put(621, MD_PHONELINK_ERASE);\n        ATTR_MAP.put(622, MD_PHONELINK_LOCK);\n        ATTR_MAP.put(623, MD_PHONELINK_OFF);\n        ATTR_MAP.put(624, MD_PHONELINK_RING);\n        ATTR_MAP.put(625, MD_PHONELINK_SETUP);\n        ATTR_MAP.put(626, MD_PHOTO);\n        ATTR_MAP.put(627, MD_PHOTO_ALBUM);\n        ATTR_MAP.put(628, MD_PHOTO_CAMERA);\n        ATTR_MAP.put(629, MD_PHOTO_FILTER);\n        ATTR_MAP.put(630, MD_PHOTO_LIBRARY);\n        ATTR_MAP.put(631, MD_PHOTO_SIZE_SELECT_ACTUAL);\n        ATTR_MAP.put(632, MD_PHOTO_SIZE_SELECT_LARGE);\n        ATTR_MAP.put(633, MD_PHOTO_SIZE_SELECT_SMALL);\n        ATTR_MAP.put(634, MD_PICTURE_AS_PDF);\n        ATTR_MAP.put(635, MD_PICTURE_IN_PICTURE);\n        ATTR_MAP.put(636, MD_PICTURE_IN_PICTURE_ALT);\n        ATTR_MAP.put(637, MD_PIE_CHART);\n        ATTR_MAP.put(638, MD_PIE_CHART_OUTLINED);\n        ATTR_MAP.put(639, MD_PIN_DROP);\n        ATTR_MAP.put(640, MD_PLACE);\n        ATTR_MAP.put(641, MD_PLAY_ARROW);\n        ATTR_MAP.put(642, MD_PLAY_CIRCLE_FILLED);\n        ATTR_MAP.put(643, MD_PLAY_CIRCLE_OUTLINE);\n        ATTR_MAP.put(644, MD_PLAY_FOR_WORK);\n        ATTR_MAP.put(645, MD_PLAYLIST_ADD);\n        ATTR_MAP.put(646, MD_PLAYLIST_ADD_CHECK);\n        ATTR_MAP.put(647, MD_PLAYLIST_PLAY);\n        ATTR_MAP.put(648, MD_PLUS_ONE);\n        ATTR_MAP.put(649, MD_POLL);\n        ATTR_MAP.put(650, MD_POLYMER);\n        ATTR_MAP.put(651, MD_POOL);\n        ATTR_MAP.put(652, MD_PORTABLE_WIFI_OFF);\n        ATTR_MAP.put(653, MD_PORTRAIT);\n        ATTR_MAP.put(654, MD_POWER);\n        ATTR_MAP.put(655, MD_POWER_INPUT);\n        ATTR_MAP.put(656, MD_POWER_SETTINGS_NEW);\n        ATTR_MAP.put(657, MD_PREGNANT_WOMAN);\n        ATTR_MAP.put(658, MD_PRESENT_TO_ALL);\n        ATTR_MAP.put(659, MD_PRINT);\n        ATTR_MAP.put(660, MD_PRIORITY_HIGH);\n        ATTR_MAP.put(661, MD_PUBLIC);\n        ATTR_MAP.put(662, MD_PUBLISH);\n        ATTR_MAP.put(663, MD_QUERY_BUILDER);\n        ATTR_MAP.put(664, MD_QUESTION_ANSWER);\n        ATTR_MAP.put(665, MD_QUEUE);\n        ATTR_MAP.put(666, MD_QUEUE_MUSIC);\n        ATTR_MAP.put(667, MD_QUEUE_PLAY_NEXT);\n        ATTR_MAP.put(668, MD_RADIO);\n        ATTR_MAP.put(669, MD_RADIO_BUTTON_CHECKED);\n        ATTR_MAP.put(670, MD_RADIO_BUTTON_UNCHECKED);\n        ATTR_MAP.put(671, MD_RATE_REVIEW);\n        ATTR_MAP.put(672, MD_RECEIPT);\n        ATTR_MAP.put(673, MD_RECENT_ACTORS);\n        ATTR_MAP.put(674, MD_RECORD_VOICE_OVER);\n        ATTR_MAP.put(675, MD_REDEEM);\n        ATTR_MAP.put(676, MD_REDO);\n        ATTR_MAP.put(677, MD_REFRESH);\n        ATTR_MAP.put(678, MD_REMOVE);\n        ATTR_MAP.put(679, MD_REMOVE_CIRCLE);\n        ATTR_MAP.put(680, MD_REMOVE_CIRCLE_OUTLINE);\n        ATTR_MAP.put(681, MD_REMOVE_FROM_QUEUE);\n        ATTR_MAP.put(682, MD_REMOVE_RED_EYE);\n        ATTR_MAP.put(683, MD_REMOVE_SHOPPING_CART);\n        ATTR_MAP.put(684, MD_REORDER);\n        ATTR_MAP.put(685, MD_REPEAT);\n        ATTR_MAP.put(686, MD_REPEAT_ONE);\n        ATTR_MAP.put(687, MD_REPLAY);\n        ATTR_MAP.put(688, MD_REPLAY_10);\n        ATTR_MAP.put(689, MD_REPLAY_30);\n        ATTR_MAP.put(690, MD_REPLAY_5);\n        ATTR_MAP.put(691, MD_REPLY);\n        ATTR_MAP.put(692, MD_REPLY_ALL);\n        ATTR_MAP.put(693, MD_REPORT);\n        ATTR_MAP.put(694, MD_REPORT_PROBLEM);\n        ATTR_MAP.put(695, MD_RESTAURANT);\n        ATTR_MAP.put(696, MD_RESTAURANT_MENU);\n        ATTR_MAP.put(697, MD_RESTORE);\n        ATTR_MAP.put(698, MD_RESTORE_PAGE);\n        ATTR_MAP.put(699, MD_RING_VOLUME);\n        ATTR_MAP.put(700, MD_ROOM);\n        ATTR_MAP.put(701, MD_ROOM_SERVICE);\n        ATTR_MAP.put(702, MD_ROTATE_90_DEGREES_CCW);\n        ATTR_MAP.put(703, MD_ROTATE_LEFT);\n        ATTR_MAP.put(704, MD_ROTATE_RIGHT);\n        ATTR_MAP.put(705, MD_ROUNDED_CORNER);\n        ATTR_MAP.put(706, MD_ROUTER);\n        ATTR_MAP.put(707, MD_ROWING);\n        ATTR_MAP.put(708, MD_RSS_FEED);\n        ATTR_MAP.put(709, MD_RV_HOOKUP);\n        ATTR_MAP.put(710, MD_SATELLITE);\n        ATTR_MAP.put(711, MD_SAVE);\n        ATTR_MAP.put(712, MD_SCANNER);\n        ATTR_MAP.put(713, MD_SCHEDULE);\n        ATTR_MAP.put(714, MD_SCHOOL);\n        ATTR_MAP.put(715, MD_SCREEN_LOCK_LANDSCAPE);\n        ATTR_MAP.put(716, MD_SCREEN_LOCK_PORTRAIT);\n        ATTR_MAP.put(717, MD_SCREEN_LOCK_ROTATION);\n        ATTR_MAP.put(718, MD_SCREEN_ROTATION);\n        ATTR_MAP.put(719, MD_SCREEN_SHARE);\n        ATTR_MAP.put(720, MD_SD_CARD);\n        ATTR_MAP.put(721, MD_SD_STORAGE);\n        ATTR_MAP.put(722, MD_SEARCH);\n        ATTR_MAP.put(723, MD_SECURITY);\n        ATTR_MAP.put(724, MD_SELECT_ALL);\n        ATTR_MAP.put(725, MD_SEND);\n        ATTR_MAP.put(726, MD_SENTIMENT_DISSATISFIED);\n        ATTR_MAP.put(727, MD_SENTIMENT_NEUTRAL);\n        ATTR_MAP.put(728, MD_SENTIMENT_SATISFIED);\n        ATTR_MAP.put(729, MD_SENTIMENT_VERY_DISSATISFIED);\n        ATTR_MAP.put(730, MD_SENTIMENT_VERY_SATISFIED);\n        ATTR_MAP.put(731, MD_SETTINGS);\n        ATTR_MAP.put(732, MD_SETTINGS_APPLICATIONS);\n        ATTR_MAP.put(733, MD_SETTINGS_BACKUP_RESTORE);\n        ATTR_MAP.put(734, MD_SETTINGS_BLUETOOTH);\n        ATTR_MAP.put(735, MD_SETTINGS_BRIGHTNESS);\n        ATTR_MAP.put(736, MD_SETTINGS_CELL);\n        ATTR_MAP.put(737, MD_SETTINGS_ETHERNET);\n        ATTR_MAP.put(738, MD_SETTINGS_INPUT_ANTENNA);\n        ATTR_MAP.put(739, MD_SETTINGS_INPUT_COMPONENT);\n        ATTR_MAP.put(740, MD_SETTINGS_INPUT_COMPOSITE);\n        ATTR_MAP.put(741, MD_SETTINGS_INPUT_HDMI);\n        ATTR_MAP.put(742, MD_SETTINGS_INPUT_SVIDEO);\n        ATTR_MAP.put(743, MD_SETTINGS_OVERSCAN);\n        ATTR_MAP.put(744, MD_SETTINGS_PHONE);\n        ATTR_MAP.put(745, MD_SETTINGS_POWER);\n        ATTR_MAP.put(746, MD_SETTINGS_REMOTE);\n        ATTR_MAP.put(747, MD_SETTINGS_SYSTEM_DAYDREAM);\n        ATTR_MAP.put(748, MD_SETTINGS_VOICE);\n        ATTR_MAP.put(749, MD_SHARE);\n        ATTR_MAP.put(750, MD_SHOP);\n        ATTR_MAP.put(751, MD_SHOP_TWO);\n        ATTR_MAP.put(752, MD_SHOPPING_BASKET);\n        ATTR_MAP.put(753, MD_SHOPPING_CART);\n        ATTR_MAP.put(754, MD_SHORT_TEXT);\n        ATTR_MAP.put(755, MD_SHOW_CHART);\n        ATTR_MAP.put(756, MD_SHUFFLE);\n        ATTR_MAP.put(757, MD_SIGNAL_CELLULAR_4_BAR);\n        ATTR_MAP.put(758, MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR);\n        ATTR_MAP.put(759, MD_SIGNAL_CELLULAR_NO_SIM);\n        ATTR_MAP.put(760, MD_SIGNAL_CELLULAR_NULL);\n        ATTR_MAP.put(761, MD_SIGNAL_CELLULAR_OFF);\n        ATTR_MAP.put(762, MD_SIGNAL_WIFI_4_BAR);\n        ATTR_MAP.put(763, MD_SIGNAL_WIFI_4_BAR_LOCK);\n        ATTR_MAP.put(764, MD_SIGNAL_WIFI_OFF);\n        ATTR_MAP.put(765, MD_SIM_CARD);\n        ATTR_MAP.put(766, MD_SIM_CARD_ALERT);\n        ATTR_MAP.put(767, MD_SKIP_NEXT);\n        ATTR_MAP.put(768, MD_SKIP_PREVIOUS);\n        ATTR_MAP.put(769, MD_SLIDESHOW);\n        ATTR_MAP.put(770, MD_SLOW_MOTION_VIDEO);\n        ATTR_MAP.put(771, MD_SMARTPHONE);\n        ATTR_MAP.put(772, MD_SMOKE_FREE);\n        ATTR_MAP.put(773, MD_SMOKING_ROOMS);\n        ATTR_MAP.put(774, MD_SMS);\n        ATTR_MAP.put(775, MD_SMS_FAILED);\n        ATTR_MAP.put(776, MD_SNOOZE);\n        ATTR_MAP.put(777, MD_SORT);\n        ATTR_MAP.put(778, MD_SORT_BY_ALPHA);\n        ATTR_MAP.put(779, MD_SPA);\n        ATTR_MAP.put(780, MD_SPACE_BAR);\n        ATTR_MAP.put(781, MD_SPEAKER);\n        ATTR_MAP.put(782, MD_SPEAKER_GROUP);\n        ATTR_MAP.put(783, MD_SPEAKER_NOTES);\n        ATTR_MAP.put(784, MD_SPEAKER_NOTES_OFF);\n        ATTR_MAP.put(785, MD_SPEAKER_PHONE);\n        ATTR_MAP.put(786, MD_SPELLCHECK);\n        ATTR_MAP.put(787, MD_STAR);\n        ATTR_MAP.put(788, MD_STAR_BORDER);\n        ATTR_MAP.put(789, MD_STAR_HALF);\n        ATTR_MAP.put(790, MD_STARS);\n        ATTR_MAP.put(791, MD_STAY_CURRENT_LANDSCAPE);\n        ATTR_MAP.put(792, MD_STAY_CURRENT_PORTRAIT);\n        ATTR_MAP.put(793, MD_STAY_PRIMARY_LANDSCAPE);\n        ATTR_MAP.put(794, MD_STAY_PRIMARY_PORTRAIT);\n        ATTR_MAP.put(795, MD_STOP);\n        ATTR_MAP.put(796, MD_STOP_SCREEN_SHARE);\n        ATTR_MAP.put(797, MD_STORAGE);\n        ATTR_MAP.put(798, MD_STORE);\n        ATTR_MAP.put(799, MD_STORE_MALL_DIRECTORY);\n        ATTR_MAP.put(800, MD_STRAIGHTEN);\n        ATTR_MAP.put(801, MD_STREETVIEW);\n        ATTR_MAP.put(802, MD_STRIKETHROUGH_S);\n        ATTR_MAP.put(803, MD_STYLE);\n        ATTR_MAP.put(804, MD_SUBDIRECTORY_ARROW_LEFT);\n        ATTR_MAP.put(805, MD_SUBDIRECTORY_ARROW_RIGHT);\n        ATTR_MAP.put(806, MD_SUBJECT);\n        ATTR_MAP.put(807, MD_SUBSCRIPTIONS);\n        ATTR_MAP.put(808, MD_SUBTITLES);\n        ATTR_MAP.put(809, MD_SUBWAY);\n        ATTR_MAP.put(810, MD_SUPERVISOR_ACCOUNT);\n        ATTR_MAP.put(811, MD_SURROUND_SOUND);\n        ATTR_MAP.put(812, MD_SWAP_CALLS);\n        ATTR_MAP.put(813, MD_SWAP_HORIZ);\n        ATTR_MAP.put(814, MD_SWAP_VERT);\n        ATTR_MAP.put(815, MD_SWAP_VERTICAL_CIRCLE);\n        ATTR_MAP.put(816, MD_SWITCH_CAMERA);\n        ATTR_MAP.put(817, MD_SWITCH_VIDEO);\n        ATTR_MAP.put(818, MD_SYNC);\n        ATTR_MAP.put(819, MD_SYNC_DISABLED);\n        ATTR_MAP.put(820, MD_SYNC_PROBLEM);\n        ATTR_MAP.put(821, MD_SYSTEM_UPDATE);\n        ATTR_MAP.put(822, MD_SYSTEM_UPDATE_ALT);\n        ATTR_MAP.put(823, MD_TAB);\n        ATTR_MAP.put(824, MD_TAB_UNSELECTED);\n        ATTR_MAP.put(825, MD_TABLET);\n        ATTR_MAP.put(826, MD_TABLET_ANDROID);\n        ATTR_MAP.put(827, MD_TABLET_MAC);\n        ATTR_MAP.put(828, MD_TAG_FACES);\n        ATTR_MAP.put(829, MD_TAP_AND_PLAY);\n        ATTR_MAP.put(830, MD_TERRAIN);\n        ATTR_MAP.put(831, MD_TEXT_FIELDS);\n        ATTR_MAP.put(832, MD_TEXT_FORMAT);\n        ATTR_MAP.put(833, MD_TEXTSMS);\n        ATTR_MAP.put(834, MD_TEXTURE);\n        ATTR_MAP.put(835, MD_THEATERS);\n        ATTR_MAP.put(836, MD_THUMB_DOWN);\n        ATTR_MAP.put(837, MD_THUMB_UP);\n        ATTR_MAP.put(838, MD_THUMBS_UP_DOWN);\n        ATTR_MAP.put(839, MD_TIME_TO_LEAVE);\n        ATTR_MAP.put(840, MD_TIMELAPSE);\n        ATTR_MAP.put(841, MD_TIMELINE);\n        ATTR_MAP.put(842, MD_TIMER);\n        ATTR_MAP.put(843, MD_TIMER_10);\n        ATTR_MAP.put(844, MD_TIMER_3);\n        ATTR_MAP.put(845, MD_TIMER_OFF);\n        ATTR_MAP.put(846, MD_TITLE);\n        ATTR_MAP.put(847, MD_TOC);\n        ATTR_MAP.put(848, MD_TODAY);\n        ATTR_MAP.put(849, MD_TOLL);\n        ATTR_MAP.put(850, MD_TONALITY);\n        ATTR_MAP.put(851, MD_TOUCH_APP);\n        ATTR_MAP.put(852, MD_TOYS);\n        ATTR_MAP.put(853, MD_TRACK_CHANGES);\n        ATTR_MAP.put(854, MD_TRAFFIC);\n        ATTR_MAP.put(855, MD_TRAIN);\n        ATTR_MAP.put(856, MD_TRAM);\n        ATTR_MAP.put(857, MD_TRANSFER_WITHIN_A_STATION);\n        ATTR_MAP.put(858, MD_TRANSFORM);\n        ATTR_MAP.put(859, MD_TRANSLATE);\n        ATTR_MAP.put(860, MD_TRENDING_DOWN);\n        ATTR_MAP.put(861, MD_TRENDING_FLAT);\n        ATTR_MAP.put(862, MD_TRENDING_UP);\n        ATTR_MAP.put(863, MD_TUNE);\n        ATTR_MAP.put(864, MD_TURNED_IN);\n        ATTR_MAP.put(865, MD_TURNED_IN_NOT);\n        ATTR_MAP.put(866, MD_TV);\n        ATTR_MAP.put(867, MD_UNARCHIVE);\n        ATTR_MAP.put(868, MD_UNDO);\n        ATTR_MAP.put(869, MD_UNFOLD_LESS);\n        ATTR_MAP.put(870, MD_UNFOLD_MORE);\n        ATTR_MAP.put(871, MD_UPDATE);\n        ATTR_MAP.put(872, MD_USB);\n        ATTR_MAP.put(873, MD_VERIFIED_USER);\n        ATTR_MAP.put(874, MD_VERTICAL_ALIGN_BOTTOM);\n        ATTR_MAP.put(875, MD_VERTICAL_ALIGN_CENTER);\n        ATTR_MAP.put(876, MD_VERTICAL_ALIGN_TOP);\n        ATTR_MAP.put(877, MD_VIBRATION);\n        ATTR_MAP.put(878, MD_VIDEO_CALL);\n        ATTR_MAP.put(879, MD_VIDEO_LABEL);\n        ATTR_MAP.put(880, MD_VIDEO_LIBRARY);\n        ATTR_MAP.put(881, MD_VIDEOCAM);\n        ATTR_MAP.put(882, MD_VIDEOCAM_OFF);\n        ATTR_MAP.put(883, MD_VIDEOGAME_ASSET);\n        ATTR_MAP.put(884, MD_VIEW_AGENDA);\n        ATTR_MAP.put(885, MD_VIEW_ARRAY);\n        ATTR_MAP.put(886, MD_VIEW_CAROUSEL);\n        ATTR_MAP.put(887, MD_VIEW_COLUMN);\n        ATTR_MAP.put(888, MD_VIEW_COMFY);\n        ATTR_MAP.put(889, MD_VIEW_COMPACT);\n        ATTR_MAP.put(890, MD_VIEW_DAY);\n        ATTR_MAP.put(891, MD_VIEW_HEADLINE);\n        ATTR_MAP.put(892, MD_VIEW_LIST);\n        ATTR_MAP.put(893, MD_VIEW_MODULE);\n        ATTR_MAP.put(894, MD_VIEW_QUILT);\n        ATTR_MAP.put(895, MD_VIEW_STREAM);\n        ATTR_MAP.put(896, MD_VIEW_WEEK);\n        ATTR_MAP.put(897, MD_VIGNETTE);\n        ATTR_MAP.put(898, MD_VISIBILITY);\n        ATTR_MAP.put(899, MD_VISIBILITY_OFF);\n        ATTR_MAP.put(900, MD_VOICE_CHAT);\n        ATTR_MAP.put(901, MD_VOICEMAIL);\n        ATTR_MAP.put(902, MD_VOLUME_DOWN);\n        ATTR_MAP.put(903, MD_VOLUME_MUTE);\n        ATTR_MAP.put(904, MD_VOLUME_OFF);\n        ATTR_MAP.put(905, MD_VOLUME_UP);\n        ATTR_MAP.put(906, MD_VPN_KEY);\n        ATTR_MAP.put(907, MD_VPN_LOCK);\n        ATTR_MAP.put(908, MD_WALLPAPER);\n        ATTR_MAP.put(909, MD_WARNING);\n        ATTR_MAP.put(910, MD_WATCH);\n        ATTR_MAP.put(911, MD_WATCH_LATER);\n        ATTR_MAP.put(912, MD_WB_AUTO);\n        ATTR_MAP.put(913, MD_WB_CLOUDY);\n        ATTR_MAP.put(914, MD_WB_INCANDESCENT);\n        ATTR_MAP.put(915, MD_WB_IRIDESCENT);\n        ATTR_MAP.put(916, MD_WB_SUNNY);\n        ATTR_MAP.put(917, MD_WC);\n        ATTR_MAP.put(918, MD_WEB);\n        ATTR_MAP.put(919, MD_WEB_ASSET);\n        ATTR_MAP.put(920, MD_WEEKEND);\n        ATTR_MAP.put(921, MD_WHATSHOT);\n        ATTR_MAP.put(922, MD_WIDGETS);\n        ATTR_MAP.put(923, MD_WIFI);\n        ATTR_MAP.put(924, MD_WIFI_LOCK);\n        ATTR_MAP.put(925, MD_WIFI_TETHERING);\n        ATTR_MAP.put(926, MD_WORK);\n        ATTR_MAP.put(927, MD_WRAP_TEXT);\n        ATTR_MAP.put(928, MD_YOUTUBE_SEARCHED_FOR);\n        ATTR_MAP.put(929, MD_ZOOM_IN);\n        ATTR_MAP.put(930, MD_ZOOM_OUT);\n        ATTR_MAP.put(931, MD_ZOOM_OUT_MAP);\n    }\n}"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/Typicon.java",
    "content": "package com.beardedhen.androidbootstrap.font;\n\nimport android.support.annotation.StringDef;\n\nimport java.lang.annotation.Retention;\nimport java.lang.annotation.RetentionPolicy;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Maps Typicons Icon Codes to unicode characters, allowing its use in AwesomeTextView.\n * See the <a href='http://typicons.com/'>Cheatsheet</a> for icon\n * code reference. <b>Please note that icon codes have been prefixed with \"ty_\".</b>\n * For example, \"adjust_brightness\" would become \"ty_adjust_brightness\".\n */\npublic class Typicon implements IconSet {\n\n    public static final String FONT_PATH = \"typicons-v207.ttf\";\n\n    private static final Map<String, String> ICON_MAP = new HashMap<>();\n    private static final Map<Integer, String> ATTR_MAP = new HashMap<>();\n\n    @Override public CharSequence unicodeForKey(@Icon CharSequence key) {\n        return ICON_MAP.get(key);\n    }\n\n    @Override public CharSequence iconCodeForAttrIndex(int index) {\n        return ATTR_MAP.get(index);\n    }\n\n    @Override public CharSequence fontPath() {\n        return FONT_PATH;\n    }\n\n    // Auto-generated Icon Set from 2015-10-05\n\n    @Retention(RetentionPolicy.SOURCE)\n    @StringDef({\n            TY_ADJUST_BRIGHTNESS,\n            TY_ADJUST_CONTRAST,\n            TY_ANCHOR,\n            TY_ANCHOR_OUTLINE,\n            TY_ARCHIVE,\n            TY_ARROW_BACK,\n            TY_ARROW_BACK_OUTLINE,\n            TY_ARROW_DOWN,\n            TY_ARROW_DOWN_OUTLINE,\n            TY_ARROW_DOWN_THICK,\n            TY_ARROW_FORWARD,\n            TY_ARROW_FORWARD_OUTLINE,\n            TY_ARROW_LEFT,\n            TY_ARROW_LEFT_OUTLINE,\n            TY_ARROW_LEFT_THICK,\n            TY_ARROW_LOOP,\n            TY_ARROW_LOOP_OUTLINE,\n            TY_ARROW_MAXIMISE,\n            TY_ARROW_MAXIMISE_OUTLINE,\n            TY_ARROW_MINIMISE,\n            TY_ARROW_MINIMISE_OUTLINE,\n            TY_ARROW_MOVE,\n            TY_ARROW_MOVE_OUTLINE,\n            TY_ARROW_REPEAT,\n            TY_ARROW_REPEAT_OUTLINE,\n            TY_ARROW_RIGHT,\n            TY_ARROW_RIGHT_OUTLINE,\n            TY_ARROW_RIGHT_THICK,\n            TY_ARROW_SHUFFLE,\n            TY_ARROW_SORTED_DOWN,\n            TY_ARROW_SORTED_UP,\n            TY_ARROW_SYNC,\n            TY_ARROW_SYNC_OUTLINE,\n            TY_ARROW_UNSORTED,\n            TY_ARROW_UP,\n            TY_ARROW_UP_OUTLINE,\n            TY_ARROW_UP_THICK,\n            TY_AT,\n            TY_ATTACHMENT,\n            TY_ATTACHMENT_OUTLINE,\n            TY_BACKSPACE,\n            TY_BACKSPACE_OUTLINE,\n            TY_BATTERY_CHARGE,\n            TY_BATTERY_FULL,\n            TY_BATTERY_HIGH,\n            TY_BATTERY_LOW,\n            TY_BATTERY_MID,\n            TY_BEAKER,\n            TY_BEER,\n            TY_BELL,\n            TY_BOOK,\n            TY_BOOKMARK,\n            TY_BRIEFCASE,\n            TY_BRUSH,\n            TY_BUSINESS_CARD,\n            TY_CALCULATOR,\n            TY_CALENDAR,\n            TY_CALENDAR_OUTLINE,\n            TY_CAMERA,\n            TY_CAMERA_OUTLINE,\n            TY_CANCEL,\n            TY_CANCEL_OUTLINE,\n            TY_CHART_AREA,\n            TY_CHART_AREA_OUTLINE,\n            TY_CHART_BAR,\n            TY_CHART_BAR_OUTLINE,\n            TY_CHART_LINE,\n            TY_CHART_LINE_OUTLINE,\n            TY_CHART_PIE,\n            TY_CHART_PIE_OUTLINE,\n            TY_CHEVRON_LEFT,\n            TY_CHEVRON_LEFT_OUTLINE,\n            TY_CHEVRON_RIGHT,\n            TY_CHEVRON_RIGHT_OUTLINE,\n            TY_CLIPBOARD,\n            TY_CLOUD_STORAGE,\n            TY_CLOUD_STORAGE_OUTLINE,\n            TY_CODE,\n            TY_CODE_OUTLINE,\n            TY_COFFEE,\n            TY_COG,\n            TY_COG_OUTLINE,\n            TY_COMPASS,\n            TY_CONTACTS,\n            TY_CREDIT_CARD,\n            TY_CSS3,\n            TY_DATABASE,\n            TY_DELETE,\n            TY_DELETE_OUTLINE,\n            TY_DEVICE_DESKTOP,\n            TY_DEVICE_LAPTOP,\n            TY_DEVICE_PHONE,\n            TY_DEVICE_TABLET,\n            TY_DIRECTIONS,\n            TY_DIVIDE,\n            TY_DIVIDE_OUTLINE,\n            TY_DOCUMENT,\n            TY_DOCUMENT_ADD,\n            TY_DOCUMENT_DELETE,\n            TY_DOCUMENT_TEXT,\n            TY_DOWNLOAD,\n            TY_DOWNLOAD_OUTLINE,\n            TY_DROPBOX,\n            TY_EDIT,\n            TY_EJECT,\n            TY_EJECT_OUTLINE,\n            TY_EQUALS,\n            TY_EQUALS_OUTLINE,\n            TY_EXPORT,\n            TY_EXPORT_OUTLINE,\n            TY_EYE,\n            TY_EYE_OUTLINE,\n            TY_FEATHER,\n            TY_FILM,\n            TY_FILTER,\n            TY_FLAG,\n            TY_FLAG_OUTLINE,\n            TY_FLASH,\n            TY_FLASH_OUTLINE,\n            TY_FLOW_CHILDREN,\n            TY_FLOW_MERGE,\n            TY_FLOW_PARALLEL,\n            TY_FLOW_SWITCH,\n            TY_FOLDER,\n            TY_FOLDER_ADD,\n            TY_FOLDER_DELETE,\n            TY_FOLDER_OPEN,\n            TY_GIFT,\n            TY_GLOBE,\n            TY_GLOBE_OUTLINE,\n            TY_GROUP,\n            TY_GROUP_OUTLINE,\n            TY_HEADPHONES,\n            TY_HEART,\n            TY_HEART_FULL_OUTLINE,\n            TY_HEART_HALF_OUTLINE,\n            TY_HEART_OUTLINE,\n            TY_HOME,\n            TY_HOME_OUTLINE,\n            TY_HTML5,\n            TY_IMAGE,\n            TY_IMAGE_OUTLINE,\n            TY_INFINITY,\n            TY_INFINITY_OUTLINE,\n            TY_INFO,\n            TY_INFO_LARGE,\n            TY_INFO_LARGE_OUTLINE,\n            TY_INFO_OUTLINE,\n            TY_INPUT_CHECKED,\n            TY_INPUT_CHECKED_OUTLINE,\n            TY_KEY,\n            TY_KEY_OUTLINE,\n            TY_KEYBOARD,\n            TY_LEAF,\n            TY_LIGHTBULB,\n            TY_LINK,\n            TY_LINK_OUTLINE,\n            TY_LOCATION,\n            TY_LOCATION_ARROW,\n            TY_LOCATION_ARROW_OUTLINE,\n            TY_LOCATION_OUTLINE,\n            TY_LOCK_CLOSED,\n            TY_LOCK_CLOSED_OUTLINE,\n            TY_LOCK_OPEN,\n            TY_LOCK_OPEN_OUTLINE,\n            TY_MAIL,\n            TY_MAP,\n            TY_MEDIA_EJECT,\n            TY_MEDIA_EJECT_OUTLINE,\n            TY_MEDIA_FAST_FORWARD,\n            TY_MEDIA_FAST_FORWARD_OUTLINE,\n            TY_MEDIA_PAUSE,\n            TY_MEDIA_PAUSE_OUTLINE,\n            TY_MEDIA_PLAY,\n            TY_MEDIA_PLAY_OUTLINE,\n            TY_MEDIA_PLAY_REVERSE,\n            TY_MEDIA_PLAY_REVERSE_OUTLINE,\n            TY_MEDIA_RECORD,\n            TY_MEDIA_RECORD_OUTLINE,\n            TY_MEDIA_REWIND,\n            TY_MEDIA_REWIND_OUTLINE,\n            TY_MEDIA_STOP,\n            TY_MEDIA_STOP_OUTLINE,\n            TY_MESSAGE,\n            TY_MESSAGE_TYPING,\n            TY_MESSAGES,\n            TY_MICROPHONE,\n            TY_MICROPHONE_OUTLINE,\n            TY_MINUS,\n            TY_MINUS_OUTLINE,\n            TY_MORTAR_BOARD,\n            TY_NEWS,\n            TY_NOTES,\n            TY_NOTES_OUTLINE,\n            TY_PEN,\n            TY_PENCIL,\n            TY_PHONE,\n            TY_PHONE_OUTLINE,\n            TY_PI,\n            TY_PI_OUTLINE,\n            TY_PIN,\n            TY_PIN_OUTLINE,\n            TY_PIPETTE,\n            TY_PLANE,\n            TY_PLANE_OUTLINE,\n            TY_PLUG,\n            TY_PLUS,\n            TY_PLUS_OUTLINE,\n            TY_POINT_OF_INTEREST,\n            TY_POINT_OF_INTEREST_OUTLINE,\n            TY_POWER,\n            TY_POWER_OUTLINE,\n            TY_PRINTER,\n            TY_PUZZLE,\n            TY_PUZZLE_OUTLINE,\n            TY_RADAR,\n            TY_RADAR_OUTLINE,\n            TY_REFRESH,\n            TY_REFRESH_OUTLINE,\n            TY_RSS,\n            TY_RSS_OUTLINE,\n            TY_SCISSORS,\n            TY_SCISSORS_OUTLINE,\n            TY_SHOPPING_BAG,\n            TY_SHOPPING_CART,\n            TY_SOCIAL_AT_CIRCULAR,\n            TY_SOCIAL_DRIBBBLE,\n            TY_SOCIAL_DRIBBBLE_CIRCULAR,\n            TY_SOCIAL_FACEBOOK,\n            TY_SOCIAL_FACEBOOK_CIRCULAR,\n            TY_SOCIAL_FLICKR,\n            TY_SOCIAL_FLICKR_CIRCULAR,\n            TY_SOCIAL_GITHUB,\n            TY_SOCIAL_GITHUB_CIRCULAR,\n            TY_SOCIAL_GOOGLE_PLUS,\n            TY_SOCIAL_GOOGLE_PLUS_CIRCULAR,\n            TY_SOCIAL_INSTAGRAM,\n            TY_SOCIAL_INSTAGRAM_CIRCULAR,\n            TY_SOCIAL_LAST_FM,\n            TY_SOCIAL_LAST_FM_CIRCULAR,\n            TY_SOCIAL_LINKEDIN,\n            TY_SOCIAL_LINKEDIN_CIRCULAR,\n            TY_SOCIAL_PINTEREST,\n            TY_SOCIAL_PINTEREST_CIRCULAR,\n            TY_SOCIAL_SKYPE,\n            TY_SOCIAL_SKYPE_OUTLINE,\n            TY_SOCIAL_TUMBLER,\n            TY_SOCIAL_TUMBLER_CIRCULAR,\n            TY_SOCIAL_TWITTER,\n            TY_SOCIAL_TWITTER_CIRCULAR,\n            TY_SOCIAL_VIMEO,\n            TY_SOCIAL_VIMEO_CIRCULAR,\n            TY_SOCIAL_YOUTUBE,\n            TY_SOCIAL_YOUTUBE_CIRCULAR,\n            TY_SORT_ALPHABETICALLY,\n            TY_SORT_ALPHABETICALLY_OUTLINE,\n            TY_SORT_NUMERICALLY,\n            TY_SORT_NUMERICALLY_OUTLINE,\n            TY_SPANNER,\n            TY_SPANNER_OUTLINE,\n            TY_SPIRAL,\n            TY_STAR,\n            TY_STAR_FULL_OUTLINE,\n            TY_STAR_HALF,\n            TY_STAR_HALF_OUTLINE,\n            TY_STAR_OUTLINE,\n            TY_STARBURST,\n            TY_STARBURST_OUTLINE,\n            TY_STOPWATCH,\n            TY_SUPPORT,\n            TY_TABS_OUTLINE,\n            TY_TAG,\n            TY_TAGS,\n            TY_TH_LARGE,\n            TY_TH_LARGE_OUTLINE,\n            TY_TH_LIST,\n            TY_TH_LIST_OUTLINE,\n            TY_TH_MENU,\n            TY_TH_MENU_OUTLINE,\n            TY_TH_SMALL,\n            TY_TH_SMALL_OUTLINE,\n            TY_THERMOMETER,\n            TY_THUMBS_DOWN,\n            TY_THUMBS_OK,\n            TY_THUMBS_UP,\n            TY_TICK,\n            TY_TICK_OUTLINE,\n            TY_TICKET,\n            TY_TIME,\n            TY_TIMES,\n            TY_TIMES_OUTLINE,\n            TY_TRASH,\n            TY_TREE,\n            TY_UPLOAD,\n            TY_UPLOAD_OUTLINE,\n            TY_USER,\n            TY_USER_ADD,\n            TY_USER_ADD_OUTLINE,\n            TY_USER_DELETE,\n            TY_USER_DELETE_OUTLINE,\n            TY_USER_OUTLINE,\n            TY_VENDOR_ANDROID,\n            TY_VENDOR_APPLE,\n            TY_VENDOR_MICROSOFT,\n            TY_VIDEO,\n            TY_VIDEO_OUTLINE,\n            TY_VOLUME,\n            TY_VOLUME_DOWN,\n            TY_VOLUME_MUTE,\n            TY_VOLUME_UP,\n            TY_WARNING,\n            TY_WARNING_OUTLINE,\n            TY_WATCH,\n            TY_WAVES,\n            TY_WAVES_OUTLINE,\n            TY_WEATHER_CLOUDY,\n            TY_WEATHER_DOWNPOUR,\n            TY_WEATHER_NIGHT,\n            TY_WEATHER_PARTLY_SUNNY,\n            TY_WEATHER_SHOWER,\n            TY_WEATHER_SNOW,\n            TY_WEATHER_STORMY,\n            TY_WEATHER_SUNNY,\n            TY_WEATHER_WINDY,\n            TY_WEATHER_WINDY_CLOUDY,\n            TY_WI_FI,\n            TY_WI_FI_OUTLINE,\n            TY_WINE,\n            TY_WORLD,\n            TY_WORLD_OUTLINE,\n            TY_ZOOM,\n            TY_ZOOM_IN,\n            TY_ZOOM_IN_OUTLINE,\n            TY_ZOOM_OUT,\n            TY_ZOOM_OUT_OUTLINE,\n            TY_ZOOM_OUTLINE,\n    }) public @interface Icon {\n    }\n\n    public static final String TY_ADJUST_BRIGHTNESS = \"ty_adjust_brightness\";\n    public static final String TY_ADJUST_CONTRAST = \"ty_adjust_contrast\";\n    public static final String TY_ANCHOR = \"ty_anchor\";\n    public static final String TY_ANCHOR_OUTLINE = \"ty_anchor_outline\";\n    public static final String TY_ARCHIVE = \"ty_archive\";\n    public static final String TY_ARROW_BACK = \"ty_arrow_back\";\n    public static final String TY_ARROW_BACK_OUTLINE = \"ty_arrow_back_outline\";\n    public static final String TY_ARROW_DOWN = \"ty_arrow_down\";\n    public static final String TY_ARROW_DOWN_OUTLINE = \"ty_arrow_down_outline\";\n    public static final String TY_ARROW_DOWN_THICK = \"ty_arrow_down_thick\";\n    public static final String TY_ARROW_FORWARD = \"ty_arrow_forward\";\n    public static final String TY_ARROW_FORWARD_OUTLINE = \"ty_arrow_forward_outline\";\n    public static final String TY_ARROW_LEFT = \"ty_arrow_left\";\n    public static final String TY_ARROW_LEFT_OUTLINE = \"ty_arrow_left_outline\";\n    public static final String TY_ARROW_LEFT_THICK = \"ty_arrow_left_thick\";\n    public static final String TY_ARROW_LOOP = \"ty_arrow_loop\";\n    public static final String TY_ARROW_LOOP_OUTLINE = \"ty_arrow_loop_outline\";\n    public static final String TY_ARROW_MAXIMISE = \"ty_arrow_maximise\";\n    public static final String TY_ARROW_MAXIMISE_OUTLINE = \"ty_arrow_maximise_outline\";\n    public static final String TY_ARROW_MINIMISE = \"ty_arrow_minimise\";\n    public static final String TY_ARROW_MINIMISE_OUTLINE = \"ty_arrow_minimise_outline\";\n    public static final String TY_ARROW_MOVE = \"ty_arrow_move\";\n    public static final String TY_ARROW_MOVE_OUTLINE = \"ty_arrow_move_outline\";\n    public static final String TY_ARROW_REPEAT = \"ty_arrow_repeat\";\n    public static final String TY_ARROW_REPEAT_OUTLINE = \"ty_arrow_repeat_outline\";\n    public static final String TY_ARROW_RIGHT = \"ty_arrow_right\";\n    public static final String TY_ARROW_RIGHT_OUTLINE = \"ty_arrow_right_outline\";\n    public static final String TY_ARROW_RIGHT_THICK = \"ty_arrow_right_thick\";\n    public static final String TY_ARROW_SHUFFLE = \"ty_arrow_shuffle\";\n    public static final String TY_ARROW_SORTED_DOWN = \"ty_arrow_sorted_down\";\n    public static final String TY_ARROW_SORTED_UP = \"ty_arrow_sorted_up\";\n    public static final String TY_ARROW_SYNC = \"ty_arrow_sync\";\n    public static final String TY_ARROW_SYNC_OUTLINE = \"ty_arrow_sync_outline\";\n    public static final String TY_ARROW_UNSORTED = \"ty_arrow_unsorted\";\n    public static final String TY_ARROW_UP = \"ty_arrow_up\";\n    public static final String TY_ARROW_UP_OUTLINE = \"ty_arrow_up_outline\";\n    public static final String TY_ARROW_UP_THICK = \"ty_arrow_up_thick\";\n    public static final String TY_AT = \"ty_at\";\n    public static final String TY_ATTACHMENT = \"ty_attachment\";\n    public static final String TY_ATTACHMENT_OUTLINE = \"ty_attachment_outline\";\n    public static final String TY_BACKSPACE = \"ty_backspace\";\n    public static final String TY_BACKSPACE_OUTLINE = \"ty_backspace_outline\";\n    public static final String TY_BATTERY_CHARGE = \"ty_battery_charge\";\n    public static final String TY_BATTERY_FULL = \"ty_battery_full\";\n    public static final String TY_BATTERY_HIGH = \"ty_battery_high\";\n    public static final String TY_BATTERY_LOW = \"ty_battery_low\";\n    public static final String TY_BATTERY_MID = \"ty_battery_mid\";\n    public static final String TY_BEAKER = \"ty_beaker\";\n    public static final String TY_BEER = \"ty_beer\";\n    public static final String TY_BELL = \"ty_bell\";\n    public static final String TY_BOOK = \"ty_book\";\n    public static final String TY_BOOKMARK = \"ty_bookmark\";\n    public static final String TY_BRIEFCASE = \"ty_briefcase\";\n    public static final String TY_BRUSH = \"ty_brush\";\n    public static final String TY_BUSINESS_CARD = \"ty_business_card\";\n    public static final String TY_CALCULATOR = \"ty_calculator\";\n    public static final String TY_CALENDAR = \"ty_calendar\";\n    public static final String TY_CALENDAR_OUTLINE = \"ty_calendar_outline\";\n    public static final String TY_CAMERA = \"ty_camera\";\n    public static final String TY_CAMERA_OUTLINE = \"ty_camera_outline\";\n    public static final String TY_CANCEL = \"ty_cancel\";\n    public static final String TY_CANCEL_OUTLINE = \"ty_cancel_outline\";\n    public static final String TY_CHART_AREA = \"ty_chart_area\";\n    public static final String TY_CHART_AREA_OUTLINE = \"ty_chart_area_outline\";\n    public static final String TY_CHART_BAR = \"ty_chart_bar\";\n    public static final String TY_CHART_BAR_OUTLINE = \"ty_chart_bar_outline\";\n    public static final String TY_CHART_LINE = \"ty_chart_line\";\n    public static final String TY_CHART_LINE_OUTLINE = \"ty_chart_line_outline\";\n    public static final String TY_CHART_PIE = \"ty_chart_pie\";\n    public static final String TY_CHART_PIE_OUTLINE = \"ty_chart_pie_outline\";\n    public static final String TY_CHEVRON_LEFT = \"ty_chevron_left\";\n    public static final String TY_CHEVRON_LEFT_OUTLINE = \"ty_chevron_left_outline\";\n    public static final String TY_CHEVRON_RIGHT = \"ty_chevron_right\";\n    public static final String TY_CHEVRON_RIGHT_OUTLINE = \"ty_chevron_right_outline\";\n    public static final String TY_CLIPBOARD = \"ty_clipboard\";\n    public static final String TY_CLOUD_STORAGE = \"ty_cloud_storage\";\n    public static final String TY_CLOUD_STORAGE_OUTLINE = \"ty_cloud_storage_outline\";\n    public static final String TY_CODE = \"ty_code\";\n    public static final String TY_CODE_OUTLINE = \"ty_code_outline\";\n    public static final String TY_COFFEE = \"ty_coffee\";\n    public static final String TY_COG = \"ty_cog\";\n    public static final String TY_COG_OUTLINE = \"ty_cog_outline\";\n    public static final String TY_COMPASS = \"ty_compass\";\n    public static final String TY_CONTACTS = \"ty_contacts\";\n    public static final String TY_CREDIT_CARD = \"ty_credit_card\";\n    public static final String TY_CSS3 = \"ty_css3\";\n    public static final String TY_DATABASE = \"ty_database\";\n    public static final String TY_DELETE = \"ty_delete\";\n    public static final String TY_DELETE_OUTLINE = \"ty_delete_outline\";\n    public static final String TY_DEVICE_DESKTOP = \"ty_device_desktop\";\n    public static final String TY_DEVICE_LAPTOP = \"ty_device_laptop\";\n    public static final String TY_DEVICE_PHONE = \"ty_device_phone\";\n    public static final String TY_DEVICE_TABLET = \"ty_device_tablet\";\n    public static final String TY_DIRECTIONS = \"ty_directions\";\n    public static final String TY_DIVIDE = \"ty_divide\";\n    public static final String TY_DIVIDE_OUTLINE = \"ty_divide_outline\";\n    public static final String TY_DOCUMENT = \"ty_document\";\n    public static final String TY_DOCUMENT_ADD = \"ty_document_add\";\n    public static final String TY_DOCUMENT_DELETE = \"ty_document_delete\";\n    public static final String TY_DOCUMENT_TEXT = \"ty_document_text\";\n    public static final String TY_DOWNLOAD = \"ty_download\";\n    public static final String TY_DOWNLOAD_OUTLINE = \"ty_download_outline\";\n    public static final String TY_DROPBOX = \"ty_dropbox\";\n    public static final String TY_EDIT = \"ty_edit\";\n    public static final String TY_EJECT = \"ty_eject\";\n    public static final String TY_EJECT_OUTLINE = \"ty_eject_outline\";\n    public static final String TY_EQUALS = \"ty_equals\";\n    public static final String TY_EQUALS_OUTLINE = \"ty_equals_outline\";\n    public static final String TY_EXPORT = \"ty_export\";\n    public static final String TY_EXPORT_OUTLINE = \"ty_export_outline\";\n    public static final String TY_EYE = \"ty_eye\";\n    public static final String TY_EYE_OUTLINE = \"ty_eye_outline\";\n    public static final String TY_FEATHER = \"ty_feather\";\n    public static final String TY_FILM = \"ty_film\";\n    public static final String TY_FILTER = \"ty_filter\";\n    public static final String TY_FLAG = \"ty_flag\";\n    public static final String TY_FLAG_OUTLINE = \"ty_flag_outline\";\n    public static final String TY_FLASH = \"ty_flash\";\n    public static final String TY_FLASH_OUTLINE = \"ty_flash_outline\";\n    public static final String TY_FLOW_CHILDREN = \"ty_flow_children\";\n    public static final String TY_FLOW_MERGE = \"ty_flow_merge\";\n    public static final String TY_FLOW_PARALLEL = \"ty_flow_parallel\";\n    public static final String TY_FLOW_SWITCH = \"ty_flow_switch\";\n    public static final String TY_FOLDER = \"ty_folder\";\n    public static final String TY_FOLDER_ADD = \"ty_folder_add\";\n    public static final String TY_FOLDER_DELETE = \"ty_folder_delete\";\n    public static final String TY_FOLDER_OPEN = \"ty_folder_open\";\n    public static final String TY_GIFT = \"ty_gift\";\n    public static final String TY_GLOBE = \"ty_globe\";\n    public static final String TY_GLOBE_OUTLINE = \"ty_globe_outline\";\n    public static final String TY_GROUP = \"ty_group\";\n    public static final String TY_GROUP_OUTLINE = \"ty_group_outline\";\n    public static final String TY_HEADPHONES = \"ty_headphones\";\n    public static final String TY_HEART = \"ty_heart\";\n    public static final String TY_HEART_FULL_OUTLINE = \"ty_heart_full_outline\";\n    public static final String TY_HEART_HALF_OUTLINE = \"ty_heart_half_outline\";\n    public static final String TY_HEART_OUTLINE = \"ty_heart_outline\";\n    public static final String TY_HOME = \"ty_home\";\n    public static final String TY_HOME_OUTLINE = \"ty_home_outline\";\n    public static final String TY_HTML5 = \"ty_html5\";\n    public static final String TY_IMAGE = \"ty_image\";\n    public static final String TY_IMAGE_OUTLINE = \"ty_image_outline\";\n    public static final String TY_INFINITY = \"ty_infinity\";\n    public static final String TY_INFINITY_OUTLINE = \"ty_infinity_outline\";\n    public static final String TY_INFO = \"ty_info\";\n    public static final String TY_INFO_LARGE = \"ty_info_large\";\n    public static final String TY_INFO_LARGE_OUTLINE = \"ty_info_large_outline\";\n    public static final String TY_INFO_OUTLINE = \"ty_info_outline\";\n    public static final String TY_INPUT_CHECKED = \"ty_input_checked\";\n    public static final String TY_INPUT_CHECKED_OUTLINE = \"ty_input_checked_outline\";\n    public static final String TY_KEY = \"ty_key\";\n    public static final String TY_KEY_OUTLINE = \"ty_key_outline\";\n    public static final String TY_KEYBOARD = \"ty_keyboard\";\n    public static final String TY_LEAF = \"ty_leaf\";\n    public static final String TY_LIGHTBULB = \"ty_lightbulb\";\n    public static final String TY_LINK = \"ty_link\";\n    public static final String TY_LINK_OUTLINE = \"ty_link_outline\";\n    public static final String TY_LOCATION = \"ty_location\";\n    public static final String TY_LOCATION_ARROW = \"ty_location_arrow\";\n    public static final String TY_LOCATION_ARROW_OUTLINE = \"ty_location_arrow_outline\";\n    public static final String TY_LOCATION_OUTLINE = \"ty_location_outline\";\n    public static final String TY_LOCK_CLOSED = \"ty_lock_closed\";\n    public static final String TY_LOCK_CLOSED_OUTLINE = \"ty_lock_closed_outline\";\n    public static final String TY_LOCK_OPEN = \"ty_lock_open\";\n    public static final String TY_LOCK_OPEN_OUTLINE = \"ty_lock_open_outline\";\n    public static final String TY_MAIL = \"ty_mail\";\n    public static final String TY_MAP = \"ty_map\";\n    public static final String TY_MEDIA_EJECT = \"ty_media_eject\";\n    public static final String TY_MEDIA_EJECT_OUTLINE = \"ty_media_eject_outline\";\n    public static final String TY_MEDIA_FAST_FORWARD = \"ty_media_fast_forward\";\n    public static final String TY_MEDIA_FAST_FORWARD_OUTLINE = \"ty_media_fast_forward_outline\";\n    public static final String TY_MEDIA_PAUSE = \"ty_media_pause\";\n    public static final String TY_MEDIA_PAUSE_OUTLINE = \"ty_media_pause_outline\";\n    public static final String TY_MEDIA_PLAY = \"ty_media_play\";\n    public static final String TY_MEDIA_PLAY_OUTLINE = \"ty_media_play_outline\";\n    public static final String TY_MEDIA_PLAY_REVERSE = \"ty_media_play_reverse\";\n    public static final String TY_MEDIA_PLAY_REVERSE_OUTLINE = \"ty_media_play_reverse_outline\";\n    public static final String TY_MEDIA_RECORD = \"ty_media_record\";\n    public static final String TY_MEDIA_RECORD_OUTLINE = \"ty_media_record_outline\";\n    public static final String TY_MEDIA_REWIND = \"ty_media_rewind\";\n    public static final String TY_MEDIA_REWIND_OUTLINE = \"ty_media_rewind_outline\";\n    public static final String TY_MEDIA_STOP = \"ty_media_stop\";\n    public static final String TY_MEDIA_STOP_OUTLINE = \"ty_media_stop_outline\";\n    public static final String TY_MESSAGE = \"ty_message\";\n    public static final String TY_MESSAGE_TYPING = \"ty_message_typing\";\n    public static final String TY_MESSAGES = \"ty_messages\";\n    public static final String TY_MICROPHONE = \"ty_microphone\";\n    public static final String TY_MICROPHONE_OUTLINE = \"ty_microphone_outline\";\n    public static final String TY_MINUS = \"ty_minus\";\n    public static final String TY_MINUS_OUTLINE = \"ty_minus_outline\";\n    public static final String TY_MORTAR_BOARD = \"ty_mortar_board\";\n    public static final String TY_NEWS = \"ty_news\";\n    public static final String TY_NOTES = \"ty_notes\";\n    public static final String TY_NOTES_OUTLINE = \"ty_notes_outline\";\n    public static final String TY_PEN = \"ty_pen\";\n    public static final String TY_PENCIL = \"ty_pencil\";\n    public static final String TY_PHONE = \"ty_phone\";\n    public static final String TY_PHONE_OUTLINE = \"ty_phone_outline\";\n    public static final String TY_PI = \"ty_pi\";\n    public static final String TY_PI_OUTLINE = \"ty_pi_outline\";\n    public static final String TY_PIN = \"ty_pin\";\n    public static final String TY_PIN_OUTLINE = \"ty_pin_outline\";\n    public static final String TY_PIPETTE = \"ty_pipette\";\n    public static final String TY_PLANE = \"ty_plane\";\n    public static final String TY_PLANE_OUTLINE = \"ty_plane_outline\";\n    public static final String TY_PLUG = \"ty_plug\";\n    public static final String TY_PLUS = \"ty_plus\";\n    public static final String TY_PLUS_OUTLINE = \"ty_plus_outline\";\n    public static final String TY_POINT_OF_INTEREST = \"ty_point_of_interest\";\n    public static final String TY_POINT_OF_INTEREST_OUTLINE = \"ty_point_of_interest_outline\";\n    public static final String TY_POWER = \"ty_power\";\n    public static final String TY_POWER_OUTLINE = \"ty_power_outline\";\n    public static final String TY_PRINTER = \"ty_printer\";\n    public static final String TY_PUZZLE = \"ty_puzzle\";\n    public static final String TY_PUZZLE_OUTLINE = \"ty_puzzle_outline\";\n    public static final String TY_RADAR = \"ty_radar\";\n    public static final String TY_RADAR_OUTLINE = \"ty_radar_outline\";\n    public static final String TY_REFRESH = \"ty_refresh\";\n    public static final String TY_REFRESH_OUTLINE = \"ty_refresh_outline\";\n    public static final String TY_RSS = \"ty_rss\";\n    public static final String TY_RSS_OUTLINE = \"ty_rss_outline\";\n    public static final String TY_SCISSORS = \"ty_scissors\";\n    public static final String TY_SCISSORS_OUTLINE = \"ty_scissors_outline\";\n    public static final String TY_SHOPPING_BAG = \"ty_shopping_bag\";\n    public static final String TY_SHOPPING_CART = \"ty_shopping_cart\";\n    public static final String TY_SOCIAL_AT_CIRCULAR = \"ty_social_at_circular\";\n    public static final String TY_SOCIAL_DRIBBBLE = \"ty_social_dribbble\";\n    public static final String TY_SOCIAL_DRIBBBLE_CIRCULAR = \"ty_social_dribbble_circular\";\n    public static final String TY_SOCIAL_FACEBOOK = \"ty_social_facebook\";\n    public static final String TY_SOCIAL_FACEBOOK_CIRCULAR = \"ty_social_facebook_circular\";\n    public static final String TY_SOCIAL_FLICKR = \"ty_social_flickr\";\n    public static final String TY_SOCIAL_FLICKR_CIRCULAR = \"ty_social_flickr_circular\";\n    public static final String TY_SOCIAL_GITHUB = \"ty_social_github\";\n    public static final String TY_SOCIAL_GITHUB_CIRCULAR = \"ty_social_github_circular\";\n    public static final String TY_SOCIAL_GOOGLE_PLUS = \"ty_social_google_plus\";\n    public static final String TY_SOCIAL_GOOGLE_PLUS_CIRCULAR = \"ty_social_google_plus_circular\";\n    public static final String TY_SOCIAL_INSTAGRAM = \"ty_social_instagram\";\n    public static final String TY_SOCIAL_INSTAGRAM_CIRCULAR = \"ty_social_instagram_circular\";\n    public static final String TY_SOCIAL_LAST_FM = \"ty_social_last_fm\";\n    public static final String TY_SOCIAL_LAST_FM_CIRCULAR = \"ty_social_last_fm_circular\";\n    public static final String TY_SOCIAL_LINKEDIN = \"ty_social_linkedin\";\n    public static final String TY_SOCIAL_LINKEDIN_CIRCULAR = \"ty_social_linkedin_circular\";\n    public static final String TY_SOCIAL_PINTEREST = \"ty_social_pinterest\";\n    public static final String TY_SOCIAL_PINTEREST_CIRCULAR = \"ty_social_pinterest_circular\";\n    public static final String TY_SOCIAL_SKYPE = \"ty_social_skype\";\n    public static final String TY_SOCIAL_SKYPE_OUTLINE = \"ty_social_skype_outline\";\n    public static final String TY_SOCIAL_TUMBLER = \"ty_social_tumbler\";\n    public static final String TY_SOCIAL_TUMBLER_CIRCULAR = \"ty_social_tumbler_circular\";\n    public static final String TY_SOCIAL_TWITTER = \"ty_social_twitter\";\n    public static final String TY_SOCIAL_TWITTER_CIRCULAR = \"ty_social_twitter_circular\";\n    public static final String TY_SOCIAL_VIMEO = \"ty_social_vimeo\";\n    public static final String TY_SOCIAL_VIMEO_CIRCULAR = \"ty_social_vimeo_circular\";\n    public static final String TY_SOCIAL_YOUTUBE = \"ty_social_youtube\";\n    public static final String TY_SOCIAL_YOUTUBE_CIRCULAR = \"ty_social_youtube_circular\";\n    public static final String TY_SORT_ALPHABETICALLY = \"ty_sort_alphabetically\";\n    public static final String TY_SORT_ALPHABETICALLY_OUTLINE = \"ty_sort_alphabetically_outline\";\n    public static final String TY_SORT_NUMERICALLY = \"ty_sort_numerically\";\n    public static final String TY_SORT_NUMERICALLY_OUTLINE = \"ty_sort_numerically_outline\";\n    public static final String TY_SPANNER = \"ty_spanner\";\n    public static final String TY_SPANNER_OUTLINE = \"ty_spanner_outline\";\n    public static final String TY_SPIRAL = \"ty_spiral\";\n    public static final String TY_STAR = \"ty_star\";\n    public static final String TY_STAR_FULL_OUTLINE = \"ty_star_full_outline\";\n    public static final String TY_STAR_HALF = \"ty_star_half\";\n    public static final String TY_STAR_HALF_OUTLINE = \"ty_star_half_outline\";\n    public static final String TY_STAR_OUTLINE = \"ty_star_outline\";\n    public static final String TY_STARBURST = \"ty_starburst\";\n    public static final String TY_STARBURST_OUTLINE = \"ty_starburst_outline\";\n    public static final String TY_STOPWATCH = \"ty_stopwatch\";\n    public static final String TY_SUPPORT = \"ty_support\";\n    public static final String TY_TABS_OUTLINE = \"ty_tabs_outline\";\n    public static final String TY_TAG = \"ty_tag\";\n    public static final String TY_TAGS = \"ty_tags\";\n    public static final String TY_TH_LARGE = \"ty_th_large\";\n    public static final String TY_TH_LARGE_OUTLINE = \"ty_th_large_outline\";\n    public static final String TY_TH_LIST = \"ty_th_list\";\n    public static final String TY_TH_LIST_OUTLINE = \"ty_th_list_outline\";\n    public static final String TY_TH_MENU = \"ty_th_menu\";\n    public static final String TY_TH_MENU_OUTLINE = \"ty_th_menu_outline\";\n    public static final String TY_TH_SMALL = \"ty_th_small\";\n    public static final String TY_TH_SMALL_OUTLINE = \"ty_th_small_outline\";\n    public static final String TY_THERMOMETER = \"ty_thermometer\";\n    public static final String TY_THUMBS_DOWN = \"ty_thumbs_down\";\n    public static final String TY_THUMBS_OK = \"ty_thumbs_ok\";\n    public static final String TY_THUMBS_UP = \"ty_thumbs_up\";\n    public static final String TY_TICK = \"ty_tick\";\n    public static final String TY_TICK_OUTLINE = \"ty_tick_outline\";\n    public static final String TY_TICKET = \"ty_ticket\";\n    public static final String TY_TIME = \"ty_time\";\n    public static final String TY_TIMES = \"ty_times\";\n    public static final String TY_TIMES_OUTLINE = \"ty_times_outline\";\n    public static final String TY_TRASH = \"ty_trash\";\n    public static final String TY_TREE = \"ty_tree\";\n    public static final String TY_UPLOAD = \"ty_upload\";\n    public static final String TY_UPLOAD_OUTLINE = \"ty_upload_outline\";\n    public static final String TY_USER = \"ty_user\";\n    public static final String TY_USER_ADD = \"ty_user_add\";\n    public static final String TY_USER_ADD_OUTLINE = \"ty_user_add_outline\";\n    public static final String TY_USER_DELETE = \"ty_user_delete\";\n    public static final String TY_USER_DELETE_OUTLINE = \"ty_user_delete_outline\";\n    public static final String TY_USER_OUTLINE = \"ty_user_outline\";\n    public static final String TY_VENDOR_ANDROID = \"ty_vendor_android\";\n    public static final String TY_VENDOR_APPLE = \"ty_vendor_apple\";\n    public static final String TY_VENDOR_MICROSOFT = \"ty_vendor_microsoft\";\n    public static final String TY_VIDEO = \"ty_video\";\n    public static final String TY_VIDEO_OUTLINE = \"ty_video_outline\";\n    public static final String TY_VOLUME = \"ty_volume\";\n    public static final String TY_VOLUME_DOWN = \"ty_volume_down\";\n    public static final String TY_VOLUME_MUTE = \"ty_volume_mute\";\n    public static final String TY_VOLUME_UP = \"ty_volume_up\";\n    public static final String TY_WARNING = \"ty_warning\";\n    public static final String TY_WARNING_OUTLINE = \"ty_warning_outline\";\n    public static final String TY_WATCH = \"ty_watch\";\n    public static final String TY_WAVES = \"ty_waves\";\n    public static final String TY_WAVES_OUTLINE = \"ty_waves_outline\";\n    public static final String TY_WEATHER_CLOUDY = \"ty_weather_cloudy\";\n    public static final String TY_WEATHER_DOWNPOUR = \"ty_weather_downpour\";\n    public static final String TY_WEATHER_NIGHT = \"ty_weather_night\";\n    public static final String TY_WEATHER_PARTLY_SUNNY = \"ty_weather_partly_sunny\";\n    public static final String TY_WEATHER_SHOWER = \"ty_weather_shower\";\n    public static final String TY_WEATHER_SNOW = \"ty_weather_snow\";\n    public static final String TY_WEATHER_STORMY = \"ty_weather_stormy\";\n    public static final String TY_WEATHER_SUNNY = \"ty_weather_sunny\";\n    public static final String TY_WEATHER_WINDY = \"ty_weather_windy\";\n    public static final String TY_WEATHER_WINDY_CLOUDY = \"ty_weather_windy_cloudy\";\n    public static final String TY_WI_FI = \"ty_wi_fi\";\n    public static final String TY_WI_FI_OUTLINE = \"ty_wi_fi_outline\";\n    public static final String TY_WINE = \"ty_wine\";\n    public static final String TY_WORLD = \"ty_world\";\n    public static final String TY_WORLD_OUTLINE = \"ty_world_outline\";\n    public static final String TY_ZOOM = \"ty_zoom\";\n    public static final String TY_ZOOM_IN = \"ty_zoom_in\";\n    public static final String TY_ZOOM_IN_OUTLINE = \"ty_zoom_in_outline\";\n    public static final String TY_ZOOM_OUT = \"ty_zoom_out\";\n    public static final String TY_ZOOM_OUT_OUTLINE = \"ty_zoom_out_outline\";\n    public static final String TY_ZOOM_OUTLINE = \"ty_zoom_outline\";\n\n    static {\n        ICON_MAP.put(TY_ADJUST_BRIGHTNESS, \"\\ue000\");\n        ICON_MAP.put(TY_ADJUST_CONTRAST, \"\\ue001\");\n        ICON_MAP.put(TY_ANCHOR, \"\\ue003\");\n        ICON_MAP.put(TY_ANCHOR_OUTLINE, \"\\ue002\");\n        ICON_MAP.put(TY_ARCHIVE, \"\\ue004\");\n        ICON_MAP.put(TY_ARROW_BACK, \"\\ue006\");\n        ICON_MAP.put(TY_ARROW_BACK_OUTLINE, \"\\ue005\");\n        ICON_MAP.put(TY_ARROW_DOWN, \"\\ue009\");\n        ICON_MAP.put(TY_ARROW_DOWN_OUTLINE, \"\\ue007\");\n        ICON_MAP.put(TY_ARROW_DOWN_THICK, \"\\ue008\");\n        ICON_MAP.put(TY_ARROW_FORWARD, \"\\ue00b\");\n        ICON_MAP.put(TY_ARROW_FORWARD_OUTLINE, \"\\ue00a\");\n        ICON_MAP.put(TY_ARROW_LEFT, \"\\ue00e\");\n        ICON_MAP.put(TY_ARROW_LEFT_OUTLINE, \"\\ue00c\");\n        ICON_MAP.put(TY_ARROW_LEFT_THICK, \"\\ue00d\");\n        ICON_MAP.put(TY_ARROW_LOOP, \"\\ue010\");\n        ICON_MAP.put(TY_ARROW_LOOP_OUTLINE, \"\\ue00f\");\n        ICON_MAP.put(TY_ARROW_MAXIMISE, \"\\ue012\");\n        ICON_MAP.put(TY_ARROW_MAXIMISE_OUTLINE, \"\\ue011\");\n        ICON_MAP.put(TY_ARROW_MINIMISE, \"\\ue014\");\n        ICON_MAP.put(TY_ARROW_MINIMISE_OUTLINE, \"\\ue013\");\n        ICON_MAP.put(TY_ARROW_MOVE, \"\\ue016\");\n        ICON_MAP.put(TY_ARROW_MOVE_OUTLINE, \"\\ue015\");\n        ICON_MAP.put(TY_ARROW_REPEAT, \"\\ue018\");\n        ICON_MAP.put(TY_ARROW_REPEAT_OUTLINE, \"\\ue017\");\n        ICON_MAP.put(TY_ARROW_RIGHT, \"\\ue01b\");\n        ICON_MAP.put(TY_ARROW_RIGHT_OUTLINE, \"\\ue019\");\n        ICON_MAP.put(TY_ARROW_RIGHT_THICK, \"\\ue01a\");\n        ICON_MAP.put(TY_ARROW_SHUFFLE, \"\\ue01c\");\n        ICON_MAP.put(TY_ARROW_SORTED_DOWN, \"\\ue01d\");\n        ICON_MAP.put(TY_ARROW_SORTED_UP, \"\\ue01e\");\n        ICON_MAP.put(TY_ARROW_SYNC, \"\\ue020\");\n        ICON_MAP.put(TY_ARROW_SYNC_OUTLINE, \"\\ue01f\");\n        ICON_MAP.put(TY_ARROW_UNSORTED, \"\\ue021\");\n        ICON_MAP.put(TY_ARROW_UP, \"\\ue024\");\n        ICON_MAP.put(TY_ARROW_UP_OUTLINE, \"\\ue022\");\n        ICON_MAP.put(TY_ARROW_UP_THICK, \"\\ue023\");\n        ICON_MAP.put(TY_AT, \"\\ue025\");\n        ICON_MAP.put(TY_ATTACHMENT, \"\\ue027\");\n        ICON_MAP.put(TY_ATTACHMENT_OUTLINE, \"\\ue026\");\n        ICON_MAP.put(TY_BACKSPACE, \"\\ue029\");\n        ICON_MAP.put(TY_BACKSPACE_OUTLINE, \"\\ue028\");\n        ICON_MAP.put(TY_BATTERY_CHARGE, \"\\ue02a\");\n        ICON_MAP.put(TY_BATTERY_FULL, \"\\ue02b\");\n        ICON_MAP.put(TY_BATTERY_HIGH, \"\\ue02c\");\n        ICON_MAP.put(TY_BATTERY_LOW, \"\\ue02d\");\n        ICON_MAP.put(TY_BATTERY_MID, \"\\ue02e\");\n        ICON_MAP.put(TY_BEAKER, \"\\ue02f\");\n        ICON_MAP.put(TY_BEER, \"\\ue030\");\n        ICON_MAP.put(TY_BELL, \"\\ue031\");\n        ICON_MAP.put(TY_BOOK, \"\\ue032\");\n        ICON_MAP.put(TY_BOOKMARK, \"\\ue033\");\n        ICON_MAP.put(TY_BRIEFCASE, \"\\ue034\");\n        ICON_MAP.put(TY_BRUSH, \"\\ue035\");\n        ICON_MAP.put(TY_BUSINESS_CARD, \"\\ue036\");\n        ICON_MAP.put(TY_CALCULATOR, \"\\ue037\");\n        ICON_MAP.put(TY_CALENDAR, \"\\ue039\");\n        ICON_MAP.put(TY_CALENDAR_OUTLINE, \"\\ue038\");\n        ICON_MAP.put(TY_CAMERA, \"\\ue03b\");\n        ICON_MAP.put(TY_CAMERA_OUTLINE, \"\\ue03a\");\n        ICON_MAP.put(TY_CANCEL, \"\\ue03d\");\n        ICON_MAP.put(TY_CANCEL_OUTLINE, \"\\ue03c\");\n        ICON_MAP.put(TY_CHART_AREA, \"\\ue03f\");\n        ICON_MAP.put(TY_CHART_AREA_OUTLINE, \"\\ue03e\");\n        ICON_MAP.put(TY_CHART_BAR, \"\\ue041\");\n        ICON_MAP.put(TY_CHART_BAR_OUTLINE, \"\\ue040\");\n        ICON_MAP.put(TY_CHART_LINE, \"\\ue043\");\n        ICON_MAP.put(TY_CHART_LINE_OUTLINE, \"\\ue042\");\n        ICON_MAP.put(TY_CHART_PIE, \"\\ue045\");\n        ICON_MAP.put(TY_CHART_PIE_OUTLINE, \"\\ue044\");\n        ICON_MAP.put(TY_CHEVRON_LEFT, \"\\ue047\");\n        ICON_MAP.put(TY_CHEVRON_LEFT_OUTLINE, \"\\ue046\");\n        ICON_MAP.put(TY_CHEVRON_RIGHT, \"\\ue049\");\n        ICON_MAP.put(TY_CHEVRON_RIGHT_OUTLINE, \"\\ue048\");\n        ICON_MAP.put(TY_CLIPBOARD, \"\\ue04a\");\n        ICON_MAP.put(TY_CLOUD_STORAGE, \"\\ue04b\");\n        ICON_MAP.put(TY_CLOUD_STORAGE_OUTLINE, \"\\ue054\");\n        ICON_MAP.put(TY_CODE, \"\\ue04d\");\n        ICON_MAP.put(TY_CODE_OUTLINE, \"\\ue04c\");\n        ICON_MAP.put(TY_COFFEE, \"\\ue04e\");\n        ICON_MAP.put(TY_COG, \"\\ue050\");\n        ICON_MAP.put(TY_COG_OUTLINE, \"\\ue04f\");\n        ICON_MAP.put(TY_COMPASS, \"\\ue051\");\n        ICON_MAP.put(TY_CONTACTS, \"\\ue052\");\n        ICON_MAP.put(TY_CREDIT_CARD, \"\\ue053\");\n        ICON_MAP.put(TY_CSS3, \"\\ue055\");\n        ICON_MAP.put(TY_DATABASE, \"\\ue056\");\n        ICON_MAP.put(TY_DELETE, \"\\ue058\");\n        ICON_MAP.put(TY_DELETE_OUTLINE, \"\\ue057\");\n        ICON_MAP.put(TY_DEVICE_DESKTOP, \"\\ue059\");\n        ICON_MAP.put(TY_DEVICE_LAPTOP, \"\\ue05a\");\n        ICON_MAP.put(TY_DEVICE_PHONE, \"\\ue05b\");\n        ICON_MAP.put(TY_DEVICE_TABLET, \"\\ue05c\");\n        ICON_MAP.put(TY_DIRECTIONS, \"\\ue05d\");\n        ICON_MAP.put(TY_DIVIDE, \"\\ue05f\");\n        ICON_MAP.put(TY_DIVIDE_OUTLINE, \"\\ue05e\");\n        ICON_MAP.put(TY_DOCUMENT, \"\\ue063\");\n        ICON_MAP.put(TY_DOCUMENT_ADD, \"\\ue060\");\n        ICON_MAP.put(TY_DOCUMENT_DELETE, \"\\ue061\");\n        ICON_MAP.put(TY_DOCUMENT_TEXT, \"\\ue062\");\n        ICON_MAP.put(TY_DOWNLOAD, \"\\ue065\");\n        ICON_MAP.put(TY_DOWNLOAD_OUTLINE, \"\\ue064\");\n        ICON_MAP.put(TY_DROPBOX, \"\\ue066\");\n        ICON_MAP.put(TY_EDIT, \"\\ue067\");\n        ICON_MAP.put(TY_EJECT, \"\\ue069\");\n        ICON_MAP.put(TY_EJECT_OUTLINE, \"\\ue068\");\n        ICON_MAP.put(TY_EQUALS, \"\\ue06b\");\n        ICON_MAP.put(TY_EQUALS_OUTLINE, \"\\ue06a\");\n        ICON_MAP.put(TY_EXPORT, \"\\ue06d\");\n        ICON_MAP.put(TY_EXPORT_OUTLINE, \"\\ue06c\");\n        ICON_MAP.put(TY_EYE, \"\\ue06f\");\n        ICON_MAP.put(TY_EYE_OUTLINE, \"\\ue06e\");\n        ICON_MAP.put(TY_FEATHER, \"\\ue070\");\n        ICON_MAP.put(TY_FILM, \"\\ue071\");\n        ICON_MAP.put(TY_FILTER, \"\\ue072\");\n        ICON_MAP.put(TY_FLAG, \"\\ue074\");\n        ICON_MAP.put(TY_FLAG_OUTLINE, \"\\ue073\");\n        ICON_MAP.put(TY_FLASH, \"\\ue076\");\n        ICON_MAP.put(TY_FLASH_OUTLINE, \"\\ue075\");\n        ICON_MAP.put(TY_FLOW_CHILDREN, \"\\ue077\");\n        ICON_MAP.put(TY_FLOW_MERGE, \"\\ue078\");\n        ICON_MAP.put(TY_FLOW_PARALLEL, \"\\ue079\");\n        ICON_MAP.put(TY_FLOW_SWITCH, \"\\ue07a\");\n        ICON_MAP.put(TY_FOLDER, \"\\ue07e\");\n        ICON_MAP.put(TY_FOLDER_ADD, \"\\ue07b\");\n        ICON_MAP.put(TY_FOLDER_DELETE, \"\\ue07c\");\n        ICON_MAP.put(TY_FOLDER_OPEN, \"\\ue07d\");\n        ICON_MAP.put(TY_GIFT, \"\\ue07f\");\n        ICON_MAP.put(TY_GLOBE, \"\\ue081\");\n        ICON_MAP.put(TY_GLOBE_OUTLINE, \"\\ue080\");\n        ICON_MAP.put(TY_GROUP, \"\\ue083\");\n        ICON_MAP.put(TY_GROUP_OUTLINE, \"\\ue082\");\n        ICON_MAP.put(TY_HEADPHONES, \"\\ue084\");\n        ICON_MAP.put(TY_HEART, \"\\ue088\");\n        ICON_MAP.put(TY_HEART_FULL_OUTLINE, \"\\ue085\");\n        ICON_MAP.put(TY_HEART_HALF_OUTLINE, \"\\ue086\");\n        ICON_MAP.put(TY_HEART_OUTLINE, \"\\ue087\");\n        ICON_MAP.put(TY_HOME, \"\\ue08a\");\n        ICON_MAP.put(TY_HOME_OUTLINE, \"\\ue089\");\n        ICON_MAP.put(TY_HTML5, \"\\ue08b\");\n        ICON_MAP.put(TY_IMAGE, \"\\ue08d\");\n        ICON_MAP.put(TY_IMAGE_OUTLINE, \"\\ue08c\");\n        ICON_MAP.put(TY_INFINITY, \"\\ue08f\");\n        ICON_MAP.put(TY_INFINITY_OUTLINE, \"\\ue08e\");\n        ICON_MAP.put(TY_INFO, \"\\ue093\");\n        ICON_MAP.put(TY_INFO_LARGE, \"\\ue091\");\n        ICON_MAP.put(TY_INFO_LARGE_OUTLINE, \"\\ue090\");\n        ICON_MAP.put(TY_INFO_OUTLINE, \"\\ue092\");\n        ICON_MAP.put(TY_INPUT_CHECKED, \"\\ue095\");\n        ICON_MAP.put(TY_INPUT_CHECKED_OUTLINE, \"\\ue094\");\n        ICON_MAP.put(TY_KEY, \"\\ue097\");\n        ICON_MAP.put(TY_KEY_OUTLINE, \"\\ue096\");\n        ICON_MAP.put(TY_KEYBOARD, \"\\ue098\");\n        ICON_MAP.put(TY_LEAF, \"\\ue099\");\n        ICON_MAP.put(TY_LIGHTBULB, \"\\ue09a\");\n        ICON_MAP.put(TY_LINK, \"\\ue09c\");\n        ICON_MAP.put(TY_LINK_OUTLINE, \"\\ue09b\");\n        ICON_MAP.put(TY_LOCATION, \"\\ue0a0\");\n        ICON_MAP.put(TY_LOCATION_ARROW, \"\\ue09e\");\n        ICON_MAP.put(TY_LOCATION_ARROW_OUTLINE, \"\\ue09d\");\n        ICON_MAP.put(TY_LOCATION_OUTLINE, \"\\ue09f\");\n        ICON_MAP.put(TY_LOCK_CLOSED, \"\\ue0a2\");\n        ICON_MAP.put(TY_LOCK_CLOSED_OUTLINE, \"\\ue0a1\");\n        ICON_MAP.put(TY_LOCK_OPEN, \"\\ue0a4\");\n        ICON_MAP.put(TY_LOCK_OPEN_OUTLINE, \"\\ue0a3\");\n        ICON_MAP.put(TY_MAIL, \"\\ue0a5\");\n        ICON_MAP.put(TY_MAP, \"\\ue0a6\");\n        ICON_MAP.put(TY_MEDIA_EJECT, \"\\ue0a8\");\n        ICON_MAP.put(TY_MEDIA_EJECT_OUTLINE, \"\\ue0a7\");\n        ICON_MAP.put(TY_MEDIA_FAST_FORWARD, \"\\ue0aa\");\n        ICON_MAP.put(TY_MEDIA_FAST_FORWARD_OUTLINE, \"\\ue0a9\");\n        ICON_MAP.put(TY_MEDIA_PAUSE, \"\\ue0ac\");\n        ICON_MAP.put(TY_MEDIA_PAUSE_OUTLINE, \"\\ue0ab\");\n        ICON_MAP.put(TY_MEDIA_PLAY, \"\\ue0b0\");\n        ICON_MAP.put(TY_MEDIA_PLAY_OUTLINE, \"\\ue0ad\");\n        ICON_MAP.put(TY_MEDIA_PLAY_REVERSE, \"\\ue0af\");\n        ICON_MAP.put(TY_MEDIA_PLAY_REVERSE_OUTLINE, \"\\ue0ae\");\n        ICON_MAP.put(TY_MEDIA_RECORD, \"\\ue0b2\");\n        ICON_MAP.put(TY_MEDIA_RECORD_OUTLINE, \"\\ue0b1\");\n        ICON_MAP.put(TY_MEDIA_REWIND, \"\\ue0b4\");\n        ICON_MAP.put(TY_MEDIA_REWIND_OUTLINE, \"\\ue0b3\");\n        ICON_MAP.put(TY_MEDIA_STOP, \"\\ue0b6\");\n        ICON_MAP.put(TY_MEDIA_STOP_OUTLINE, \"\\ue0b5\");\n        ICON_MAP.put(TY_MESSAGE, \"\\ue0b8\");\n        ICON_MAP.put(TY_MESSAGE_TYPING, \"\\ue0b7\");\n        ICON_MAP.put(TY_MESSAGES, \"\\ue0b9\");\n        ICON_MAP.put(TY_MICROPHONE, \"\\ue0bb\");\n        ICON_MAP.put(TY_MICROPHONE_OUTLINE, \"\\ue0ba\");\n        ICON_MAP.put(TY_MINUS, \"\\ue0bd\");\n        ICON_MAP.put(TY_MINUS_OUTLINE, \"\\ue0bc\");\n        ICON_MAP.put(TY_MORTAR_BOARD, \"\\ue0be\");\n        ICON_MAP.put(TY_NEWS, \"\\ue0bf\");\n        ICON_MAP.put(TY_NOTES, \"\\ue0c1\");\n        ICON_MAP.put(TY_NOTES_OUTLINE, \"\\ue0c0\");\n        ICON_MAP.put(TY_PEN, \"\\ue0c2\");\n        ICON_MAP.put(TY_PENCIL, \"\\ue0c3\");\n        ICON_MAP.put(TY_PHONE, \"\\ue0c5\");\n        ICON_MAP.put(TY_PHONE_OUTLINE, \"\\ue0c4\");\n        ICON_MAP.put(TY_PI, \"\\ue0c7\");\n        ICON_MAP.put(TY_PI_OUTLINE, \"\\ue0c6\");\n        ICON_MAP.put(TY_PIN, \"\\ue0c9\");\n        ICON_MAP.put(TY_PIN_OUTLINE, \"\\ue0c8\");\n        ICON_MAP.put(TY_PIPETTE, \"\\ue0ca\");\n        ICON_MAP.put(TY_PLANE, \"\\ue0cc\");\n        ICON_MAP.put(TY_PLANE_OUTLINE, \"\\ue0cb\");\n        ICON_MAP.put(TY_PLUG, \"\\ue0cd\");\n        ICON_MAP.put(TY_PLUS, \"\\ue0cf\");\n        ICON_MAP.put(TY_PLUS_OUTLINE, \"\\ue0ce\");\n        ICON_MAP.put(TY_POINT_OF_INTEREST, \"\\ue0d1\");\n        ICON_MAP.put(TY_POINT_OF_INTEREST_OUTLINE, \"\\ue0d0\");\n        ICON_MAP.put(TY_POWER, \"\\ue0d3\");\n        ICON_MAP.put(TY_POWER_OUTLINE, \"\\ue0d2\");\n        ICON_MAP.put(TY_PRINTER, \"\\ue0d4\");\n        ICON_MAP.put(TY_PUZZLE, \"\\ue0d6\");\n        ICON_MAP.put(TY_PUZZLE_OUTLINE, \"\\ue0d5\");\n        ICON_MAP.put(TY_RADAR, \"\\ue0d8\");\n        ICON_MAP.put(TY_RADAR_OUTLINE, \"\\ue0d7\");\n        ICON_MAP.put(TY_REFRESH, \"\\ue0da\");\n        ICON_MAP.put(TY_REFRESH_OUTLINE, \"\\ue0d9\");\n        ICON_MAP.put(TY_RSS, \"\\ue0dc\");\n        ICON_MAP.put(TY_RSS_OUTLINE, \"\\ue0db\");\n        ICON_MAP.put(TY_SCISSORS, \"\\ue0de\");\n        ICON_MAP.put(TY_SCISSORS_OUTLINE, \"\\ue0dd\");\n        ICON_MAP.put(TY_SHOPPING_BAG, \"\\ue0df\");\n        ICON_MAP.put(TY_SHOPPING_CART, \"\\ue0e0\");\n        ICON_MAP.put(TY_SOCIAL_AT_CIRCULAR, \"\\ue0e1\");\n        ICON_MAP.put(TY_SOCIAL_DRIBBBLE, \"\\ue0e3\");\n        ICON_MAP.put(TY_SOCIAL_DRIBBBLE_CIRCULAR, \"\\ue0e2\");\n        ICON_MAP.put(TY_SOCIAL_FACEBOOK, \"\\ue0e5\");\n        ICON_MAP.put(TY_SOCIAL_FACEBOOK_CIRCULAR, \"\\ue0e4\");\n        ICON_MAP.put(TY_SOCIAL_FLICKR, \"\\ue0e7\");\n        ICON_MAP.put(TY_SOCIAL_FLICKR_CIRCULAR, \"\\ue0e6\");\n        ICON_MAP.put(TY_SOCIAL_GITHUB, \"\\ue0e9\");\n        ICON_MAP.put(TY_SOCIAL_GITHUB_CIRCULAR, \"\\ue0e8\");\n        ICON_MAP.put(TY_SOCIAL_GOOGLE_PLUS, \"\\ue0eb\");\n        ICON_MAP.put(TY_SOCIAL_GOOGLE_PLUS_CIRCULAR, \"\\ue0ea\");\n        ICON_MAP.put(TY_SOCIAL_INSTAGRAM, \"\\ue0ed\");\n        ICON_MAP.put(TY_SOCIAL_INSTAGRAM_CIRCULAR, \"\\ue0ec\");\n        ICON_MAP.put(TY_SOCIAL_LAST_FM, \"\\ue0ef\");\n        ICON_MAP.put(TY_SOCIAL_LAST_FM_CIRCULAR, \"\\ue0ee\");\n        ICON_MAP.put(TY_SOCIAL_LINKEDIN, \"\\ue0f1\");\n        ICON_MAP.put(TY_SOCIAL_LINKEDIN_CIRCULAR, \"\\ue0f0\");\n        ICON_MAP.put(TY_SOCIAL_PINTEREST, \"\\ue0f3\");\n        ICON_MAP.put(TY_SOCIAL_PINTEREST_CIRCULAR, \"\\ue0f2\");\n        ICON_MAP.put(TY_SOCIAL_SKYPE, \"\\ue0f5\");\n        ICON_MAP.put(TY_SOCIAL_SKYPE_OUTLINE, \"\\ue0f4\");\n        ICON_MAP.put(TY_SOCIAL_TUMBLER, \"\\ue0f7\");\n        ICON_MAP.put(TY_SOCIAL_TUMBLER_CIRCULAR, \"\\ue0f6\");\n        ICON_MAP.put(TY_SOCIAL_TWITTER, \"\\ue0f9\");\n        ICON_MAP.put(TY_SOCIAL_TWITTER_CIRCULAR, \"\\ue0f8\");\n        ICON_MAP.put(TY_SOCIAL_VIMEO, \"\\ue0fb\");\n        ICON_MAP.put(TY_SOCIAL_VIMEO_CIRCULAR, \"\\ue0fa\");\n        ICON_MAP.put(TY_SOCIAL_YOUTUBE, \"\\ue0fd\");\n        ICON_MAP.put(TY_SOCIAL_YOUTUBE_CIRCULAR, \"\\ue0fc\");\n        ICON_MAP.put(TY_SORT_ALPHABETICALLY, \"\\ue0ff\");\n        ICON_MAP.put(TY_SORT_ALPHABETICALLY_OUTLINE, \"\\ue0fe\");\n        ICON_MAP.put(TY_SORT_NUMERICALLY, \"\\ue101\");\n        ICON_MAP.put(TY_SORT_NUMERICALLY_OUTLINE, \"\\ue100\");\n        ICON_MAP.put(TY_SPANNER, \"\\ue103\");\n        ICON_MAP.put(TY_SPANNER_OUTLINE, \"\\ue102\");\n        ICON_MAP.put(TY_SPIRAL, \"\\ue104\");\n        ICON_MAP.put(TY_STAR, \"\\ue109\");\n        ICON_MAP.put(TY_STAR_FULL_OUTLINE, \"\\ue105\");\n        ICON_MAP.put(TY_STAR_HALF, \"\\ue107\");\n        ICON_MAP.put(TY_STAR_HALF_OUTLINE, \"\\ue106\");\n        ICON_MAP.put(TY_STAR_OUTLINE, \"\\ue108\");\n        ICON_MAP.put(TY_STARBURST, \"\\ue10b\");\n        ICON_MAP.put(TY_STARBURST_OUTLINE, \"\\ue10a\");\n        ICON_MAP.put(TY_STOPWATCH, \"\\ue10c\");\n        ICON_MAP.put(TY_SUPPORT, \"\\ue10d\");\n        ICON_MAP.put(TY_TABS_OUTLINE, \"\\ue10e\");\n        ICON_MAP.put(TY_TAG, \"\\ue10f\");\n        ICON_MAP.put(TY_TAGS, \"\\ue110\");\n        ICON_MAP.put(TY_TH_LARGE, \"\\ue112\");\n        ICON_MAP.put(TY_TH_LARGE_OUTLINE, \"\\ue111\");\n        ICON_MAP.put(TY_TH_LIST, \"\\ue114\");\n        ICON_MAP.put(TY_TH_LIST_OUTLINE, \"\\ue113\");\n        ICON_MAP.put(TY_TH_MENU, \"\\ue116\");\n        ICON_MAP.put(TY_TH_MENU_OUTLINE, \"\\ue115\");\n        ICON_MAP.put(TY_TH_SMALL, \"\\ue118\");\n        ICON_MAP.put(TY_TH_SMALL_OUTLINE, \"\\ue117\");\n        ICON_MAP.put(TY_THERMOMETER, \"\\ue119\");\n        ICON_MAP.put(TY_THUMBS_DOWN, \"\\ue11a\");\n        ICON_MAP.put(TY_THUMBS_OK, \"\\ue11b\");\n        ICON_MAP.put(TY_THUMBS_UP, \"\\ue11c\");\n        ICON_MAP.put(TY_TICK, \"\\ue11e\");\n        ICON_MAP.put(TY_TICK_OUTLINE, \"\\ue11d\");\n        ICON_MAP.put(TY_TICKET, \"\\ue11f\");\n        ICON_MAP.put(TY_TIME, \"\\ue120\");\n        ICON_MAP.put(TY_TIMES, \"\\ue122\");\n        ICON_MAP.put(TY_TIMES_OUTLINE, \"\\ue121\");\n        ICON_MAP.put(TY_TRASH, \"\\ue123\");\n        ICON_MAP.put(TY_TREE, \"\\ue124\");\n        ICON_MAP.put(TY_UPLOAD, \"\\ue126\");\n        ICON_MAP.put(TY_UPLOAD_OUTLINE, \"\\ue125\");\n        ICON_MAP.put(TY_USER, \"\\ue12c\");\n        ICON_MAP.put(TY_USER_ADD, \"\\ue128\");\n        ICON_MAP.put(TY_USER_ADD_OUTLINE, \"\\ue127\");\n        ICON_MAP.put(TY_USER_DELETE, \"\\ue12a\");\n        ICON_MAP.put(TY_USER_DELETE_OUTLINE, \"\\ue129\");\n        ICON_MAP.put(TY_USER_OUTLINE, \"\\ue12b\");\n        ICON_MAP.put(TY_VENDOR_ANDROID, \"\\ue12d\");\n        ICON_MAP.put(TY_VENDOR_APPLE, \"\\ue12e\");\n        ICON_MAP.put(TY_VENDOR_MICROSOFT, \"\\ue12f\");\n        ICON_MAP.put(TY_VIDEO, \"\\ue131\");\n        ICON_MAP.put(TY_VIDEO_OUTLINE, \"\\ue130\");\n        ICON_MAP.put(TY_VOLUME, \"\\ue135\");\n        ICON_MAP.put(TY_VOLUME_DOWN, \"\\ue132\");\n        ICON_MAP.put(TY_VOLUME_MUTE, \"\\ue133\");\n        ICON_MAP.put(TY_VOLUME_UP, \"\\ue134\");\n        ICON_MAP.put(TY_WARNING, \"\\ue137\");\n        ICON_MAP.put(TY_WARNING_OUTLINE, \"\\ue136\");\n        ICON_MAP.put(TY_WATCH, \"\\ue138\");\n        ICON_MAP.put(TY_WAVES, \"\\ue13a\");\n        ICON_MAP.put(TY_WAVES_OUTLINE, \"\\ue139\");\n        ICON_MAP.put(TY_WEATHER_CLOUDY, \"\\ue13b\");\n        ICON_MAP.put(TY_WEATHER_DOWNPOUR, \"\\ue13c\");\n        ICON_MAP.put(TY_WEATHER_NIGHT, \"\\ue13d\");\n        ICON_MAP.put(TY_WEATHER_PARTLY_SUNNY, \"\\ue13e\");\n        ICON_MAP.put(TY_WEATHER_SHOWER, \"\\ue13f\");\n        ICON_MAP.put(TY_WEATHER_SNOW, \"\\ue140\");\n        ICON_MAP.put(TY_WEATHER_STORMY, \"\\ue141\");\n        ICON_MAP.put(TY_WEATHER_SUNNY, \"\\ue142\");\n        ICON_MAP.put(TY_WEATHER_WINDY, \"\\ue144\");\n        ICON_MAP.put(TY_WEATHER_WINDY_CLOUDY, \"\\ue143\");\n        ICON_MAP.put(TY_WI_FI, \"\\ue146\");\n        ICON_MAP.put(TY_WI_FI_OUTLINE, \"\\ue145\");\n        ICON_MAP.put(TY_WINE, \"\\ue147\");\n        ICON_MAP.put(TY_WORLD, \"\\ue149\");\n        ICON_MAP.put(TY_WORLD_OUTLINE, \"\\ue148\");\n        ICON_MAP.put(TY_ZOOM, \"\\ue14f\");\n        ICON_MAP.put(TY_ZOOM_IN, \"\\ue14b\");\n        ICON_MAP.put(TY_ZOOM_IN_OUTLINE, \"\\ue14a\");\n        ICON_MAP.put(TY_ZOOM_OUT, \"\\ue14d\");\n        ICON_MAP.put(TY_ZOOM_OUT_OUTLINE, \"\\ue14c\");\n        ICON_MAP.put(TY_ZOOM_OUTLINE, \"\\ue14e\");\n\n        ATTR_MAP.put(0, TY_ADJUST_BRIGHTNESS);\n        ATTR_MAP.put(1, TY_ADJUST_CONTRAST);\n        ATTR_MAP.put(2, TY_ANCHOR);\n        ATTR_MAP.put(3, TY_ANCHOR_OUTLINE);\n        ATTR_MAP.put(4, TY_ARCHIVE);\n        ATTR_MAP.put(5, TY_ARROW_BACK);\n        ATTR_MAP.put(6, TY_ARROW_BACK_OUTLINE);\n        ATTR_MAP.put(7, TY_ARROW_DOWN);\n        ATTR_MAP.put(8, TY_ARROW_DOWN_OUTLINE);\n        ATTR_MAP.put(9, TY_ARROW_DOWN_THICK);\n        ATTR_MAP.put(10, TY_ARROW_FORWARD);\n        ATTR_MAP.put(11, TY_ARROW_FORWARD_OUTLINE);\n        ATTR_MAP.put(12, TY_ARROW_LEFT);\n        ATTR_MAP.put(13, TY_ARROW_LEFT_OUTLINE);\n        ATTR_MAP.put(14, TY_ARROW_LEFT_THICK);\n        ATTR_MAP.put(15, TY_ARROW_LOOP);\n        ATTR_MAP.put(16, TY_ARROW_LOOP_OUTLINE);\n        ATTR_MAP.put(17, TY_ARROW_MAXIMISE);\n        ATTR_MAP.put(18, TY_ARROW_MAXIMISE_OUTLINE);\n        ATTR_MAP.put(19, TY_ARROW_MINIMISE);\n        ATTR_MAP.put(20, TY_ARROW_MINIMISE_OUTLINE);\n        ATTR_MAP.put(21, TY_ARROW_MOVE);\n        ATTR_MAP.put(22, TY_ARROW_MOVE_OUTLINE);\n        ATTR_MAP.put(23, TY_ARROW_REPEAT);\n        ATTR_MAP.put(24, TY_ARROW_REPEAT_OUTLINE);\n        ATTR_MAP.put(25, TY_ARROW_RIGHT);\n        ATTR_MAP.put(26, TY_ARROW_RIGHT_OUTLINE);\n        ATTR_MAP.put(27, TY_ARROW_RIGHT_THICK);\n        ATTR_MAP.put(28, TY_ARROW_SHUFFLE);\n        ATTR_MAP.put(29, TY_ARROW_SORTED_DOWN);\n        ATTR_MAP.put(30, TY_ARROW_SORTED_UP);\n        ATTR_MAP.put(31, TY_ARROW_SYNC);\n        ATTR_MAP.put(32, TY_ARROW_SYNC_OUTLINE);\n        ATTR_MAP.put(33, TY_ARROW_UNSORTED);\n        ATTR_MAP.put(34, TY_ARROW_UP);\n        ATTR_MAP.put(35, TY_ARROW_UP_OUTLINE);\n        ATTR_MAP.put(36, TY_ARROW_UP_THICK);\n        ATTR_MAP.put(37, TY_AT);\n        ATTR_MAP.put(38, TY_ATTACHMENT);\n        ATTR_MAP.put(39, TY_ATTACHMENT_OUTLINE);\n        ATTR_MAP.put(40, TY_BACKSPACE);\n        ATTR_MAP.put(41, TY_BACKSPACE_OUTLINE);\n        ATTR_MAP.put(42, TY_BATTERY_CHARGE);\n        ATTR_MAP.put(43, TY_BATTERY_FULL);\n        ATTR_MAP.put(44, TY_BATTERY_HIGH);\n        ATTR_MAP.put(45, TY_BATTERY_LOW);\n        ATTR_MAP.put(46, TY_BATTERY_MID);\n        ATTR_MAP.put(47, TY_BEAKER);\n        ATTR_MAP.put(48, TY_BEER);\n        ATTR_MAP.put(49, TY_BELL);\n        ATTR_MAP.put(50, TY_BOOK);\n        ATTR_MAP.put(51, TY_BOOKMARK);\n        ATTR_MAP.put(52, TY_BRIEFCASE);\n        ATTR_MAP.put(53, TY_BRUSH);\n        ATTR_MAP.put(54, TY_BUSINESS_CARD);\n        ATTR_MAP.put(55, TY_CALCULATOR);\n        ATTR_MAP.put(56, TY_CALENDAR);\n        ATTR_MAP.put(57, TY_CALENDAR_OUTLINE);\n        ATTR_MAP.put(58, TY_CAMERA);\n        ATTR_MAP.put(59, TY_CAMERA_OUTLINE);\n        ATTR_MAP.put(60, TY_CANCEL);\n        ATTR_MAP.put(61, TY_CANCEL_OUTLINE);\n        ATTR_MAP.put(62, TY_CHART_AREA);\n        ATTR_MAP.put(63, TY_CHART_AREA_OUTLINE);\n        ATTR_MAP.put(64, TY_CHART_BAR);\n        ATTR_MAP.put(65, TY_CHART_BAR_OUTLINE);\n        ATTR_MAP.put(66, TY_CHART_LINE);\n        ATTR_MAP.put(67, TY_CHART_LINE_OUTLINE);\n        ATTR_MAP.put(68, TY_CHART_PIE);\n        ATTR_MAP.put(69, TY_CHART_PIE_OUTLINE);\n        ATTR_MAP.put(70, TY_CHEVRON_LEFT);\n        ATTR_MAP.put(71, TY_CHEVRON_LEFT_OUTLINE);\n        ATTR_MAP.put(72, TY_CHEVRON_RIGHT);\n        ATTR_MAP.put(73, TY_CHEVRON_RIGHT_OUTLINE);\n        ATTR_MAP.put(74, TY_CLIPBOARD);\n        ATTR_MAP.put(75, TY_CLOUD_STORAGE);\n        ATTR_MAP.put(76, TY_CLOUD_STORAGE_OUTLINE);\n        ATTR_MAP.put(77, TY_CODE);\n        ATTR_MAP.put(78, TY_CODE_OUTLINE);\n        ATTR_MAP.put(79, TY_COFFEE);\n        ATTR_MAP.put(80, TY_COG);\n        ATTR_MAP.put(81, TY_COG_OUTLINE);\n        ATTR_MAP.put(82, TY_COMPASS);\n        ATTR_MAP.put(83, TY_CONTACTS);\n        ATTR_MAP.put(84, TY_CREDIT_CARD);\n        ATTR_MAP.put(85, TY_CSS3);\n        ATTR_MAP.put(86, TY_DATABASE);\n        ATTR_MAP.put(87, TY_DELETE);\n        ATTR_MAP.put(88, TY_DELETE_OUTLINE);\n        ATTR_MAP.put(89, TY_DEVICE_DESKTOP);\n        ATTR_MAP.put(90, TY_DEVICE_LAPTOP);\n        ATTR_MAP.put(91, TY_DEVICE_PHONE);\n        ATTR_MAP.put(92, TY_DEVICE_TABLET);\n        ATTR_MAP.put(93, TY_DIRECTIONS);\n        ATTR_MAP.put(94, TY_DIVIDE);\n        ATTR_MAP.put(95, TY_DIVIDE_OUTLINE);\n        ATTR_MAP.put(96, TY_DOCUMENT);\n        ATTR_MAP.put(97, TY_DOCUMENT_ADD);\n        ATTR_MAP.put(98, TY_DOCUMENT_DELETE);\n        ATTR_MAP.put(99, TY_DOCUMENT_TEXT);\n        ATTR_MAP.put(100, TY_DOWNLOAD);\n        ATTR_MAP.put(101, TY_DOWNLOAD_OUTLINE);\n        ATTR_MAP.put(102, TY_DROPBOX);\n        ATTR_MAP.put(103, TY_EDIT);\n        ATTR_MAP.put(104, TY_EJECT);\n        ATTR_MAP.put(105, TY_EJECT_OUTLINE);\n        ATTR_MAP.put(106, TY_EQUALS);\n        ATTR_MAP.put(107, TY_EQUALS_OUTLINE);\n        ATTR_MAP.put(108, TY_EXPORT);\n        ATTR_MAP.put(109, TY_EXPORT_OUTLINE);\n        ATTR_MAP.put(110, TY_EYE);\n        ATTR_MAP.put(111, TY_EYE_OUTLINE);\n        ATTR_MAP.put(112, TY_FEATHER);\n        ATTR_MAP.put(113, TY_FILM);\n        ATTR_MAP.put(114, TY_FILTER);\n        ATTR_MAP.put(115, TY_FLAG);\n        ATTR_MAP.put(116, TY_FLAG_OUTLINE);\n        ATTR_MAP.put(117, TY_FLASH);\n        ATTR_MAP.put(118, TY_FLASH_OUTLINE);\n        ATTR_MAP.put(119, TY_FLOW_CHILDREN);\n        ATTR_MAP.put(120, TY_FLOW_MERGE);\n        ATTR_MAP.put(121, TY_FLOW_PARALLEL);\n        ATTR_MAP.put(122, TY_FLOW_SWITCH);\n        ATTR_MAP.put(123, TY_FOLDER);\n        ATTR_MAP.put(124, TY_FOLDER_ADD);\n        ATTR_MAP.put(125, TY_FOLDER_DELETE);\n        ATTR_MAP.put(126, TY_FOLDER_OPEN);\n        ATTR_MAP.put(127, TY_GIFT);\n        ATTR_MAP.put(128, TY_GLOBE);\n        ATTR_MAP.put(129, TY_GLOBE_OUTLINE);\n        ATTR_MAP.put(130, TY_GROUP);\n        ATTR_MAP.put(131, TY_GROUP_OUTLINE);\n        ATTR_MAP.put(132, TY_HEADPHONES);\n        ATTR_MAP.put(133, TY_HEART);\n        ATTR_MAP.put(134, TY_HEART_FULL_OUTLINE);\n        ATTR_MAP.put(135, TY_HEART_HALF_OUTLINE);\n        ATTR_MAP.put(136, TY_HEART_OUTLINE);\n        ATTR_MAP.put(137, TY_HOME);\n        ATTR_MAP.put(138, TY_HOME_OUTLINE);\n        ATTR_MAP.put(139, TY_HTML5);\n        ATTR_MAP.put(140, TY_IMAGE);\n        ATTR_MAP.put(141, TY_IMAGE_OUTLINE);\n        ATTR_MAP.put(142, TY_INFINITY);\n        ATTR_MAP.put(143, TY_INFINITY_OUTLINE);\n        ATTR_MAP.put(144, TY_INFO);\n        ATTR_MAP.put(145, TY_INFO_LARGE);\n        ATTR_MAP.put(146, TY_INFO_LARGE_OUTLINE);\n        ATTR_MAP.put(147, TY_INFO_OUTLINE);\n        ATTR_MAP.put(148, TY_INPUT_CHECKED);\n        ATTR_MAP.put(149, TY_INPUT_CHECKED_OUTLINE);\n        ATTR_MAP.put(150, TY_KEY);\n        ATTR_MAP.put(151, TY_KEY_OUTLINE);\n        ATTR_MAP.put(152, TY_KEYBOARD);\n        ATTR_MAP.put(153, TY_LEAF);\n        ATTR_MAP.put(154, TY_LIGHTBULB);\n        ATTR_MAP.put(155, TY_LINK);\n        ATTR_MAP.put(156, TY_LINK_OUTLINE);\n        ATTR_MAP.put(157, TY_LOCATION);\n        ATTR_MAP.put(158, TY_LOCATION_ARROW);\n        ATTR_MAP.put(159, TY_LOCATION_ARROW_OUTLINE);\n        ATTR_MAP.put(160, TY_LOCATION_OUTLINE);\n        ATTR_MAP.put(161, TY_LOCK_CLOSED);\n        ATTR_MAP.put(162, TY_LOCK_CLOSED_OUTLINE);\n        ATTR_MAP.put(163, TY_LOCK_OPEN);\n        ATTR_MAP.put(164, TY_LOCK_OPEN_OUTLINE);\n        ATTR_MAP.put(165, TY_MAIL);\n        ATTR_MAP.put(166, TY_MAP);\n        ATTR_MAP.put(167, TY_MEDIA_EJECT);\n        ATTR_MAP.put(168, TY_MEDIA_EJECT_OUTLINE);\n        ATTR_MAP.put(169, TY_MEDIA_FAST_FORWARD);\n        ATTR_MAP.put(170, TY_MEDIA_FAST_FORWARD_OUTLINE);\n        ATTR_MAP.put(171, TY_MEDIA_PAUSE);\n        ATTR_MAP.put(172, TY_MEDIA_PAUSE_OUTLINE);\n        ATTR_MAP.put(173, TY_MEDIA_PLAY);\n        ATTR_MAP.put(174, TY_MEDIA_PLAY_OUTLINE);\n        ATTR_MAP.put(175, TY_MEDIA_PLAY_REVERSE);\n        ATTR_MAP.put(176, TY_MEDIA_PLAY_REVERSE_OUTLINE);\n        ATTR_MAP.put(177, TY_MEDIA_RECORD);\n        ATTR_MAP.put(178, TY_MEDIA_RECORD_OUTLINE);\n        ATTR_MAP.put(179, TY_MEDIA_REWIND);\n        ATTR_MAP.put(180, TY_MEDIA_REWIND_OUTLINE);\n        ATTR_MAP.put(181, TY_MEDIA_STOP);\n        ATTR_MAP.put(182, TY_MEDIA_STOP_OUTLINE);\n        ATTR_MAP.put(183, TY_MESSAGE);\n        ATTR_MAP.put(184, TY_MESSAGE_TYPING);\n        ATTR_MAP.put(185, TY_MESSAGES);\n        ATTR_MAP.put(186, TY_MICROPHONE);\n        ATTR_MAP.put(187, TY_MICROPHONE_OUTLINE);\n        ATTR_MAP.put(188, TY_MINUS);\n        ATTR_MAP.put(189, TY_MINUS_OUTLINE);\n        ATTR_MAP.put(190, TY_MORTAR_BOARD);\n        ATTR_MAP.put(191, TY_NEWS);\n        ATTR_MAP.put(192, TY_NOTES);\n        ATTR_MAP.put(193, TY_NOTES_OUTLINE);\n        ATTR_MAP.put(194, TY_PEN);\n        ATTR_MAP.put(195, TY_PENCIL);\n        ATTR_MAP.put(196, TY_PHONE);\n        ATTR_MAP.put(197, TY_PHONE_OUTLINE);\n        ATTR_MAP.put(198, TY_PI);\n        ATTR_MAP.put(199, TY_PI_OUTLINE);\n        ATTR_MAP.put(200, TY_PIN);\n        ATTR_MAP.put(201, TY_PIN_OUTLINE);\n        ATTR_MAP.put(202, TY_PIPETTE);\n        ATTR_MAP.put(203, TY_PLANE);\n        ATTR_MAP.put(204, TY_PLANE_OUTLINE);\n        ATTR_MAP.put(205, TY_PLUG);\n        ATTR_MAP.put(206, TY_PLUS);\n        ATTR_MAP.put(207, TY_PLUS_OUTLINE);\n        ATTR_MAP.put(208, TY_POINT_OF_INTEREST);\n        ATTR_MAP.put(209, TY_POINT_OF_INTEREST_OUTLINE);\n        ATTR_MAP.put(210, TY_POWER);\n        ATTR_MAP.put(211, TY_POWER_OUTLINE);\n        ATTR_MAP.put(212, TY_PRINTER);\n        ATTR_MAP.put(213, TY_PUZZLE);\n        ATTR_MAP.put(214, TY_PUZZLE_OUTLINE);\n        ATTR_MAP.put(215, TY_RADAR);\n        ATTR_MAP.put(216, TY_RADAR_OUTLINE);\n        ATTR_MAP.put(217, TY_REFRESH);\n        ATTR_MAP.put(218, TY_REFRESH_OUTLINE);\n        ATTR_MAP.put(219, TY_RSS);\n        ATTR_MAP.put(220, TY_RSS_OUTLINE);\n        ATTR_MAP.put(221, TY_SCISSORS);\n        ATTR_MAP.put(222, TY_SCISSORS_OUTLINE);\n        ATTR_MAP.put(223, TY_SHOPPING_BAG);\n        ATTR_MAP.put(224, TY_SHOPPING_CART);\n        ATTR_MAP.put(225, TY_SOCIAL_AT_CIRCULAR);\n        ATTR_MAP.put(226, TY_SOCIAL_DRIBBBLE);\n        ATTR_MAP.put(227, TY_SOCIAL_DRIBBBLE_CIRCULAR);\n        ATTR_MAP.put(228, TY_SOCIAL_FACEBOOK);\n        ATTR_MAP.put(229, TY_SOCIAL_FACEBOOK_CIRCULAR);\n        ATTR_MAP.put(230, TY_SOCIAL_FLICKR);\n        ATTR_MAP.put(231, TY_SOCIAL_FLICKR_CIRCULAR);\n        ATTR_MAP.put(232, TY_SOCIAL_GITHUB);\n        ATTR_MAP.put(233, TY_SOCIAL_GITHUB_CIRCULAR);\n        ATTR_MAP.put(234, TY_SOCIAL_GOOGLE_PLUS);\n        ATTR_MAP.put(235, TY_SOCIAL_GOOGLE_PLUS_CIRCULAR);\n        ATTR_MAP.put(236, TY_SOCIAL_INSTAGRAM);\n        ATTR_MAP.put(237, TY_SOCIAL_INSTAGRAM_CIRCULAR);\n        ATTR_MAP.put(238, TY_SOCIAL_LAST_FM);\n        ATTR_MAP.put(239, TY_SOCIAL_LAST_FM_CIRCULAR);\n        ATTR_MAP.put(240, TY_SOCIAL_LINKEDIN);\n        ATTR_MAP.put(241, TY_SOCIAL_LINKEDIN_CIRCULAR);\n        ATTR_MAP.put(242, TY_SOCIAL_PINTEREST);\n        ATTR_MAP.put(243, TY_SOCIAL_PINTEREST_CIRCULAR);\n        ATTR_MAP.put(244, TY_SOCIAL_SKYPE);\n        ATTR_MAP.put(245, TY_SOCIAL_SKYPE_OUTLINE);\n        ATTR_MAP.put(246, TY_SOCIAL_TUMBLER);\n        ATTR_MAP.put(247, TY_SOCIAL_TUMBLER_CIRCULAR);\n        ATTR_MAP.put(248, TY_SOCIAL_TWITTER);\n        ATTR_MAP.put(249, TY_SOCIAL_TWITTER_CIRCULAR);\n        ATTR_MAP.put(250, TY_SOCIAL_VIMEO);\n        ATTR_MAP.put(251, TY_SOCIAL_VIMEO_CIRCULAR);\n        ATTR_MAP.put(252, TY_SOCIAL_YOUTUBE);\n        ATTR_MAP.put(253, TY_SOCIAL_YOUTUBE_CIRCULAR);\n        ATTR_MAP.put(254, TY_SORT_ALPHABETICALLY);\n        ATTR_MAP.put(255, TY_SORT_ALPHABETICALLY_OUTLINE);\n        ATTR_MAP.put(256, TY_SORT_NUMERICALLY);\n        ATTR_MAP.put(257, TY_SORT_NUMERICALLY_OUTLINE);\n        ATTR_MAP.put(258, TY_SPANNER);\n        ATTR_MAP.put(259, TY_SPANNER_OUTLINE);\n        ATTR_MAP.put(260, TY_SPIRAL);\n        ATTR_MAP.put(261, TY_STAR);\n        ATTR_MAP.put(262, TY_STAR_FULL_OUTLINE);\n        ATTR_MAP.put(263, TY_STAR_HALF);\n        ATTR_MAP.put(264, TY_STAR_HALF_OUTLINE);\n        ATTR_MAP.put(265, TY_STAR_OUTLINE);\n        ATTR_MAP.put(266, TY_STARBURST);\n        ATTR_MAP.put(267, TY_STARBURST_OUTLINE);\n        ATTR_MAP.put(268, TY_STOPWATCH);\n        ATTR_MAP.put(269, TY_SUPPORT);\n        ATTR_MAP.put(270, TY_TABS_OUTLINE);\n        ATTR_MAP.put(271, TY_TAG);\n        ATTR_MAP.put(272, TY_TAGS);\n        ATTR_MAP.put(273, TY_TH_LARGE);\n        ATTR_MAP.put(274, TY_TH_LARGE_OUTLINE);\n        ATTR_MAP.put(275, TY_TH_LIST);\n        ATTR_MAP.put(276, TY_TH_LIST_OUTLINE);\n        ATTR_MAP.put(277, TY_TH_MENU);\n        ATTR_MAP.put(278, TY_TH_MENU_OUTLINE);\n        ATTR_MAP.put(279, TY_TH_SMALL);\n        ATTR_MAP.put(280, TY_TH_SMALL_OUTLINE);\n        ATTR_MAP.put(281, TY_THERMOMETER);\n        ATTR_MAP.put(282, TY_THUMBS_DOWN);\n        ATTR_MAP.put(283, TY_THUMBS_OK);\n        ATTR_MAP.put(284, TY_THUMBS_UP);\n        ATTR_MAP.put(285, TY_TICK);\n        ATTR_MAP.put(286, TY_TICK_OUTLINE);\n        ATTR_MAP.put(287, TY_TICKET);\n        ATTR_MAP.put(288, TY_TIME);\n        ATTR_MAP.put(289, TY_TIMES);\n        ATTR_MAP.put(290, TY_TIMES_OUTLINE);\n        ATTR_MAP.put(291, TY_TRASH);\n        ATTR_MAP.put(292, TY_TREE);\n        ATTR_MAP.put(293, TY_UPLOAD);\n        ATTR_MAP.put(294, TY_UPLOAD_OUTLINE);\n        ATTR_MAP.put(295, TY_USER);\n        ATTR_MAP.put(296, TY_USER_ADD);\n        ATTR_MAP.put(297, TY_USER_ADD_OUTLINE);\n        ATTR_MAP.put(298, TY_USER_DELETE);\n        ATTR_MAP.put(299, TY_USER_DELETE_OUTLINE);\n        ATTR_MAP.put(300, TY_USER_OUTLINE);\n        ATTR_MAP.put(301, TY_VENDOR_ANDROID);\n        ATTR_MAP.put(302, TY_VENDOR_APPLE);\n        ATTR_MAP.put(303, TY_VENDOR_MICROSOFT);\n        ATTR_MAP.put(304, TY_VIDEO);\n        ATTR_MAP.put(305, TY_VIDEO_OUTLINE);\n        ATTR_MAP.put(306, TY_VOLUME);\n        ATTR_MAP.put(307, TY_VOLUME_DOWN);\n        ATTR_MAP.put(308, TY_VOLUME_MUTE);\n        ATTR_MAP.put(309, TY_VOLUME_UP);\n        ATTR_MAP.put(310, TY_WARNING);\n        ATTR_MAP.put(311, TY_WARNING_OUTLINE);\n        ATTR_MAP.put(312, TY_WATCH);\n        ATTR_MAP.put(313, TY_WAVES);\n        ATTR_MAP.put(314, TY_WAVES_OUTLINE);\n        ATTR_MAP.put(315, TY_WEATHER_CLOUDY);\n        ATTR_MAP.put(316, TY_WEATHER_DOWNPOUR);\n        ATTR_MAP.put(317, TY_WEATHER_NIGHT);\n        ATTR_MAP.put(318, TY_WEATHER_PARTLY_SUNNY);\n        ATTR_MAP.put(319, TY_WEATHER_SHOWER);\n        ATTR_MAP.put(320, TY_WEATHER_SNOW);\n        ATTR_MAP.put(321, TY_WEATHER_STORMY);\n        ATTR_MAP.put(322, TY_WEATHER_SUNNY);\n        ATTR_MAP.put(323, TY_WEATHER_WINDY);\n        ATTR_MAP.put(324, TY_WEATHER_WINDY_CLOUDY);\n        ATTR_MAP.put(325, TY_WI_FI);\n        ATTR_MAP.put(326, TY_WI_FI_OUTLINE);\n        ATTR_MAP.put(327, TY_WINE);\n        ATTR_MAP.put(328, TY_WORLD);\n        ATTR_MAP.put(329, TY_WORLD_OUTLINE);\n        ATTR_MAP.put(330, TY_ZOOM);\n        ATTR_MAP.put(331, TY_ZOOM_IN);\n        ATTR_MAP.put(332, TY_ZOOM_IN_OUTLINE);\n        ATTR_MAP.put(333, TY_ZOOM_OUT);\n        ATTR_MAP.put(334, TY_ZOOM_OUT_OUTLINE);\n        ATTR_MAP.put(335, TY_ZOOM_OUTLINE);\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/utils/ColorUtils.java",
    "content": "package com.beardedhen.androidbootstrap.utils;\n\nimport android.content.Context;\nimport android.graphics.Color;\nimport android.os.Build;\nimport android.support.annotation.ColorInt;\nimport android.support.annotation.ColorRes;\n\n/**\n * Utils class for manipulating Bootstrap colors, and resolving colors from resource values.\n */\npublic class ColorUtils {\n\n    public static final int DISABLED_ALPHA_FILL = 165;\n    public static final int DISABLED_ALPHA_EDGE = 190;\n    public static final float ACTIVE_OPACITY_FACTOR_FILL = 0.125f;\n    public static final float ACTIVE_OPACITY_FACTOR_EDGE = 0.025f;\n\n    /**\n     * Resolves a color resource.\n     *\n     * @param color   the color resource\n     * @param context the current context\n     * @return a color int\n     */\n    @SuppressWarnings(\"deprecation\")\n    public static @ColorInt int resolveColor(@ColorRes int color, Context context) {\n        if (Build.VERSION.SDK_INT >= 23) {\n            return context.getResources().getColor(color, context.getTheme());\n        }\n        else {\n            return context.getResources().getColor(color);\n        }\n    }\n\n    /**\n     * Darkens a color by reducing its RGB channel values.\n     *\n     * @param context the current context\n     * @param res     the color resource\n     * @param percent the percent to decrease\n     * @return a color int\n     */\n    @ColorInt public static int decreaseRgbChannels(Context context,\n                                                    @ColorRes int res, float percent) {\n        int c = resolveColor(res, context);\n\n        // reduce rgb channel values to produce box shadow effect\n        int red = (Color.red(c));\n        red -= (red * percent);\n        red = red > 0 ? red : 0;\n\n        int green = (Color.green(c));\n        green -= (green * percent);\n        green = green > 0 ? green : 0;\n\n        int blue = (Color.blue(c));\n        blue -= (blue * percent);\n        blue = blue > 0 ? blue : 0;\n\n        return Color.argb(Color.alpha(c), red, green, blue);\n    }\n\n    /**\n     * Lightens a color by increasing its alpha channel value\n     *\n     * @param context the current context\n     * @param res     the color resource\n     * @param alpha   the alpha to set\n     * @return a color int\n     */\n    @ColorInt public static int increaseOpacity(Context context, @ColorRes int res, int alpha) {\n        int c = resolveColor(res, context);\n        return increaseOpacityFromInt(context, resolveColor(res, context), alpha);\n    }\n\n    @ColorInt public static int increaseOpacityFromInt(Context context, @ColorInt int c, int\n            alpha) {\n        return Color.argb(alpha, Color.red(c), Color.green(c), Color.blue(c));\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/utils/DimenUtils.java",
    "content": "package com.beardedhen.androidbootstrap.utils;\n\nimport android.content.Context;\nimport android.content.res.Resources;\nimport android.support.annotation.DimenRes;\n\n/**\n * Utils class for resolving color resource values.\n */\npublic class DimenUtils {\n\n    /**\n     * Resolves a dimension resource that uses scaled pixels\n     *\n     * @param context the current context\n     * @param sizeRes the dimension resource holding an SP value\n     * @return the text size in pixels\n     */\n    public static float pixelsFromSpResource(Context context, @DimenRes int sizeRes) {\n        final Resources res = context.getResources();\n        return res.getDimension(sizeRes) / res.getDisplayMetrics().density;\n    }\n\n    /**\n     * Resolves a dimension resource that uses density-independent pixels\n     *\n     * @param context the current context\n     * @param res     the dimension resource holding a DP value\n     * @return the size in pixels\n     */\n    public static float pixelsFromDpResource(Context context, @DimenRes int res) {\n        return context.getResources().getDimension(res);\n    }\n\n    /**\n     * Converts density-independent pixels to pixels\n     * @param dip the dips\n     * @return size in pixels\n     */\n    public static int dpToPixels(float dip) {\n        return (int) (dip * Resources.getSystem().getDisplayMetrics().density);\n    }\n\n    /**\n     * Converts pixels to density-independent pixels\n     * @param pixels the pixels\n     * @return size in dp\n     */\n    public static int pixelsToDp(float pixels) {\n        return (int) (pixels / Resources.getSystem().getDisplayMetrics().density);\n    }\n\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/utils/DrawableUtils.java",
    "content": "package com.beardedhen.androidbootstrap.utils;\n\nimport android.content.Context;\nimport android.content.res.Resources;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.support.annotation.DrawableRes;\n\npublic class DrawableUtils {\n\n    @SuppressWarnings(\"deprecation\")\n    public static Drawable resolveDrawable(@DrawableRes int resId, Context context) {\n        Resources resources = context.getResources();\n        Resources.Theme theme = context.getTheme();\n\n        if (Build.VERSION.SDK_INT >= 22) {\n            return resources.getDrawable(resId, theme);\n        }\n        else {\n            return resources.getDrawable(resId);\n        }\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/utils/ViewUtils.java",
    "content": "package com.beardedhen.androidbootstrap.utils;\n\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.view.View;\n\npublic class ViewUtils {\n\n    /**\n     * Calls {@link View#setBackground(Drawable)} or {@link View#setBackgroundDrawable(Drawable)},\n     * depending on API level\n     *\n     * @param view     the view\n     * @param drawable the drawable\n     */\n    @SuppressWarnings(\"deprecation\")\n    public static void setBackgroundDrawable(View view, Drawable drawable) {\n        if (Build.VERSION.SDK_INT >= 16) {\n            view.setBackground(drawable);\n        }\n        else {\n            view.setBackgroundDrawable(drawable);\n        }\n    }\n\n}\n"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/attrs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <!-- Common attributes -->\n\n    <attr name=\"bootstrapBrand\" format=\"enum\">\n        <enum name=\"primary\" value=\"0\"/>\n        <enum name=\"success\" value=\"1\"/>\n        <enum name=\"info\" value=\"2\"/>\n        <enum name=\"warning\" value=\"3\"/>\n        <enum name=\"danger\" value=\"4\"/>\n        <enum name=\"regular\" value=\"5\"/>\n        <enum name=\"secondary\" value=\"6\"/>\n    </attr>\n\n    <attr name=\"buttonMode\" format=\"enum\">\n        <enum name=\"regular\" value=\"0\"/>\n        <enum name=\"toggle\" value=\"1\"/>\n        <enum name=\"checkbox\" value=\"2\"/>\n        <enum name=\"radio\" value=\"3\"/>\n    </attr>\n\n    <attr name=\"bootstrapSize\" format=\"enum\">\n        <enum name=\"xs\" value=\"0\"/>\n        <enum name=\"sm\" value=\"1\"/>\n        <enum name=\"md\" value=\"2\"/>\n        <enum name=\"lg\" value=\"3\"/>\n        <enum name=\"xl\" value=\"4\"/>\n    </attr>\n\n    <attr name=\"bootstrapHeading\" format=\"enum\">\n        <enum name=\"h1\" value=\"0\"/>\n        <enum name=\"h2\" value=\"1\"/>\n        <enum name=\"h3\" value=\"2\"/>\n        <enum name=\"h4\" value=\"3\"/>\n        <enum name=\"h5\" value=\"4\"/>\n        <enum name=\"h6\" value=\"5\"/>\n    </attr>\n    \n    <attr name=\"bootstrapExpandDirection\" format=\"enum\">\n        <enum name=\"up\" value=\"0\"/>\n        <enum name=\"down\" value=\"1\"/>\n    </attr>\n\n    <attr name=\"showOutline\" format=\"boolean\"/>\n    <attr name=\"roundedCorners\" format=\"boolean\"/>\n    <attr name=\"hasBorder\" format=\"boolean\"/>\n    <attr name=\"checkedButton\" format=\"reference\"/>\n    <attr name=\"checked\" format=\"boolean\"/>\n    <attr name=\"dropdownResource\" format=\"reference\"/>\n    <attr name=\"itemHeight\" format=\"dimension\"/>\n    <attr name=\"strongText\" format=\"string\"/>\n    <attr name=\"messageText\" format=\"string\"/>\n    <attr name=\"badgeText\" format=\"string\"/>\n    <attr name=\"dismissible\" format=\"boolean\"/>\n\n    <!-- View attributes -->\n\n    <declare-styleable name=\"AwesomeTextView\">\n        <attr name=\"bootstrapText\" format=\"string\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"fontAwesomeIcon\"/>\n        <attr name=\"typicon\"/>\n        <attr name=\"materialIcon\" />\n        <attr name=\"android:clickable\" />\n        <attr name=\"android:gravity\" />\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapLabel\">\n        <attr name=\"bootstrapHeading\"/>\n        <attr name=\"roundedCorners\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapButton\">\n        <attr name=\"buttonMode\"/>\n        <attr name=\"showOutline\"/>\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"bootstrapSize\"/>\n        <attr name=\"checked\"/>\n        <attr name=\"badgeText\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapButtonGroup\">\n        <attr name=\"buttonMode\"/>\n        <attr name=\"showOutline\"/>\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"bootstrapSize\"/>\n        <attr name=\"checkedButton\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapProgressBar\">\n        <attr name=\"striped\" format=\"boolean\"/>\n        <attr name=\"animated\" format=\"boolean\"/>\n        <attr name=\"bootstrapProgress\" format=\"integer\"/>\n        <attr name=\"bootstrapMaxProgress\" format=\"integer\"/>\n        <attr name=\"bootstrapshowPercentage\" format=\"boolean\"/>\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapProgressBarGroup\">\n        <attr name=\"bootstrapMaxProgress\"/>\n        <attr name=\"bootstrapSize\"/>\n        <attr name=\"roundedCorners\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapCircleThumbnail\">\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"hasBorder\"/>\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapThumbnail\">\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"hasBorder\"/>\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapEditText\">\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapDropDown\">\n        <attr name=\"bootstrapExpandDirection\"/>\n        <attr name=\"dropdownResource\"/>\n        <attr name=\"showOutline\"/>\n        <attr name=\"roundedCorners\"/>\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"bootstrapSize\"/>\n        <attr name=\"itemHeight\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapWell\">\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapAlert\">\n        <attr name=\"bootstrapBrand\"/>\n        <attr name=\"strongText\"/>\n        <attr name=\"messageText\"/>\n        <attr name=\"dismissible\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"BootstrapBadge\">\n        <attr name=\"badgeText\"/>\n        <attr name=\"bootstrapSize\"/>\n    </declare-styleable>\n\n</resources>\n\n"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/attrs_font_awesome.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <attr name=\"fontAwesomeIcon\" format=\"enum\">\n        <enum name=\"fa_adjust\" value=\"0\"/>\n        <enum name=\"fa_adn\" value=\"1\"/>\n        <enum name=\"fa_align_center\" value=\"2\"/>\n        <enum name=\"fa_align_justify\" value=\"3\"/>\n        <enum name=\"fa_align_left\" value=\"4\"/>\n        <enum name=\"fa_align_right\" value=\"5\"/>\n        <enum name=\"fa_amazon\" value=\"6\"/>\n        <enum name=\"fa_ambulance\" value=\"7\"/>\n        <enum name=\"fa_anchor\" value=\"8\"/>\n        <enum name=\"fa_android\" value=\"9\"/>\n        <enum name=\"fa_angellist\" value=\"10\"/>\n        <enum name=\"fa_angle_double_down\" value=\"11\"/>\n        <enum name=\"fa_angle_double_left\" value=\"12\"/>\n        <enum name=\"fa_angle_double_right\" value=\"13\"/>\n        <enum name=\"fa_angle_double_up\" value=\"14\"/>\n        <enum name=\"fa_angle_down\" value=\"15\"/>\n        <enum name=\"fa_angle_left\" value=\"16\"/>\n        <enum name=\"fa_angle_right\" value=\"17\"/>\n        <enum name=\"fa_angle_up\" value=\"18\"/>\n        <enum name=\"fa_apple\" value=\"19\"/>\n        <enum name=\"fa_archive\" value=\"20\"/>\n        <enum name=\"fa_area_chart\" value=\"21\"/>\n        <enum name=\"fa_arrow_circle_down\" value=\"22\"/>\n        <enum name=\"fa_arrow_circle_left\" value=\"23\"/>\n        <enum name=\"fa_arrow_circle_o_down\" value=\"24\"/>\n        <enum name=\"fa_arrow_circle_o_left\" value=\"25\"/>\n        <enum name=\"fa_arrow_circle_o_right\" value=\"26\"/>\n        <enum name=\"fa_arrow_circle_o_up\" value=\"27\"/>\n        <enum name=\"fa_arrow_circle_right\" value=\"28\"/>\n        <enum name=\"fa_arrow_circle_up\" value=\"29\"/>\n        <enum name=\"fa_arrow_down\" value=\"30\"/>\n        <enum name=\"fa_arrow_left\" value=\"31\"/>\n        <enum name=\"fa_arrow_right\" value=\"32\"/>\n        <enum name=\"fa_arrow_up\" value=\"33\"/>\n        <enum name=\"fa_arrows\" value=\"34\"/>\n        <enum name=\"fa_arrows_alt\" value=\"35\"/>\n        <enum name=\"fa_arrows_h\" value=\"36\"/>\n        <enum name=\"fa_arrows_v\" value=\"37\"/>\n        <enum name=\"fa_asterisk\" value=\"38\"/>\n        <enum name=\"fa_at\" value=\"39\"/>\n        <enum name=\"fa_automobile\" value=\"40\"/>\n        <enum name=\"fa_backward\" value=\"41\"/>\n        <enum name=\"fa_balance_scale\" value=\"42\"/>\n        <enum name=\"fa_ban\" value=\"43\"/>\n        <enum name=\"fa_bank\" value=\"44\"/>\n        <enum name=\"fa_bar_chart\" value=\"45\"/>\n        <enum name=\"fa_bar_chart_o\" value=\"46\"/>\n        <enum name=\"fa_barcode\" value=\"47\"/>\n        <enum name=\"fa_bars\" value=\"48\"/>\n        <enum name=\"fa_battery_0\" value=\"49\"/>\n        <enum name=\"fa_battery_1\" value=\"50\"/>\n        <enum name=\"fa_battery_2\" value=\"51\"/>\n        <enum name=\"fa_battery_3\" value=\"52\"/>\n        <enum name=\"fa_battery_4\" value=\"53\"/>\n        <enum name=\"fa_battery_empty\" value=\"54\"/>\n        <enum name=\"fa_battery_full\" value=\"55\"/>\n        <enum name=\"fa_battery_half\" value=\"56\"/>\n        <enum name=\"fa_battery_quarter\" value=\"57\"/>\n        <enum name=\"fa_battery_three_quarters\" value=\"58\"/>\n        <enum name=\"fa_bed\" value=\"59\"/>\n        <enum name=\"fa_beer\" value=\"60\"/>\n        <enum name=\"fa_behance\" value=\"61\"/>\n        <enum name=\"fa_behance_square\" value=\"62\"/>\n        <enum name=\"fa_bell\" value=\"63\"/>\n        <enum name=\"fa_bell_o\" value=\"64\"/>\n        <enum name=\"fa_bell_slash\" value=\"65\"/>\n        <enum name=\"fa_bell_slash_o\" value=\"66\"/>\n        <enum name=\"fa_bicycle\" value=\"67\"/>\n        <enum name=\"fa_binoculars\" value=\"68\"/>\n        <enum name=\"fa_birthday_cake\" value=\"69\"/>\n        <enum name=\"fa_bitbucket\" value=\"70\"/>\n        <enum name=\"fa_bitbucket_square\" value=\"71\"/>\n        <enum name=\"fa_bitcoin\" value=\"72\"/>\n        <enum name=\"fa_black_tie\" value=\"73\"/>\n        <enum name=\"fa_bluetooth\" value=\"74\"/>\n        <enum name=\"fa_bluetooth_b\" value=\"75\"/>\n        <enum name=\"fa_bold\" value=\"76\"/>\n        <enum name=\"fa_bolt\" value=\"77\"/>\n        <enum name=\"fa_bomb\" value=\"78\"/>\n        <enum name=\"fa_book\" value=\"79\"/>\n        <enum name=\"fa_bookmark\" value=\"80\"/>\n        <enum name=\"fa_bookmark_o\" value=\"81\"/>\n        <enum name=\"fa_briefcase\" value=\"82\"/>\n        <enum name=\"fa_btc\" value=\"83\"/>\n        <enum name=\"fa_bug\" value=\"84\"/>\n        <enum name=\"fa_building\" value=\"85\"/>\n        <enum name=\"fa_building_o\" value=\"86\"/>\n        <enum name=\"fa_bullhorn\" value=\"87\"/>\n        <enum name=\"fa_bullseye\" value=\"88\"/>\n        <enum name=\"fa_bus\" value=\"89\"/>\n        <enum name=\"fa_buysellads\" value=\"90\"/>\n        <enum name=\"fa_cab\" value=\"91\"/>\n        <enum name=\"fa_calculator\" value=\"92\"/>\n        <enum name=\"fa_calendar\" value=\"93\"/>\n        <enum name=\"fa_calendar_check_o\" value=\"94\"/>\n        <enum name=\"fa_calendar_minus_o\" value=\"95\"/>\n        <enum name=\"fa_calendar_o\" value=\"96\"/>\n        <enum name=\"fa_calendar_plus_o\" value=\"97\"/>\n        <enum name=\"fa_calendar_times_o\" value=\"98\"/>\n        <enum name=\"fa_camera\" value=\"99\"/>\n        <enum name=\"fa_camera_retro\" value=\"100\"/>\n        <enum name=\"fa_car\" value=\"101\"/>\n        <enum name=\"fa_caret_down\" value=\"102\"/>\n        <enum name=\"fa_caret_left\" value=\"103\"/>\n        <enum name=\"fa_caret_right\" value=\"104\"/>\n        <enum name=\"fa_caret_square_o_down\" value=\"105\"/>\n        <enum name=\"fa_caret_square_o_left\" value=\"106\"/>\n        <enum name=\"fa_caret_square_o_right\" value=\"107\"/>\n        <enum name=\"fa_caret_square_o_up\" value=\"108\"/>\n        <enum name=\"fa_caret_up\" value=\"109\"/>\n        <enum name=\"fa_cart_arrow_down\" value=\"110\"/>\n        <enum name=\"fa_cart_plus\" value=\"111\"/>\n        <enum name=\"fa_cc\" value=\"112\"/>\n        <enum name=\"fa_cc_amex\" value=\"113\"/>\n        <enum name=\"fa_cc_diners_club\" value=\"114\"/>\n        <enum name=\"fa_cc_discover\" value=\"115\"/>\n        <enum name=\"fa_cc_jcb\" value=\"116\"/>\n        <enum name=\"fa_cc_mastercard\" value=\"117\"/>\n        <enum name=\"fa_cc_paypal\" value=\"118\"/>\n        <enum name=\"fa_cc_stripe\" value=\"119\"/>\n        <enum name=\"fa_cc_visa\" value=\"120\"/>\n        <enum name=\"fa_certificate\" value=\"121\"/>\n        <enum name=\"fa_chain\" value=\"122\"/>\n        <enum name=\"fa_chain_broken\" value=\"123\"/>\n        <enum name=\"fa_check\" value=\"124\"/>\n        <enum name=\"fa_check_circle\" value=\"125\"/>\n        <enum name=\"fa_check_circle_o\" value=\"126\"/>\n        <enum name=\"fa_check_square\" value=\"127\"/>\n        <enum name=\"fa_check_square_o\" value=\"128\"/>\n        <enum name=\"fa_chevron_circle_down\" value=\"129\"/>\n        <enum name=\"fa_chevron_circle_left\" value=\"130\"/>\n        <enum name=\"fa_chevron_circle_right\" value=\"131\"/>\n        <enum name=\"fa_chevron_circle_up\" value=\"132\"/>\n        <enum name=\"fa_chevron_down\" value=\"133\"/>\n        <enum name=\"fa_chevron_left\" value=\"134\"/>\n        <enum name=\"fa_chevron_right\" value=\"135\"/>\n        <enum name=\"fa_chevron_up\" value=\"136\"/>\n        <enum name=\"fa_child\" value=\"137\"/>\n        <enum name=\"fa_chrome\" value=\"138\"/>\n        <enum name=\"fa_circle\" value=\"139\"/>\n        <enum name=\"fa_circle_o\" value=\"140\"/>\n        <enum name=\"fa_circle_o_notch\" value=\"141\"/>\n        <enum name=\"fa_circle_thin\" value=\"142\"/>\n        <enum name=\"fa_clipboard\" value=\"143\"/>\n        <enum name=\"fa_clock_o\" value=\"144\"/>\n        <enum name=\"fa_clone\" value=\"145\"/>\n        <enum name=\"fa_close\" value=\"146\"/>\n        <enum name=\"fa_cloud\" value=\"147\"/>\n        <enum name=\"fa_cloud_download\" value=\"148\"/>\n        <enum name=\"fa_cloud_upload\" value=\"149\"/>\n        <enum name=\"fa_cny\" value=\"150\"/>\n        <enum name=\"fa_code\" value=\"151\"/>\n        <enum name=\"fa_code_fork\" value=\"152\"/>\n        <enum name=\"fa_codepen\" value=\"153\"/>\n        <enum name=\"fa_codiepie\" value=\"154\"/>\n        <enum name=\"fa_coffee\" value=\"155\"/>\n        <enum name=\"fa_cog\" value=\"156\"/>\n        <enum name=\"fa_cogs\" value=\"157\"/>\n        <enum name=\"fa_columns\" value=\"158\"/>\n        <enum name=\"fa_comment\" value=\"159\"/>\n        <enum name=\"fa_comment_o\" value=\"160\"/>\n        <enum name=\"fa_commenting\" value=\"161\"/>\n        <enum name=\"fa_commenting_o\" value=\"162\"/>\n        <enum name=\"fa_comments\" value=\"163\"/>\n        <enum name=\"fa_comments_o\" value=\"164\"/>\n        <enum name=\"fa_compass\" value=\"165\"/>\n        <enum name=\"fa_compress\" value=\"166\"/>\n        <enum name=\"fa_connectdevelop\" value=\"167\"/>\n        <enum name=\"fa_contao\" value=\"168\"/>\n        <enum name=\"fa_copy\" value=\"169\"/>\n        <enum name=\"fa_copyright\" value=\"170\"/>\n        <enum name=\"fa_creative_commons\" value=\"171\"/>\n        <enum name=\"fa_credit_card\" value=\"172\"/>\n        <enum name=\"fa_credit_card_alt\" value=\"173\"/>\n        <enum name=\"fa_crop\" value=\"174\"/>\n        <enum name=\"fa_crosshairs\" value=\"175\"/>\n        <enum name=\"fa_css3\" value=\"176\"/>\n        <enum name=\"fa_cube\" value=\"177\"/>\n        <enum name=\"fa_cubes\" value=\"178\"/>\n        <enum name=\"fa_cut\" value=\"179\"/>\n        <enum name=\"fa_cutlery\" value=\"180\"/>\n        <enum name=\"fa_dashboard\" value=\"181\"/>\n        <enum name=\"fa_dashcube\" value=\"182\"/>\n        <enum name=\"fa_database\" value=\"183\"/>\n        <enum name=\"fa_dedent\" value=\"184\"/>\n        <enum name=\"fa_delicious\" value=\"185\"/>\n        <enum name=\"fa_desktop\" value=\"186\"/>\n        <enum name=\"fa_deviantart\" value=\"187\"/>\n        <enum name=\"fa_diamond\" value=\"188\"/>\n        <enum name=\"fa_digg\" value=\"189\"/>\n        <enum name=\"fa_dollar\" value=\"190\"/>\n        <enum name=\"fa_dot_circle_o\" value=\"191\"/>\n        <enum name=\"fa_download\" value=\"192\"/>\n        <enum name=\"fa_dribbble\" value=\"193\"/>\n        <enum name=\"fa_dropbox\" value=\"194\"/>\n        <enum name=\"fa_drupal\" value=\"195\"/>\n        <enum name=\"fa_edge\" value=\"196\"/>\n        <enum name=\"fa_edit\" value=\"197\"/>\n        <enum name=\"fa_eject\" value=\"198\"/>\n        <enum name=\"fa_ellipsis_h\" value=\"199\"/>\n        <enum name=\"fa_ellipsis_v\" value=\"200\"/>\n        <enum name=\"fa_empire\" value=\"201\"/>\n        <enum name=\"fa_envelope\" value=\"202\"/>\n        <enum name=\"fa_envelope_o\" value=\"203\"/>\n        <enum name=\"fa_envelope_square\" value=\"204\"/>\n        <enum name=\"fa_eraser\" value=\"205\"/>\n        <enum name=\"fa_eur\" value=\"206\"/>\n        <enum name=\"fa_euro\" value=\"207\"/>\n        <enum name=\"fa_exchange\" value=\"208\"/>\n        <enum name=\"fa_exclamation\" value=\"209\"/>\n        <enum name=\"fa_exclamation_circle\" value=\"210\"/>\n        <enum name=\"fa_exclamation_triangle\" value=\"211\"/>\n        <enum name=\"fa_expand\" value=\"212\"/>\n        <enum name=\"fa_expeditedssl\" value=\"213\"/>\n        <enum name=\"fa_external_link\" value=\"214\"/>\n        <enum name=\"fa_external_link_square\" value=\"215\"/>\n        <enum name=\"fa_eye\" value=\"216\"/>\n        <enum name=\"fa_eye_slash\" value=\"217\"/>\n        <enum name=\"fa_eyedropper\" value=\"218\"/>\n        <enum name=\"fa_facebook\" value=\"219\"/>\n        <enum name=\"fa_facebook_f\" value=\"220\"/>\n        <enum name=\"fa_facebook_official\" value=\"221\"/>\n        <enum name=\"fa_facebook_square\" value=\"222\"/>\n        <enum name=\"fa_fast_backward\" value=\"223\"/>\n        <enum name=\"fa_fast_forward\" value=\"224\"/>\n        <enum name=\"fa_fax\" value=\"225\"/>\n        <enum name=\"fa_feed\" value=\"226\"/>\n        <enum name=\"fa_female\" value=\"227\"/>\n        <enum name=\"fa_fighter_jet\" value=\"228\"/>\n        <enum name=\"fa_file\" value=\"229\"/>\n        <enum name=\"fa_file_archive_o\" value=\"230\"/>\n        <enum name=\"fa_file_audio_o\" value=\"231\"/>\n        <enum name=\"fa_file_code_o\" value=\"232\"/>\n        <enum name=\"fa_file_excel_o\" value=\"233\"/>\n        <enum name=\"fa_file_image_o\" value=\"234\"/>\n        <enum name=\"fa_file_movie_o\" value=\"235\"/>\n        <enum name=\"fa_file_o\" value=\"236\"/>\n        <enum name=\"fa_file_pdf_o\" value=\"237\"/>\n        <enum name=\"fa_file_photo_o\" value=\"238\"/>\n        <enum name=\"fa_file_picture_o\" value=\"239\"/>\n        <enum name=\"fa_file_powerpoint_o\" value=\"240\"/>\n        <enum name=\"fa_file_sound_o\" value=\"241\"/>\n        <enum name=\"fa_file_text\" value=\"242\"/>\n        <enum name=\"fa_file_text_o\" value=\"243\"/>\n        <enum name=\"fa_file_video_o\" value=\"244\"/>\n        <enum name=\"fa_file_word_o\" value=\"245\"/>\n        <enum name=\"fa_file_zip_o\" value=\"246\"/>\n        <enum name=\"fa_files_o\" value=\"247\"/>\n        <enum name=\"fa_film\" value=\"248\"/>\n        <enum name=\"fa_filter\" value=\"249\"/>\n        <enum name=\"fa_fire\" value=\"250\"/>\n        <enum name=\"fa_fire_extinguisher\" value=\"251\"/>\n        <enum name=\"fa_firefox\" value=\"252\"/>\n        <enum name=\"fa_flag\" value=\"253\"/>\n        <enum name=\"fa_flag_checkered\" value=\"254\"/>\n        <enum name=\"fa_flag_o\" value=\"255\"/>\n        <enum name=\"fa_flash\" value=\"256\"/>\n        <enum name=\"fa_flask\" value=\"257\"/>\n        <enum name=\"fa_flickr\" value=\"258\"/>\n        <enum name=\"fa_floppy_o\" value=\"259\"/>\n        <enum name=\"fa_folder\" value=\"260\"/>\n        <enum name=\"fa_folder_o\" value=\"261\"/>\n        <enum name=\"fa_folder_open\" value=\"262\"/>\n        <enum name=\"fa_folder_open_o\" value=\"263\"/>\n        <enum name=\"fa_font\" value=\"264\"/>\n        <enum name=\"fa_fonticons\" value=\"265\"/>\n        <enum name=\"fa_fort_awesome\" value=\"266\"/>\n        <enum name=\"fa_forumbee\" value=\"267\"/>\n        <enum name=\"fa_forward\" value=\"268\"/>\n        <enum name=\"fa_foursquare\" value=\"269\"/>\n        <enum name=\"fa_frown_o\" value=\"270\"/>\n        <enum name=\"fa_futbol_o\" value=\"271\"/>\n        <enum name=\"fa_gamepad\" value=\"272\"/>\n        <enum name=\"fa_gavel\" value=\"273\"/>\n        <enum name=\"fa_gbp\" value=\"274\"/>\n        <enum name=\"fa_ge\" value=\"275\"/>\n        <enum name=\"fa_gear\" value=\"276\"/>\n        <enum name=\"fa_gears\" value=\"277\"/>\n        <enum name=\"fa_genderless\" value=\"278\"/>\n        <enum name=\"fa_get_pocket\" value=\"279\"/>\n        <enum name=\"fa_gg\" value=\"280\"/>\n        <enum name=\"fa_gg_circle\" value=\"281\"/>\n        <enum name=\"fa_gift\" value=\"282\"/>\n        <enum name=\"fa_git\" value=\"283\"/>\n        <enum name=\"fa_git_square\" value=\"284\"/>\n        <enum name=\"fa_github\" value=\"285\"/>\n        <enum name=\"fa_github_alt\" value=\"286\"/>\n        <enum name=\"fa_github_square\" value=\"287\"/>\n        <enum name=\"fa_gittip\" value=\"288\"/>\n        <enum name=\"fa_glass\" value=\"289\"/>\n        <enum name=\"fa_globe\" value=\"290\"/>\n        <enum name=\"fa_google\" value=\"291\"/>\n        <enum name=\"fa_google_plus\" value=\"292\"/>\n        <enum name=\"fa_google_plus_square\" value=\"293\"/>\n        <enum name=\"fa_google_wallet\" value=\"294\"/>\n        <enum name=\"fa_graduation_cap\" value=\"295\"/>\n        <enum name=\"fa_gratipay\" value=\"296\"/>\n        <enum name=\"fa_group\" value=\"297\"/>\n        <enum name=\"fa_h_square\" value=\"298\"/>\n        <enum name=\"fa_hacker_news\" value=\"299\"/>\n        <enum name=\"fa_hand_grab_o\" value=\"300\"/>\n        <enum name=\"fa_hand_lizard_o\" value=\"301\"/>\n        <enum name=\"fa_hand_o_down\" value=\"302\"/>\n        <enum name=\"fa_hand_o_left\" value=\"303\"/>\n        <enum name=\"fa_hand_o_right\" value=\"304\"/>\n        <enum name=\"fa_hand_o_up\" value=\"305\"/>\n        <enum name=\"fa_hand_paper_o\" value=\"306\"/>\n        <enum name=\"fa_hand_peace_o\" value=\"307\"/>\n        <enum name=\"fa_hand_pointer_o\" value=\"308\"/>\n        <enum name=\"fa_hand_rock_o\" value=\"309\"/>\n        <enum name=\"fa_hand_scissors_o\" value=\"310\"/>\n        <enum name=\"fa_hand_spock_o\" value=\"311\"/>\n        <enum name=\"fa_hand_stop_o\" value=\"312\"/>\n        <enum name=\"fa_hashtag\" value=\"313\"/>\n        <enum name=\"fa_hdd_o\" value=\"314\"/>\n        <enum name=\"fa_header\" value=\"315\"/>\n        <enum name=\"fa_headphones\" value=\"316\"/>\n        <enum name=\"fa_heart\" value=\"317\"/>\n        <enum name=\"fa_heart_o\" value=\"318\"/>\n        <enum name=\"fa_heartbeat\" value=\"319\"/>\n        <enum name=\"fa_history\" value=\"320\"/>\n        <enum name=\"fa_home\" value=\"321\"/>\n        <enum name=\"fa_hospital_o\" value=\"322\"/>\n        <enum name=\"fa_hotel\" value=\"323\"/>\n        <enum name=\"fa_hourglass\" value=\"324\"/>\n        <enum name=\"fa_hourglass_1\" value=\"325\"/>\n        <enum name=\"fa_hourglass_2\" value=\"326\"/>\n        <enum name=\"fa_hourglass_3\" value=\"327\"/>\n        <enum name=\"fa_hourglass_end\" value=\"328\"/>\n        <enum name=\"fa_hourglass_half\" value=\"329\"/>\n        <enum name=\"fa_hourglass_o\" value=\"330\"/>\n        <enum name=\"fa_hourglass_start\" value=\"331\"/>\n        <enum name=\"fa_houzz\" value=\"332\"/>\n        <enum name=\"fa_html5\" value=\"333\"/>\n        <enum name=\"fa_i_cursor\" value=\"334\"/>\n        <enum name=\"fa_ils\" value=\"335\"/>\n        <enum name=\"fa_image\" value=\"336\"/>\n        <enum name=\"fa_inbox\" value=\"337\"/>\n        <enum name=\"fa_indent\" value=\"338\"/>\n        <enum name=\"fa_industry\" value=\"339\"/>\n        <enum name=\"fa_info\" value=\"340\"/>\n        <enum name=\"fa_info_circle\" value=\"341\"/>\n        <enum name=\"fa_inr\" value=\"342\"/>\n        <enum name=\"fa_instagram\" value=\"343\"/>\n        <enum name=\"fa_institution\" value=\"344\"/>\n        <enum name=\"fa_internet_explorer\" value=\"345\"/>\n        <enum name=\"fa_intersex\" value=\"346\"/>\n        <enum name=\"fa_ioxhost\" value=\"347\"/>\n        <enum name=\"fa_italic\" value=\"348\"/>\n        <enum name=\"fa_joomla\" value=\"349\"/>\n        <enum name=\"fa_jpy\" value=\"350\"/>\n        <enum name=\"fa_jsfiddle\" value=\"351\"/>\n        <enum name=\"fa_key\" value=\"352\"/>\n        <enum name=\"fa_keyboard_o\" value=\"353\"/>\n        <enum name=\"fa_krw\" value=\"354\"/>\n        <enum name=\"fa_language\" value=\"355\"/>\n        <enum name=\"fa_laptop\" value=\"356\"/>\n        <enum name=\"fa_lastfm\" value=\"357\"/>\n        <enum name=\"fa_lastfm_square\" value=\"358\"/>\n        <enum name=\"fa_leaf\" value=\"359\"/>\n        <enum name=\"fa_leanpub\" value=\"360\"/>\n        <enum name=\"fa_legal\" value=\"361\"/>\n        <enum name=\"fa_lemon_o\" value=\"362\"/>\n        <enum name=\"fa_level_down\" value=\"363\"/>\n        <enum name=\"fa_level_up\" value=\"364\"/>\n        <enum name=\"fa_life_bouy\" value=\"365\"/>\n        <enum name=\"fa_life_buoy\" value=\"366\"/>\n        <enum name=\"fa_life_ring\" value=\"367\"/>\n        <enum name=\"fa_life_saver\" value=\"368\"/>\n        <enum name=\"fa_lightbulb_o\" value=\"369\"/>\n        <enum name=\"fa_line_chart\" value=\"370\"/>\n        <enum name=\"fa_link\" value=\"371\"/>\n        <enum name=\"fa_linkedin\" value=\"372\"/>\n        <enum name=\"fa_linkedin_square\" value=\"373\"/>\n        <enum name=\"fa_linux\" value=\"374\"/>\n        <enum name=\"fa_list\" value=\"375\"/>\n        <enum name=\"fa_list_alt\" value=\"376\"/>\n        <enum name=\"fa_list_ol\" value=\"377\"/>\n        <enum name=\"fa_list_ul\" value=\"378\"/>\n        <enum name=\"fa_location_arrow\" value=\"379\"/>\n        <enum name=\"fa_lock\" value=\"380\"/>\n        <enum name=\"fa_long_arrow_down\" value=\"381\"/>\n        <enum name=\"fa_long_arrow_left\" value=\"382\"/>\n        <enum name=\"fa_long_arrow_right\" value=\"383\"/>\n        <enum name=\"fa_long_arrow_up\" value=\"384\"/>\n        <enum name=\"fa_magic\" value=\"385\"/>\n        <enum name=\"fa_magnet\" value=\"386\"/>\n        <enum name=\"fa_mail_forward\" value=\"387\"/>\n        <enum name=\"fa_mail_reply\" value=\"388\"/>\n        <enum name=\"fa_mail_reply_all\" value=\"389\"/>\n        <enum name=\"fa_male\" value=\"390\"/>\n        <enum name=\"fa_map\" value=\"391\"/>\n        <enum name=\"fa_map_marker\" value=\"392\"/>\n        <enum name=\"fa_map_o\" value=\"393\"/>\n        <enum name=\"fa_map_pin\" value=\"394\"/>\n        <enum name=\"fa_map_signs\" value=\"395\"/>\n        <enum name=\"fa_mars\" value=\"396\"/>\n        <enum name=\"fa_mars_double\" value=\"397\"/>\n        <enum name=\"fa_mars_stroke\" value=\"398\"/>\n        <enum name=\"fa_mars_stroke_h\" value=\"399\"/>\n        <enum name=\"fa_mars_stroke_v\" value=\"400\"/>\n        <enum name=\"fa_maxcdn\" value=\"401\"/>\n        <enum name=\"fa_meanpath\" value=\"402\"/>\n        <enum name=\"fa_medium\" value=\"403\"/>\n        <enum name=\"fa_medkit\" value=\"404\"/>\n        <enum name=\"fa_meh_o\" value=\"405\"/>\n        <enum name=\"fa_mercury\" value=\"406\"/>\n        <enum name=\"fa_microphone\" value=\"407\"/>\n        <enum name=\"fa_microphone_slash\" value=\"408\"/>\n        <enum name=\"fa_minus\" value=\"409\"/>\n        <enum name=\"fa_minus_circle\" value=\"410\"/>\n        <enum name=\"fa_minus_square\" value=\"411\"/>\n        <enum name=\"fa_minus_square_o\" value=\"412\"/>\n        <enum name=\"fa_mixcloud\" value=\"413\"/>\n        <enum name=\"fa_mobile\" value=\"414\"/>\n        <enum name=\"fa_mobile_phone\" value=\"415\"/>\n        <enum name=\"fa_modx\" value=\"416\"/>\n        <enum name=\"fa_money\" value=\"417\"/>\n        <enum name=\"fa_moon_o\" value=\"418\"/>\n        <enum name=\"fa_mortar_board\" value=\"419\"/>\n        <enum name=\"fa_motorcycle\" value=\"420\"/>\n        <enum name=\"fa_mouse_pointer\" value=\"421\"/>\n        <enum name=\"fa_music\" value=\"422\"/>\n        <enum name=\"fa_navicon\" value=\"423\"/>\n        <enum name=\"fa_neuter\" value=\"424\"/>\n        <enum name=\"fa_newspaper_o\" value=\"425\"/>\n        <enum name=\"fa_object_group\" value=\"426\"/>\n        <enum name=\"fa_object_ungroup\" value=\"427\"/>\n        <enum name=\"fa_odnoklassniki\" value=\"428\"/>\n        <enum name=\"fa_odnoklassniki_square\" value=\"429\"/>\n        <enum name=\"fa_opencart\" value=\"430\"/>\n        <enum name=\"fa_openid\" value=\"431\"/>\n        <enum name=\"fa_opera\" value=\"432\"/>\n        <enum name=\"fa_optin_monster\" value=\"433\"/>\n        <enum name=\"fa_outdent\" value=\"434\"/>\n        <enum name=\"fa_pagelines\" value=\"435\"/>\n        <enum name=\"fa_paint_brush\" value=\"436\"/>\n        <enum name=\"fa_paper_plane\" value=\"437\"/>\n        <enum name=\"fa_paper_plane_o\" value=\"438\"/>\n        <enum name=\"fa_paperclip\" value=\"439\"/>\n        <enum name=\"fa_paragraph\" value=\"440\"/>\n        <enum name=\"fa_paste\" value=\"441\"/>\n        <enum name=\"fa_pause\" value=\"442\"/>\n        <enum name=\"fa_pause_circle\" value=\"443\"/>\n        <enum name=\"fa_pause_circle_o\" value=\"444\"/>\n        <enum name=\"fa_paw\" value=\"445\"/>\n        <enum name=\"fa_paypal\" value=\"446\"/>\n        <enum name=\"fa_pencil\" value=\"447\"/>\n        <enum name=\"fa_pencil_square\" value=\"448\"/>\n        <enum name=\"fa_pencil_square_o\" value=\"449\"/>\n        <enum name=\"fa_percent\" value=\"450\"/>\n        <enum name=\"fa_phone\" value=\"451\"/>\n        <enum name=\"fa_phone_square\" value=\"452\"/>\n        <enum name=\"fa_photo\" value=\"453\"/>\n        <enum name=\"fa_picture_o\" value=\"454\"/>\n        <enum name=\"fa_pie_chart\" value=\"455\"/>\n        <enum name=\"fa_pied_piper\" value=\"456\"/>\n        <enum name=\"fa_pied_piper_alt\" value=\"457\"/>\n        <enum name=\"fa_pinterest\" value=\"458\"/>\n        <enum name=\"fa_pinterest_p\" value=\"459\"/>\n        <enum name=\"fa_pinterest_square\" value=\"460\"/>\n        <enum name=\"fa_plane\" value=\"461\"/>\n        <enum name=\"fa_play\" value=\"462\"/>\n        <enum name=\"fa_play_circle\" value=\"463\"/>\n        <enum name=\"fa_play_circle_o\" value=\"464\"/>\n        <enum name=\"fa_plug\" value=\"465\"/>\n        <enum name=\"fa_plus\" value=\"466\"/>\n        <enum name=\"fa_plus_circle\" value=\"467\"/>\n        <enum name=\"fa_plus_square\" value=\"468\"/>\n        <enum name=\"fa_plus_square_o\" value=\"469\"/>\n        <enum name=\"fa_power_off\" value=\"470\"/>\n        <enum name=\"fa_print\" value=\"471\"/>\n        <enum name=\"fa_product_hunt\" value=\"472\"/>\n        <enum name=\"fa_puzzle_piece\" value=\"473\"/>\n        <enum name=\"fa_qq\" value=\"474\"/>\n        <enum name=\"fa_qrcode\" value=\"475\"/>\n        <enum name=\"fa_question\" value=\"476\"/>\n        <enum name=\"fa_question_circle\" value=\"477\"/>\n        <enum name=\"fa_quote_left\" value=\"478\"/>\n        <enum name=\"fa_quote_right\" value=\"479\"/>\n        <enum name=\"fa_ra\" value=\"480\"/>\n        <enum name=\"fa_random\" value=\"481\"/>\n        <enum name=\"fa_rebel\" value=\"482\"/>\n        <enum name=\"fa_recycle\" value=\"483\"/>\n        <enum name=\"fa_reddit\" value=\"484\"/>\n        <enum name=\"fa_reddit_alien\" value=\"485\"/>\n        <enum name=\"fa_reddit_square\" value=\"486\"/>\n        <enum name=\"fa_refresh\" value=\"487\"/>\n        <enum name=\"fa_registered\" value=\"488\"/>\n        <enum name=\"fa_remove\" value=\"489\"/>\n        <enum name=\"fa_renren\" value=\"490\"/>\n        <enum name=\"fa_reorder\" value=\"491\"/>\n        <enum name=\"fa_repeat\" value=\"492\"/>\n        <enum name=\"fa_reply\" value=\"493\"/>\n        <enum name=\"fa_reply_all\" value=\"494\"/>\n        <enum name=\"fa_retweet\" value=\"495\"/>\n        <enum name=\"fa_rmb\" value=\"496\"/>\n        <enum name=\"fa_road\" value=\"497\"/>\n        <enum name=\"fa_rocket\" value=\"498\"/>\n        <enum name=\"fa_rotate_left\" value=\"499\"/>\n        <enum name=\"fa_rotate_right\" value=\"500\"/>\n        <enum name=\"fa_rouble\" value=\"501\"/>\n        <enum name=\"fa_rss\" value=\"502\"/>\n        <enum name=\"fa_rss_square\" value=\"503\"/>\n        <enum name=\"fa_rub\" value=\"504\"/>\n        <enum name=\"fa_ruble\" value=\"505\"/>\n        <enum name=\"fa_rupee\" value=\"506\"/>\n        <enum name=\"fa_safari\" value=\"507\"/>\n        <enum name=\"fa_save\" value=\"508\"/>\n        <enum name=\"fa_scissors\" value=\"509\"/>\n        <enum name=\"fa_scribd\" value=\"510\"/>\n        <enum name=\"fa_search\" value=\"511\"/>\n        <enum name=\"fa_search_minus\" value=\"512\"/>\n        <enum name=\"fa_search_plus\" value=\"513\"/>\n        <enum name=\"fa_sellsy\" value=\"514\"/>\n        <enum name=\"fa_send\" value=\"515\"/>\n        <enum name=\"fa_send_o\" value=\"516\"/>\n        <enum name=\"fa_server\" value=\"517\"/>\n        <enum name=\"fa_share\" value=\"518\"/>\n        <enum name=\"fa_share_alt\" value=\"519\"/>\n        <enum name=\"fa_share_alt_square\" value=\"520\"/>\n        <enum name=\"fa_share_square\" value=\"521\"/>\n        <enum name=\"fa_share_square_o\" value=\"522\"/>\n        <enum name=\"fa_shekel\" value=\"523\"/>\n        <enum name=\"fa_sheqel\" value=\"524\"/>\n        <enum name=\"fa_shield\" value=\"525\"/>\n        <enum name=\"fa_ship\" value=\"526\"/>\n        <enum name=\"fa_shirtsinbulk\" value=\"527\"/>\n        <enum name=\"fa_shopping_bag\" value=\"528\"/>\n        <enum name=\"fa_shopping_basket\" value=\"529\"/>\n        <enum name=\"fa_shopping_cart\" value=\"530\"/>\n        <enum name=\"fa_sign_in\" value=\"531\"/>\n        <enum name=\"fa_sign_out\" value=\"532\"/>\n        <enum name=\"fa_signal\" value=\"533\"/>\n        <enum name=\"fa_simplybuilt\" value=\"534\"/>\n        <enum name=\"fa_sitemap\" value=\"535\"/>\n        <enum name=\"fa_skyatlas\" value=\"536\"/>\n        <enum name=\"fa_skype\" value=\"537\"/>\n        <enum name=\"fa_slack\" value=\"538\"/>\n        <enum name=\"fa_sliders\" value=\"539\"/>\n        <enum name=\"fa_slideshare\" value=\"540\"/>\n        <enum name=\"fa_smile_o\" value=\"541\"/>\n        <enum name=\"fa_soccer_ball_o\" value=\"542\"/>\n        <enum name=\"fa_sort\" value=\"543\"/>\n        <enum name=\"fa_sort_alpha_asc\" value=\"544\"/>\n        <enum name=\"fa_sort_alpha_desc\" value=\"545\"/>\n        <enum name=\"fa_sort_amount_asc\" value=\"546\"/>\n        <enum name=\"fa_sort_amount_desc\" value=\"547\"/>\n        <enum name=\"fa_sort_asc\" value=\"548\"/>\n        <enum name=\"fa_sort_desc\" value=\"549\"/>\n        <enum name=\"fa_sort_down\" value=\"550\"/>\n        <enum name=\"fa_sort_numeric_asc\" value=\"551\"/>\n        <enum name=\"fa_sort_numeric_desc\" value=\"552\"/>\n        <enum name=\"fa_sort_up\" value=\"553\"/>\n        <enum name=\"fa_soundcloud\" value=\"554\"/>\n        <enum name=\"fa_space_shuttle\" value=\"555\"/>\n        <enum name=\"fa_spinner\" value=\"556\"/>\n        <enum name=\"fa_spoon\" value=\"557\"/>\n        <enum name=\"fa_spotify\" value=\"558\"/>\n        <enum name=\"fa_square\" value=\"559\"/>\n        <enum name=\"fa_square_o\" value=\"560\"/>\n        <enum name=\"fa_stack_exchange\" value=\"561\"/>\n        <enum name=\"fa_stack_overflow\" value=\"562\"/>\n        <enum name=\"fa_star\" value=\"563\"/>\n        <enum name=\"fa_star_half\" value=\"564\"/>\n        <enum name=\"fa_star_half_empty\" value=\"565\"/>\n        <enum name=\"fa_star_half_full\" value=\"566\"/>\n        <enum name=\"fa_star_half_o\" value=\"567\"/>\n        <enum name=\"fa_star_o\" value=\"568\"/>\n        <enum name=\"fa_steam\" value=\"569\"/>\n        <enum name=\"fa_steam_square\" value=\"570\"/>\n        <enum name=\"fa_step_backward\" value=\"571\"/>\n        <enum name=\"fa_step_forward\" value=\"572\"/>\n        <enum name=\"fa_stethoscope\" value=\"573\"/>\n        <enum name=\"fa_sticky_note\" value=\"574\"/>\n        <enum name=\"fa_sticky_note_o\" value=\"575\"/>\n        <enum name=\"fa_stop\" value=\"576\"/>\n        <enum name=\"fa_stop_circle\" value=\"577\"/>\n        <enum name=\"fa_stop_circle_o\" value=\"578\"/>\n        <enum name=\"fa_street_view\" value=\"579\"/>\n        <enum name=\"fa_strikethrough\" value=\"580\"/>\n        <enum name=\"fa_stumbleupon\" value=\"581\"/>\n        <enum name=\"fa_stumbleupon_circle\" value=\"582\"/>\n        <enum name=\"fa_subscript\" value=\"583\"/>\n        <enum name=\"fa_subway\" value=\"584\"/>\n        <enum name=\"fa_suitcase\" value=\"585\"/>\n        <enum name=\"fa_sun_o\" value=\"586\"/>\n        <enum name=\"fa_superscript\" value=\"587\"/>\n        <enum name=\"fa_support\" value=\"588\"/>\n        <enum name=\"fa_table\" value=\"589\"/>\n        <enum name=\"fa_tablet\" value=\"590\"/>\n        <enum name=\"fa_tachometer\" value=\"591\"/>\n        <enum name=\"fa_tag\" value=\"592\"/>\n        <enum name=\"fa_tags\" value=\"593\"/>\n        <enum name=\"fa_tasks\" value=\"594\"/>\n        <enum name=\"fa_taxi\" value=\"595\"/>\n        <enum name=\"fa_television\" value=\"596\"/>\n        <enum name=\"fa_tencent_weibo\" value=\"597\"/>\n        <enum name=\"fa_terminal\" value=\"598\"/>\n        <enum name=\"fa_text_height\" value=\"599\"/>\n        <enum name=\"fa_text_width\" value=\"600\"/>\n        <enum name=\"fa_th\" value=\"601\"/>\n        <enum name=\"fa_th_large\" value=\"602\"/>\n        <enum name=\"fa_th_list\" value=\"603\"/>\n        <enum name=\"fa_thumb_tack\" value=\"604\"/>\n        <enum name=\"fa_thumbs_down\" value=\"605\"/>\n        <enum name=\"fa_thumbs_o_down\" value=\"606\"/>\n        <enum name=\"fa_thumbs_o_up\" value=\"607\"/>\n        <enum name=\"fa_thumbs_up\" value=\"608\"/>\n        <enum name=\"fa_ticket\" value=\"609\"/>\n        <enum name=\"fa_times\" value=\"610\"/>\n        <enum name=\"fa_times_circle\" value=\"611\"/>\n        <enum name=\"fa_times_circle_o\" value=\"612\"/>\n        <enum name=\"fa_tint\" value=\"613\"/>\n        <enum name=\"fa_toggle_down\" value=\"614\"/>\n        <enum name=\"fa_toggle_left\" value=\"615\"/>\n        <enum name=\"fa_toggle_off\" value=\"616\"/>\n        <enum name=\"fa_toggle_on\" value=\"617\"/>\n        <enum name=\"fa_toggle_right\" value=\"618\"/>\n        <enum name=\"fa_toggle_up\" value=\"619\"/>\n        <enum name=\"fa_trademark\" value=\"620\"/>\n        <enum name=\"fa_train\" value=\"621\"/>\n        <enum name=\"fa_transgender\" value=\"622\"/>\n        <enum name=\"fa_transgender_alt\" value=\"623\"/>\n        <enum name=\"fa_trash\" value=\"624\"/>\n        <enum name=\"fa_trash_o\" value=\"625\"/>\n        <enum name=\"fa_tree\" value=\"626\"/>\n        <enum name=\"fa_trello\" value=\"627\"/>\n        <enum name=\"fa_tripadvisor\" value=\"628\"/>\n        <enum name=\"fa_trophy\" value=\"629\"/>\n        <enum name=\"fa_truck\" value=\"630\"/>\n        <enum name=\"fa_try\" value=\"631\"/>\n        <enum name=\"fa_tty\" value=\"632\"/>\n        <enum name=\"fa_tumblr\" value=\"633\"/>\n        <enum name=\"fa_tumblr_square\" value=\"634\"/>\n        <enum name=\"fa_turkish_lira\" value=\"635\"/>\n        <enum name=\"fa_tv\" value=\"636\"/>\n        <enum name=\"fa_twitch\" value=\"637\"/>\n        <enum name=\"fa_twitter\" value=\"638\"/>\n        <enum name=\"fa_twitter_square\" value=\"639\"/>\n        <enum name=\"fa_umbrella\" value=\"640\"/>\n        <enum name=\"fa_underline\" value=\"641\"/>\n        <enum name=\"fa_undo\" value=\"642\"/>\n        <enum name=\"fa_university\" value=\"643\"/>\n        <enum name=\"fa_unlink\" value=\"644\"/>\n        <enum name=\"fa_unlock\" value=\"645\"/>\n        <enum name=\"fa_unlock_alt\" value=\"646\"/>\n        <enum name=\"fa_unsorted\" value=\"647\"/>\n        <enum name=\"fa_upload\" value=\"648\"/>\n        <enum name=\"fa_usb\" value=\"649\"/>\n        <enum name=\"fa_usd\" value=\"650\"/>\n        <enum name=\"fa_user\" value=\"651\"/>\n        <enum name=\"fa_user_md\" value=\"652\"/>\n        <enum name=\"fa_user_plus\" value=\"653\"/>\n        <enum name=\"fa_user_secret\" value=\"654\"/>\n        <enum name=\"fa_user_times\" value=\"655\"/>\n        <enum name=\"fa_users\" value=\"656\"/>\n        <enum name=\"fa_venus\" value=\"657\"/>\n        <enum name=\"fa_venus_double\" value=\"658\"/>\n        <enum name=\"fa_venus_mars\" value=\"659\"/>\n        <enum name=\"fa_viacoin\" value=\"660\"/>\n        <enum name=\"fa_video_camera\" value=\"661\"/>\n        <enum name=\"fa_vimeo\" value=\"662\"/>\n        <enum name=\"fa_vimeo_square\" value=\"663\"/>\n        <enum name=\"fa_vine\" value=\"664\"/>\n        <enum name=\"fa_vk\" value=\"665\"/>\n        <enum name=\"fa_volume_down\" value=\"666\"/>\n        <enum name=\"fa_volume_off\" value=\"667\"/>\n        <enum name=\"fa_volume_up\" value=\"668\"/>\n        <enum name=\"fa_warning\" value=\"669\"/>\n        <enum name=\"fa_wechat\" value=\"670\"/>\n        <enum name=\"fa_weibo\" value=\"671\"/>\n        <enum name=\"fa_weixin\" value=\"672\"/>\n        <enum name=\"fa_whatsapp\" value=\"673\"/>\n        <enum name=\"fa_wheelchair\" value=\"674\"/>\n        <enum name=\"fa_wifi\" value=\"675\"/>\n        <enum name=\"fa_wikipedia_w\" value=\"676\"/>\n        <enum name=\"fa_windows\" value=\"677\"/>\n        <enum name=\"fa_won\" value=\"678\"/>\n        <enum name=\"fa_wordpress\" value=\"679\"/>\n        <enum name=\"fa_wrench\" value=\"680\"/>\n        <enum name=\"fa_xing\" value=\"681\"/>\n        <enum name=\"fa_xing_square\" value=\"682\"/>\n        <enum name=\"fa_y_combinator\" value=\"683\"/>\n        <enum name=\"fa_y_combinator_square\" value=\"684\"/>\n        <enum name=\"fa_yahoo\" value=\"685\"/>\n        <enum name=\"fa_yc\" value=\"686\"/>\n        <enum name=\"fa_yc_square\" value=\"687\"/>\n        <enum name=\"fa_yelp\" value=\"688\"/>\n        <enum name=\"fa_yen\" value=\"689\"/>\n        <enum name=\"fa_youtube\" value=\"690\"/>\n        <enum name=\"fa_youtube_play\" value=\"691\"/>\n        <enum name=\"fa_youtube_square\" value=\"692\"/>\n    </attr>\n\n</resources>"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/attrs_materialIcon.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <attr name=\"materialIcon\" format=\"enum\">\n        <enum name=\"md_3d_rotation\" value=\"0\"/>\n        <enum name=\"md_ac_unit\" value=\"1\"/>\n        <enum name=\"md_access_alarm\" value=\"2\"/>\n        <enum name=\"md_access_alarms\" value=\"3\"/>\n        <enum name=\"md_access_time\" value=\"4\"/>\n        <enum name=\"md_accessibility\" value=\"5\"/>\n        <enum name=\"md_accessible\" value=\"6\"/>\n        <enum name=\"md_account_balance\" value=\"7\"/>\n        <enum name=\"md_account_balance_wallet\" value=\"8\"/>\n        <enum name=\"md_account_box\" value=\"9\"/>\n        <enum name=\"md_account_circle\" value=\"10\"/>\n        <enum name=\"md_adb\" value=\"11\"/>\n        <enum name=\"md_add\" value=\"12\"/>\n        <enum name=\"md_add_a_photo\" value=\"13\"/>\n        <enum name=\"md_add_alarm\" value=\"14\"/>\n        <enum name=\"md_add_alert\" value=\"15\"/>\n        <enum name=\"md_add_box\" value=\"16\"/>\n        <enum name=\"md_add_circle\" value=\"17\"/>\n        <enum name=\"md_add_circle_outline\" value=\"18\"/>\n        <enum name=\"md_add_location\" value=\"19\"/>\n        <enum name=\"md_add_shopping_cart\" value=\"20\"/>\n        <enum name=\"md_add_to_photos\" value=\"21\"/>\n        <enum name=\"md_add_to_queue\" value=\"22\"/>\n        <enum name=\"md_adjust\" value=\"23\"/>\n        <enum name=\"md_airline_seat_flat\" value=\"24\"/>\n        <enum name=\"md_airline_seat_flat_angled\" value=\"25\"/>\n        <enum name=\"md_airline_seat_individual_suite\" value=\"26\"/>\n        <enum name=\"md_airline_seat_legroom_extra\" value=\"27\"/>\n        <enum name=\"md_airline_seat_legroom_normal\" value=\"28\"/>\n        <enum name=\"md_airline_seat_legroom_reduced\" value=\"29\"/>\n        <enum name=\"md_airline_seat_recline_extra\" value=\"30\"/>\n        <enum name=\"md_airline_seat_recline_normal\" value=\"31\"/>\n        <enum name=\"md_airplanemode_active\" value=\"32\"/>\n        <enum name=\"md_airplanemode_inactive\" value=\"33\"/>\n        <enum name=\"md_airplay\" value=\"34\"/>\n        <enum name=\"md_airport_shuttle\" value=\"35\"/>\n        <enum name=\"md_alarm\" value=\"36\"/>\n        <enum name=\"md_alarm_add\" value=\"37\"/>\n        <enum name=\"md_alarm_off\" value=\"38\"/>\n        <enum name=\"md_alarm_on\" value=\"39\"/>\n        <enum name=\"md_album\" value=\"40\"/>\n        <enum name=\"md_all_inclusive\" value=\"41\"/>\n        <enum name=\"md_all_out\" value=\"42\"/>\n        <enum name=\"md_android\" value=\"43\"/>\n        <enum name=\"md_announcement\" value=\"44\"/>\n        <enum name=\"md_apps\" value=\"45\"/>\n        <enum name=\"md_archive\" value=\"46\"/>\n        <enum name=\"md_arrow_back\" value=\"47\"/>\n        <enum name=\"md_arrow_downward\" value=\"48\"/>\n        <enum name=\"md_arrow_drop_down\" value=\"49\"/>\n        <enum name=\"md_arrow_drop_down_circle\" value=\"50\"/>\n        <enum name=\"md_arrow_drop_up\" value=\"51\"/>\n        <enum name=\"md_arrow_forward\" value=\"52\"/>\n        <enum name=\"md_arrow_upward\" value=\"53\"/>\n        <enum name=\"md_art_track\" value=\"54\"/>\n        <enum name=\"md_aspect_ratio\" value=\"55\"/>\n        <enum name=\"md_assessment\" value=\"56\"/>\n        <enum name=\"md_assignment\" value=\"57\"/>\n        <enum name=\"md_assignment_ind\" value=\"58\"/>\n        <enum name=\"md_assignment_late\" value=\"59\"/>\n        <enum name=\"md_assignment_return\" value=\"60\"/>\n        <enum name=\"md_assignment_returned\" value=\"61\"/>\n        <enum name=\"md_assignment_turned_in\" value=\"62\"/>\n        <enum name=\"md_assistant\" value=\"63\"/>\n        <enum name=\"md_assistant_photo\" value=\"64\"/>\n        <enum name=\"md_attach_file\" value=\"65\"/>\n        <enum name=\"md_attach_money\" value=\"66\"/>\n        <enum name=\"md_attachment\" value=\"67\"/>\n        <enum name=\"md_audiotrack\" value=\"68\"/>\n        <enum name=\"md_autorenew\" value=\"69\"/>\n        <enum name=\"md_av_timer\" value=\"70\"/>\n        <enum name=\"md_backspace\" value=\"71\"/>\n        <enum name=\"md_backup\" value=\"72\"/>\n        <enum name=\"md_battery_alert\" value=\"73\"/>\n        <enum name=\"md_battery_charging_full\" value=\"74\"/>\n        <enum name=\"md_battery_full\" value=\"75\"/>\n        <enum name=\"md_battery_std\" value=\"76\"/>\n        <enum name=\"md_battery_unknown\" value=\"77\"/>\n        <enum name=\"md_beach_access\" value=\"78\"/>\n        <enum name=\"md_beenhere\" value=\"79\"/>\n        <enum name=\"md_block\" value=\"80\"/>\n        <enum name=\"md_bluetooth\" value=\"81\"/>\n        <enum name=\"md_bluetooth_audio\" value=\"82\"/>\n        <enum name=\"md_bluetooth_connected\" value=\"83\"/>\n        <enum name=\"md_bluetooth_disabled\" value=\"84\"/>\n        <enum name=\"md_bluetooth_searching\" value=\"85\"/>\n        <enum name=\"md_blur_circular\" value=\"86\"/>\n        <enum name=\"md_blur_linear\" value=\"87\"/>\n        <enum name=\"md_blur_off\" value=\"88\"/>\n        <enum name=\"md_blur_on\" value=\"89\"/>\n        <enum name=\"md_book\" value=\"90\"/>\n        <enum name=\"md_bookmark\" value=\"91\"/>\n        <enum name=\"md_bookmark_border\" value=\"92\"/>\n        <enum name=\"md_border_all\" value=\"93\"/>\n        <enum name=\"md_border_bottom\" value=\"94\"/>\n        <enum name=\"md_border_clear\" value=\"95\"/>\n        <enum name=\"md_border_color\" value=\"96\"/>\n        <enum name=\"md_border_horizontal\" value=\"97\"/>\n        <enum name=\"md_border_inner\" value=\"98\"/>\n        <enum name=\"md_border_left\" value=\"99\"/>\n        <enum name=\"md_border_outer\" value=\"100\"/>\n        <enum name=\"md_border_right\" value=\"101\"/>\n        <enum name=\"md_border_style\" value=\"102\"/>\n        <enum name=\"md_border_top\" value=\"103\"/>\n        <enum name=\"md_border_vertical\" value=\"104\"/>\n        <enum name=\"md_branding_watermark\" value=\"105\"/>\n        <enum name=\"md_brightness_1\" value=\"106\"/>\n        <enum name=\"md_brightness_2\" value=\"107\"/>\n        <enum name=\"md_brightness_3\" value=\"108\"/>\n        <enum name=\"md_brightness_4\" value=\"109\"/>\n        <enum name=\"md_brightness_5\" value=\"110\"/>\n        <enum name=\"md_brightness_6\" value=\"111\"/>\n        <enum name=\"md_brightness_7\" value=\"112\"/>\n        <enum name=\"md_brightness_auto\" value=\"113\"/>\n        <enum name=\"md_brightness_high\" value=\"114\"/>\n        <enum name=\"md_brightness_low\" value=\"115\"/>\n        <enum name=\"md_brightness_medium\" value=\"116\"/>\n        <enum name=\"md_broken_image\" value=\"117\"/>\n        <enum name=\"md_brush\" value=\"118\"/>\n        <enum name=\"md_bubble_chart\" value=\"119\"/>\n        <enum name=\"md_bug_report\" value=\"120\"/>\n        <enum name=\"md_build\" value=\"121\"/>\n        <enum name=\"md_burst_mode\" value=\"122\"/>\n        <enum name=\"md_business\" value=\"123\"/>\n        <enum name=\"md_business_center\" value=\"124\"/>\n        <enum name=\"md_cached\" value=\"125\"/>\n        <enum name=\"md_cake\" value=\"126\"/>\n        <enum name=\"md_call\" value=\"127\"/>\n        <enum name=\"md_call_end\" value=\"128\"/>\n        <enum name=\"md_call_made\" value=\"129\"/>\n        <enum name=\"md_call_merge\" value=\"130\"/>\n        <enum name=\"md_call_missed\" value=\"131\"/>\n        <enum name=\"md_call_missed_outgoing\" value=\"132\"/>\n        <enum name=\"md_call_received\" value=\"133\"/>\n        <enum name=\"md_call_split\" value=\"134\"/>\n        <enum name=\"md_call_to_action\" value=\"135\"/>\n        <enum name=\"md_camera\" value=\"136\"/>\n        <enum name=\"md_camera_alt\" value=\"137\"/>\n        <enum name=\"md_camera_enhance\" value=\"138\"/>\n        <enum name=\"md_camera_front\" value=\"139\"/>\n        <enum name=\"md_camera_rear\" value=\"140\"/>\n        <enum name=\"md_camera_roll\" value=\"141\"/>\n        <enum name=\"md_cancel\" value=\"142\"/>\n        <enum name=\"md_card_giftcard\" value=\"143\"/>\n        <enum name=\"md_card_membership\" value=\"144\"/>\n        <enum name=\"md_card_travel\" value=\"145\"/>\n        <enum name=\"md_casino\" value=\"146\"/>\n        <enum name=\"md_cast\" value=\"147\"/>\n        <enum name=\"md_cast_connected\" value=\"148\"/>\n        <enum name=\"md_center_focus_strong\" value=\"149\"/>\n        <enum name=\"md_center_focus_weak\" value=\"150\"/>\n        <enum name=\"md_change_history\" value=\"151\"/>\n        <enum name=\"md_chat\" value=\"152\"/>\n        <enum name=\"md_chat_bubble\" value=\"153\"/>\n        <enum name=\"md_chat_bubble_outline\" value=\"154\"/>\n        <enum name=\"md_check\" value=\"155\"/>\n        <enum name=\"md_check_box\" value=\"156\"/>\n        <enum name=\"md_check_box_outline_blank\" value=\"157\"/>\n        <enum name=\"md_check_circle\" value=\"158\"/>\n        <enum name=\"md_chevron_left\" value=\"159\"/>\n        <enum name=\"md_chevron_right\" value=\"160\"/>\n        <enum name=\"md_child_care\" value=\"161\"/>\n        <enum name=\"md_child_friendly\" value=\"162\"/>\n        <enum name=\"md_chrome_reader_mode\" value=\"163\"/>\n        <enum name=\"md_class\" value=\"164\"/>\n        <enum name=\"md_clear\" value=\"165\"/>\n        <enum name=\"md_clear_all\" value=\"166\"/>\n        <enum name=\"md_close\" value=\"167\"/>\n        <enum name=\"md_closed_caption\" value=\"168\"/>\n        <enum name=\"md_cloud\" value=\"169\"/>\n        <enum name=\"md_cloud_circle\" value=\"170\"/>\n        <enum name=\"md_cloud_done\" value=\"171\"/>\n        <enum name=\"md_cloud_download\" value=\"172\"/>\n        <enum name=\"md_cloud_off\" value=\"173\"/>\n        <enum name=\"md_cloud_queue\" value=\"174\"/>\n        <enum name=\"md_cloud_upload\" value=\"175\"/>\n        <enum name=\"md_code\" value=\"176\"/>\n        <enum name=\"md_collections\" value=\"177\"/>\n        <enum name=\"md_collections_bookmark\" value=\"178\"/>\n        <enum name=\"md_color_lens\" value=\"179\"/>\n        <enum name=\"md_colorize\" value=\"180\"/>\n        <enum name=\"md_comment\" value=\"181\"/>\n        <enum name=\"md_compare\" value=\"182\"/>\n        <enum name=\"md_compare_arrows\" value=\"183\"/>\n        <enum name=\"md_computer\" value=\"184\"/>\n        <enum name=\"md_confirmation_number\" value=\"185\"/>\n        <enum name=\"md_contact_mail\" value=\"186\"/>\n        <enum name=\"md_contact_phone\" value=\"187\"/>\n        <enum name=\"md_contacts\" value=\"188\"/>\n        <enum name=\"md_content_copy\" value=\"189\"/>\n        <enum name=\"md_content_cut\" value=\"190\"/>\n        <enum name=\"md_content_paste\" value=\"191\"/>\n        <enum name=\"md_control_point\" value=\"192\"/>\n        <enum name=\"md_control_point_duplicate\" value=\"193\"/>\n        <enum name=\"md_copyright\" value=\"194\"/>\n        <enum name=\"md_create\" value=\"195\"/>\n        <enum name=\"md_create_new_folder\" value=\"196\"/>\n        <enum name=\"md_credit_card\" value=\"197\"/>\n        <enum name=\"md_crop\" value=\"198\"/>\n        <enum name=\"md_crop_16_9\" value=\"199\"/>\n        <enum name=\"md_crop_3_2\" value=\"200\"/>\n        <enum name=\"md_crop_5_4\" value=\"201\"/>\n        <enum name=\"md_crop_7_5\" value=\"202\"/>\n        <enum name=\"md_crop_din\" value=\"203\"/>\n        <enum name=\"md_crop_free\" value=\"204\"/>\n        <enum name=\"md_crop_landscape\" value=\"205\"/>\n        <enum name=\"md_crop_original\" value=\"206\"/>\n        <enum name=\"md_crop_portrait\" value=\"207\"/>\n        <enum name=\"md_crop_rotate\" value=\"208\"/>\n        <enum name=\"md_crop_square\" value=\"209\"/>\n        <enum name=\"md_dashboard\" value=\"210\"/>\n        <enum name=\"md_data_usage\" value=\"211\"/>\n        <enum name=\"md_date_range\" value=\"212\"/>\n        <enum name=\"md_dehaze\" value=\"213\"/>\n        <enum name=\"md_delete\" value=\"214\"/>\n        <enum name=\"md_delete_forever\" value=\"215\"/>\n        <enum name=\"md_delete_sweep\" value=\"216\"/>\n        <enum name=\"md_description\" value=\"217\"/>\n        <enum name=\"md_desktop_mac\" value=\"218\"/>\n        <enum name=\"md_desktop_windows\" value=\"219\"/>\n        <enum name=\"md_details\" value=\"220\"/>\n        <enum name=\"md_developer_board\" value=\"221\"/>\n        <enum name=\"md_developer_mode\" value=\"222\"/>\n        <enum name=\"md_device_hub\" value=\"223\"/>\n        <enum name=\"md_devices\" value=\"224\"/>\n        <enum name=\"md_devices_other\" value=\"225\"/>\n        <enum name=\"md_dialer_sip\" value=\"226\"/>\n        <enum name=\"md_dialpad\" value=\"227\"/>\n        <enum name=\"md_directions\" value=\"228\"/>\n        <enum name=\"md_directions_bike\" value=\"229\"/>\n        <enum name=\"md_directions_boat\" value=\"230\"/>\n        <enum name=\"md_directions_bus\" value=\"231\"/>\n        <enum name=\"md_directions_car\" value=\"232\"/>\n        <enum name=\"md_directions_railway\" value=\"233\"/>\n        <enum name=\"md_directions_run\" value=\"234\"/>\n        <enum name=\"md_directions_subway\" value=\"235\"/>\n        <enum name=\"md_directions_transit\" value=\"236\"/>\n        <enum name=\"md_directions_walk\" value=\"237\"/>\n        <enum name=\"md_disc_full\" value=\"238\"/>\n        <enum name=\"md_dns\" value=\"239\"/>\n        <enum name=\"md_do_not_disturb\" value=\"240\"/>\n        <enum name=\"md_do_not_disturb_alt\" value=\"241\"/>\n        <enum name=\"md_do_not_disturb_off\" value=\"242\"/>\n        <enum name=\"md_do_not_disturb_on\" value=\"243\"/>\n        <enum name=\"md_dock\" value=\"244\"/>\n        <enum name=\"md_domain\" value=\"245\"/>\n        <enum name=\"md_done\" value=\"246\"/>\n        <enum name=\"md_done_all\" value=\"247\"/>\n        <enum name=\"md_donut_large\" value=\"248\"/>\n        <enum name=\"md_donut_small\" value=\"249\"/>\n        <enum name=\"md_drafts\" value=\"250\"/>\n        <enum name=\"md_drag_handle\" value=\"251\"/>\n        <enum name=\"md_drive_eta\" value=\"252\"/>\n        <enum name=\"md_dvr\" value=\"253\"/>\n        <enum name=\"md_edit\" value=\"254\"/>\n        <enum name=\"md_edit_location\" value=\"255\"/>\n        <enum name=\"md_eject\" value=\"256\"/>\n        <enum name=\"md_email\" value=\"257\"/>\n        <enum name=\"md_enhanced_encryption\" value=\"258\"/>\n        <enum name=\"md_equalizer\" value=\"259\"/>\n        <enum name=\"md_error\" value=\"260\"/>\n        <enum name=\"md_error_outline\" value=\"261\"/>\n        <enum name=\"md_euro_symbol\" value=\"262\"/>\n        <enum name=\"md_ev_station\" value=\"263\"/>\n        <enum name=\"md_event\" value=\"264\"/>\n        <enum name=\"md_event_available\" value=\"265\"/>\n        <enum name=\"md_event_busy\" value=\"266\"/>\n        <enum name=\"md_event_note\" value=\"267\"/>\n        <enum name=\"md_event_seat\" value=\"268\"/>\n        <enum name=\"md_exit_to_app\" value=\"269\"/>\n        <enum name=\"md_expand_less\" value=\"270\"/>\n        <enum name=\"md_expand_more\" value=\"271\"/>\n        <enum name=\"md_explicit\" value=\"272\"/>\n        <enum name=\"md_explore\" value=\"273\"/>\n        <enum name=\"md_exposure\" value=\"274\"/>\n        <enum name=\"md_exposure_neg_1\" value=\"275\"/>\n        <enum name=\"md_exposure_neg_2\" value=\"276\"/>\n        <enum name=\"md_exposure_plus_1\" value=\"277\"/>\n        <enum name=\"md_exposure_plus_2\" value=\"278\"/>\n        <enum name=\"md_exposure_zero\" value=\"279\"/>\n        <enum name=\"md_extension\" value=\"280\"/>\n        <enum name=\"md_face\" value=\"281\"/>\n        <enum name=\"md_fast_forward\" value=\"282\"/>\n        <enum name=\"md_fast_rewind\" value=\"283\"/>\n        <enum name=\"md_favorite\" value=\"284\"/>\n        <enum name=\"md_favorite_border\" value=\"285\"/>\n        <enum name=\"md_featured_play_list\" value=\"286\"/>\n        <enum name=\"md_featured_video\" value=\"287\"/>\n        <enum name=\"md_feedback\" value=\"288\"/>\n        <enum name=\"md_fiber_dvr\" value=\"289\"/>\n        <enum name=\"md_fiber_manual_record\" value=\"290\"/>\n        <enum name=\"md_fiber_new\" value=\"291\"/>\n        <enum name=\"md_fiber_pin\" value=\"292\"/>\n        <enum name=\"md_fiber_smart_record\" value=\"293\"/>\n        <enum name=\"md_file_download\" value=\"294\"/>\n        <enum name=\"md_file_upload\" value=\"295\"/>\n        <enum name=\"md_filter\" value=\"296\"/>\n        <enum name=\"md_filter_1\" value=\"297\"/>\n        <enum name=\"md_filter_2\" value=\"298\"/>\n        <enum name=\"md_filter_3\" value=\"299\"/>\n        <enum name=\"md_filter_4\" value=\"300\"/>\n        <enum name=\"md_filter_5\" value=\"301\"/>\n        <enum name=\"md_filter_6\" value=\"302\"/>\n        <enum name=\"md_filter_7\" value=\"303\"/>\n        <enum name=\"md_filter_8\" value=\"304\"/>\n        <enum name=\"md_filter_9\" value=\"305\"/>\n        <enum name=\"md_filter_9_plus\" value=\"306\"/>\n        <enum name=\"md_filter_b_and_w\" value=\"307\"/>\n        <enum name=\"md_filter_center_focus\" value=\"308\"/>\n        <enum name=\"md_filter_drama\" value=\"309\"/>\n        <enum name=\"md_filter_frames\" value=\"310\"/>\n        <enum name=\"md_filter_hdr\" value=\"311\"/>\n        <enum name=\"md_filter_list\" value=\"312\"/>\n        <enum name=\"md_filter_none\" value=\"313\"/>\n        <enum name=\"md_filter_tilt_shift\" value=\"314\"/>\n        <enum name=\"md_filter_vintage\" value=\"315\"/>\n        <enum name=\"md_find_in_page\" value=\"316\"/>\n        <enum name=\"md_find_replace\" value=\"317\"/>\n        <enum name=\"md_fingerprint\" value=\"318\"/>\n        <enum name=\"md_first_page\" value=\"319\"/>\n        <enum name=\"md_fitness_center\" value=\"320\"/>\n        <enum name=\"md_flag\" value=\"321\"/>\n        <enum name=\"md_flare\" value=\"322\"/>\n        <enum name=\"md_flash_auto\" value=\"323\"/>\n        <enum name=\"md_flash_off\" value=\"324\"/>\n        <enum name=\"md_flash_on\" value=\"325\"/>\n        <enum name=\"md_flight\" value=\"326\"/>\n        <enum name=\"md_flight_land\" value=\"327\"/>\n        <enum name=\"md_flight_takeoff\" value=\"328\"/>\n        <enum name=\"md_flip\" value=\"329\"/>\n        <enum name=\"md_flip_to_back\" value=\"330\"/>\n        <enum name=\"md_flip_to_front\" value=\"331\"/>\n        <enum name=\"md_folder\" value=\"332\"/>\n        <enum name=\"md_folder_open\" value=\"333\"/>\n        <enum name=\"md_folder_shared\" value=\"334\"/>\n        <enum name=\"md_folder_special\" value=\"335\"/>\n        <enum name=\"md_font_download\" value=\"336\"/>\n        <enum name=\"md_format_align_center\" value=\"337\"/>\n        <enum name=\"md_format_align_justify\" value=\"338\"/>\n        <enum name=\"md_format_align_left\" value=\"339\"/>\n        <enum name=\"md_format_align_right\" value=\"340\"/>\n        <enum name=\"md_format_bold\" value=\"341\"/>\n        <enum name=\"md_format_clear\" value=\"342\"/>\n        <enum name=\"md_format_color_fill\" value=\"343\"/>\n        <enum name=\"md_format_color_reset\" value=\"344\"/>\n        <enum name=\"md_format_color_text\" value=\"345\"/>\n        <enum name=\"md_format_indent_decrease\" value=\"346\"/>\n        <enum name=\"md_format_indent_increase\" value=\"347\"/>\n        <enum name=\"md_format_italic\" value=\"348\"/>\n        <enum name=\"md_format_line_spacing\" value=\"349\"/>\n        <enum name=\"md_format_list_bulleted\" value=\"350\"/>\n        <enum name=\"md_format_list_numbered\" value=\"351\"/>\n        <enum name=\"md_format_paint\" value=\"352\"/>\n        <enum name=\"md_format_quote\" value=\"353\"/>\n        <enum name=\"md_format_shapes\" value=\"354\"/>\n        <enum name=\"md_format_size\" value=\"355\"/>\n        <enum name=\"md_format_strikethrough\" value=\"356\"/>\n        <enum name=\"md_format_textdirection_l_to_r\" value=\"357\"/>\n        <enum name=\"md_format_textdirection_r_to_l\" value=\"358\"/>\n        <enum name=\"md_format_underlined\" value=\"359\"/>\n        <enum name=\"md_forum\" value=\"360\"/>\n        <enum name=\"md_forward\" value=\"361\"/>\n        <enum name=\"md_forward_10\" value=\"362\"/>\n        <enum name=\"md_forward_30\" value=\"363\"/>\n        <enum name=\"md_forward_5\" value=\"364\"/>\n        <enum name=\"md_free_breakfast\" value=\"365\"/>\n        <enum name=\"md_fullscreen\" value=\"366\"/>\n        <enum name=\"md_fullscreen_exit\" value=\"367\"/>\n        <enum name=\"md_functions\" value=\"368\"/>\n        <enum name=\"md_g_translate\" value=\"369\"/>\n        <enum name=\"md_gamepad\" value=\"370\"/>\n        <enum name=\"md_games\" value=\"371\"/>\n        <enum name=\"md_gavel\" value=\"372\"/>\n        <enum name=\"md_gesture\" value=\"373\"/>\n        <enum name=\"md_get_app\" value=\"374\"/>\n        <enum name=\"md_gif\" value=\"375\"/>\n        <enum name=\"md_golf_course\" value=\"376\"/>\n        <enum name=\"md_gps_fixed\" value=\"377\"/>\n        <enum name=\"md_gps_not_fixed\" value=\"378\"/>\n        <enum name=\"md_gps_off\" value=\"379\"/>\n        <enum name=\"md_grade\" value=\"380\"/>\n        <enum name=\"md_gradient\" value=\"381\"/>\n        <enum name=\"md_grain\" value=\"382\"/>\n        <enum name=\"md_graphic_eq\" value=\"383\"/>\n        <enum name=\"md_grid_off\" value=\"384\"/>\n        <enum name=\"md_grid_on\" value=\"385\"/>\n        <enum name=\"md_group\" value=\"386\"/>\n        <enum name=\"md_group_add\" value=\"387\"/>\n        <enum name=\"md_group_work\" value=\"388\"/>\n        <enum name=\"md_hd\" value=\"389\"/>\n        <enum name=\"md_hdr_off\" value=\"390\"/>\n        <enum name=\"md_hdr_on\" value=\"391\"/>\n        <enum name=\"md_hdr_strong\" value=\"392\"/>\n        <enum name=\"md_hdr_weak\" value=\"393\"/>\n        <enum name=\"md_headset\" value=\"394\"/>\n        <enum name=\"md_headset_mic\" value=\"395\"/>\n        <enum name=\"md_healing\" value=\"396\"/>\n        <enum name=\"md_hearing\" value=\"397\"/>\n        <enum name=\"md_help\" value=\"398\"/>\n        <enum name=\"md_help_outline\" value=\"399\"/>\n        <enum name=\"md_high_quality\" value=\"400\"/>\n        <enum name=\"md_highlight\" value=\"401\"/>\n        <enum name=\"md_highlight_off\" value=\"402\"/>\n        <enum name=\"md_history\" value=\"403\"/>\n        <enum name=\"md_home\" value=\"404\"/>\n        <enum name=\"md_hot_tub\" value=\"405\"/>\n        <enum name=\"md_hotel\" value=\"406\"/>\n        <enum name=\"md_hourglass_empty\" value=\"407\"/>\n        <enum name=\"md_hourglass_full\" value=\"408\"/>\n        <enum name=\"md_http\" value=\"409\"/>\n        <enum name=\"md_https\" value=\"410\"/>\n        <enum name=\"md_image\" value=\"411\"/>\n        <enum name=\"md_image_aspect_ratio\" value=\"412\"/>\n        <enum name=\"md_import_contacts\" value=\"413\"/>\n        <enum name=\"md_import_export\" value=\"414\"/>\n        <enum name=\"md_important_devices\" value=\"415\"/>\n        <enum name=\"md_inbox\" value=\"416\"/>\n        <enum name=\"md_indeterminate_check_box\" value=\"417\"/>\n        <enum name=\"md_info\" value=\"418\"/>\n        <enum name=\"md_info_outline\" value=\"419\"/>\n        <enum name=\"md_input\" value=\"420\"/>\n        <enum name=\"md_insert_chart\" value=\"421\"/>\n        <enum name=\"md_insert_comment\" value=\"422\"/>\n        <enum name=\"md_insert_drive_file\" value=\"423\"/>\n        <enum name=\"md_insert_emoticon\" value=\"424\"/>\n        <enum name=\"md_insert_invitation\" value=\"425\"/>\n        <enum name=\"md_insert_link\" value=\"426\"/>\n        <enum name=\"md_insert_photo\" value=\"427\"/>\n        <enum name=\"md_invert_colors\" value=\"428\"/>\n        <enum name=\"md_invert_colors_off\" value=\"429\"/>\n        <enum name=\"md_iso\" value=\"430\"/>\n        <enum name=\"md_keyboard\" value=\"431\"/>\n        <enum name=\"md_keyboard_arrow_down\" value=\"432\"/>\n        <enum name=\"md_keyboard_arrow_left\" value=\"433\"/>\n        <enum name=\"md_keyboard_arrow_right\" value=\"434\"/>\n        <enum name=\"md_keyboard_arrow_up\" value=\"435\"/>\n        <enum name=\"md_keyboard_backspace\" value=\"436\"/>\n        <enum name=\"md_keyboard_capslock\" value=\"437\"/>\n        <enum name=\"md_keyboard_hide\" value=\"438\"/>\n        <enum name=\"md_keyboard_return\" value=\"439\"/>\n        <enum name=\"md_keyboard_tab\" value=\"440\"/>\n        <enum name=\"md_keyboard_voice\" value=\"441\"/>\n        <enum name=\"md_kitchen\" value=\"442\"/>\n        <enum name=\"md_label\" value=\"443\"/>\n        <enum name=\"md_label_outline\" value=\"444\"/>\n        <enum name=\"md_landscape\" value=\"445\"/>\n        <enum name=\"md_language\" value=\"446\"/>\n        <enum name=\"md_laptop\" value=\"447\"/>\n        <enum name=\"md_laptop_chromebook\" value=\"448\"/>\n        <enum name=\"md_laptop_mac\" value=\"449\"/>\n        <enum name=\"md_laptop_windows\" value=\"450\"/>\n        <enum name=\"md_last_page\" value=\"451\"/>\n        <enum name=\"md_launch\" value=\"452\"/>\n        <enum name=\"md_layers\" value=\"453\"/>\n        <enum name=\"md_layers_clear\" value=\"454\"/>\n        <enum name=\"md_leak_add\" value=\"455\"/>\n        <enum name=\"md_leak_remove\" value=\"456\"/>\n        <enum name=\"md_lens\" value=\"457\"/>\n        <enum name=\"md_library_add\" value=\"458\"/>\n        <enum name=\"md_library_books\" value=\"459\"/>\n        <enum name=\"md_library_music\" value=\"460\"/>\n        <enum name=\"md_lightbulb_outline\" value=\"461\"/>\n        <enum name=\"md_line_style\" value=\"462\"/>\n        <enum name=\"md_line_weight\" value=\"463\"/>\n        <enum name=\"md_linear_scale\" value=\"464\"/>\n        <enum name=\"md_link\" value=\"465\"/>\n        <enum name=\"md_linked_camera\" value=\"466\"/>\n        <enum name=\"md_list\" value=\"467\"/>\n        <enum name=\"md_live_help\" value=\"468\"/>\n        <enum name=\"md_live_tv\" value=\"469\"/>\n        <enum name=\"md_local_activity\" value=\"470\"/>\n        <enum name=\"md_local_airport\" value=\"471\"/>\n        <enum name=\"md_local_atm\" value=\"472\"/>\n        <enum name=\"md_local_bar\" value=\"473\"/>\n        <enum name=\"md_local_cafe\" value=\"474\"/>\n        <enum name=\"md_local_car_wash\" value=\"475\"/>\n        <enum name=\"md_local_convenience_store\" value=\"476\"/>\n        <enum name=\"md_local_dining\" value=\"477\"/>\n        <enum name=\"md_local_drink\" value=\"478\"/>\n        <enum name=\"md_local_florist\" value=\"479\"/>\n        <enum name=\"md_local_gas_station\" value=\"480\"/>\n        <enum name=\"md_local_grocery_store\" value=\"481\"/>\n        <enum name=\"md_local_hospital\" value=\"482\"/>\n        <enum name=\"md_local_hotel\" value=\"483\"/>\n        <enum name=\"md_local_laundry_service\" value=\"484\"/>\n        <enum name=\"md_local_library\" value=\"485\"/>\n        <enum name=\"md_local_mall\" value=\"486\"/>\n        <enum name=\"md_local_movies\" value=\"487\"/>\n        <enum name=\"md_local_offer\" value=\"488\"/>\n        <enum name=\"md_local_parking\" value=\"489\"/>\n        <enum name=\"md_local_pharmacy\" value=\"490\"/>\n        <enum name=\"md_local_phone\" value=\"491\"/>\n        <enum name=\"md_local_pizza\" value=\"492\"/>\n        <enum name=\"md_local_play\" value=\"493\"/>\n        <enum name=\"md_local_post_office\" value=\"494\"/>\n        <enum name=\"md_local_printshop\" value=\"495\"/>\n        <enum name=\"md_local_see\" value=\"496\"/>\n        <enum name=\"md_local_shipping\" value=\"497\"/>\n        <enum name=\"md_local_taxi\" value=\"498\"/>\n        <enum name=\"md_location_city\" value=\"499\"/>\n        <enum name=\"md_location_disabled\" value=\"500\"/>\n        <enum name=\"md_location_off\" value=\"501\"/>\n        <enum name=\"md_location_on\" value=\"502\"/>\n        <enum name=\"md_location_searching\" value=\"503\"/>\n        <enum name=\"md_lock\" value=\"504\"/>\n        <enum name=\"md_lock_open\" value=\"505\"/>\n        <enum name=\"md_lock_outline\" value=\"506\"/>\n        <enum name=\"md_looks\" value=\"507\"/>\n        <enum name=\"md_looks_3\" value=\"508\"/>\n        <enum name=\"md_looks_4\" value=\"509\"/>\n        <enum name=\"md_looks_5\" value=\"510\"/>\n        <enum name=\"md_looks_6\" value=\"511\"/>\n        <enum name=\"md_looks_one\" value=\"512\"/>\n        <enum name=\"md_looks_two\" value=\"513\"/>\n        <enum name=\"md_loop\" value=\"514\"/>\n        <enum name=\"md_loupe\" value=\"515\"/>\n        <enum name=\"md_low_priority\" value=\"516\"/>\n        <enum name=\"md_loyalty\" value=\"517\"/>\n        <enum name=\"md_mail\" value=\"518\"/>\n        <enum name=\"md_mail_outline\" value=\"519\"/>\n        <enum name=\"md_map\" value=\"520\"/>\n        <enum name=\"md_markunread\" value=\"521\"/>\n        <enum name=\"md_markunread_mailbox\" value=\"522\"/>\n        <enum name=\"md_memory\" value=\"523\"/>\n        <enum name=\"md_menu\" value=\"524\"/>\n        <enum name=\"md_merge_type\" value=\"525\"/>\n        <enum name=\"md_message\" value=\"526\"/>\n        <enum name=\"md_mic\" value=\"527\"/>\n        <enum name=\"md_mic_none\" value=\"528\"/>\n        <enum name=\"md_mic_off\" value=\"529\"/>\n        <enum name=\"md_mms\" value=\"530\"/>\n        <enum name=\"md_mode_comment\" value=\"531\"/>\n        <enum name=\"md_mode_edit\" value=\"532\"/>\n        <enum name=\"md_monetization_on\" value=\"533\"/>\n        <enum name=\"md_money_off\" value=\"534\"/>\n        <enum name=\"md_monochrome_photos\" value=\"535\"/>\n        <enum name=\"md_mood\" value=\"536\"/>\n        <enum name=\"md_mood_bad\" value=\"537\"/>\n        <enum name=\"md_more\" value=\"538\"/>\n        <enum name=\"md_more_horiz\" value=\"539\"/>\n        <enum name=\"md_more_vert\" value=\"540\"/>\n        <enum name=\"md_motorcycle\" value=\"541\"/>\n        <enum name=\"md_mouse\" value=\"542\"/>\n        <enum name=\"md_move_to_inbox\" value=\"543\"/>\n        <enum name=\"md_movie\" value=\"544\"/>\n        <enum name=\"md_movie_creation\" value=\"545\"/>\n        <enum name=\"md_movie_filter\" value=\"546\"/>\n        <enum name=\"md_multiline_chart\" value=\"547\"/>\n        <enum name=\"md_music_note\" value=\"548\"/>\n        <enum name=\"md_music_video\" value=\"549\"/>\n        <enum name=\"md_my_location\" value=\"550\"/>\n        <enum name=\"md_nature\" value=\"551\"/>\n        <enum name=\"md_nature_people\" value=\"552\"/>\n        <enum name=\"md_navigate_before\" value=\"553\"/>\n        <enum name=\"md_navigate_next\" value=\"554\"/>\n        <enum name=\"md_navigation\" value=\"555\"/>\n        <enum name=\"md_near_me\" value=\"556\"/>\n        <enum name=\"md_network_cell\" value=\"557\"/>\n        <enum name=\"md_network_check\" value=\"558\"/>\n        <enum name=\"md_network_locked\" value=\"559\"/>\n        <enum name=\"md_network_wifi\" value=\"560\"/>\n        <enum name=\"md_new_releases\" value=\"561\"/>\n        <enum name=\"md_next_week\" value=\"562\"/>\n        <enum name=\"md_nfc\" value=\"563\"/>\n        <enum name=\"md_no_encryption\" value=\"564\"/>\n        <enum name=\"md_no_sim\" value=\"565\"/>\n        <enum name=\"md_not_interested\" value=\"566\"/>\n        <enum name=\"md_note\" value=\"567\"/>\n        <enum name=\"md_note_add\" value=\"568\"/>\n        <enum name=\"md_notifications\" value=\"569\"/>\n        <enum name=\"md_notifications_active\" value=\"570\"/>\n        <enum name=\"md_notifications_none\" value=\"571\"/>\n        <enum name=\"md_notifications_off\" value=\"572\"/>\n        <enum name=\"md_notifications_paused\" value=\"573\"/>\n        <enum name=\"md_offline_pin\" value=\"574\"/>\n        <enum name=\"md_ondemand_video\" value=\"575\"/>\n        <enum name=\"md_opacity\" value=\"576\"/>\n        <enum name=\"md_open_in_browser\" value=\"577\"/>\n        <enum name=\"md_open_in_new\" value=\"578\"/>\n        <enum name=\"md_open_with\" value=\"579\"/>\n        <enum name=\"md_pages\" value=\"580\"/>\n        <enum name=\"md_pageview\" value=\"581\"/>\n        <enum name=\"md_palette\" value=\"582\"/>\n        <enum name=\"md_pan_tool\" value=\"583\"/>\n        <enum name=\"md_panorama\" value=\"584\"/>\n        <enum name=\"md_panorama_fish_eye\" value=\"585\"/>\n        <enum name=\"md_panorama_horizontal\" value=\"586\"/>\n        <enum name=\"md_panorama_vertical\" value=\"587\"/>\n        <enum name=\"md_panorama_wide_angle\" value=\"588\"/>\n        <enum name=\"md_party_mode\" value=\"589\"/>\n        <enum name=\"md_pause\" value=\"590\"/>\n        <enum name=\"md_pause_circle_filled\" value=\"591\"/>\n        <enum name=\"md_pause_circle_outline\" value=\"592\"/>\n        <enum name=\"md_payment\" value=\"593\"/>\n        <enum name=\"md_people\" value=\"594\"/>\n        <enum name=\"md_people_outline\" value=\"595\"/>\n        <enum name=\"md_perm_camera_mic\" value=\"596\"/>\n        <enum name=\"md_perm_contact_calendar\" value=\"597\"/>\n        <enum name=\"md_perm_data_setting\" value=\"598\"/>\n        <enum name=\"md_perm_device_information\" value=\"599\"/>\n        <enum name=\"md_perm_identity\" value=\"600\"/>\n        <enum name=\"md_perm_media\" value=\"601\"/>\n        <enum name=\"md_perm_phone_msg\" value=\"602\"/>\n        <enum name=\"md_perm_scan_wifi\" value=\"603\"/>\n        <enum name=\"md_person\" value=\"604\"/>\n        <enum name=\"md_person_add\" value=\"605\"/>\n        <enum name=\"md_person_outline\" value=\"606\"/>\n        <enum name=\"md_person_pin\" value=\"607\"/>\n        <enum name=\"md_person_pin_circle\" value=\"608\"/>\n        <enum name=\"md_personal_video\" value=\"609\"/>\n        <enum name=\"md_pets\" value=\"610\"/>\n        <enum name=\"md_phone\" value=\"611\"/>\n        <enum name=\"md_phone_android\" value=\"612\"/>\n        <enum name=\"md_phone_bluetooth_speaker\" value=\"613\"/>\n        <enum name=\"md_phone_forwarded\" value=\"614\"/>\n        <enum name=\"md_phone_in_talk\" value=\"615\"/>\n        <enum name=\"md_phone_iphone\" value=\"616\"/>\n        <enum name=\"md_phone_locked\" value=\"617\"/>\n        <enum name=\"md_phone_missed\" value=\"618\"/>\n        <enum name=\"md_phone_paused\" value=\"619\"/>\n        <enum name=\"md_phonelink\" value=\"620\"/>\n        <enum name=\"md_phonelink_erase\" value=\"621\"/>\n        <enum name=\"md_phonelink_lock\" value=\"622\"/>\n        <enum name=\"md_phonelink_off\" value=\"623\"/>\n        <enum name=\"md_phonelink_ring\" value=\"624\"/>\n        <enum name=\"md_phonelink_setup\" value=\"625\"/>\n        <enum name=\"md_photo\" value=\"626\"/>\n        <enum name=\"md_photo_album\" value=\"627\"/>\n        <enum name=\"md_photo_camera\" value=\"628\"/>\n        <enum name=\"md_photo_filter\" value=\"629\"/>\n        <enum name=\"md_photo_library\" value=\"630\"/>\n        <enum name=\"md_photo_size_select_actual\" value=\"631\"/>\n        <enum name=\"md_photo_size_select_large\" value=\"632\"/>\n        <enum name=\"md_photo_size_select_small\" value=\"633\"/>\n        <enum name=\"md_picture_as_pdf\" value=\"634\"/>\n        <enum name=\"md_picture_in_picture\" value=\"635\"/>\n        <enum name=\"md_picture_in_picture_alt\" value=\"636\"/>\n        <enum name=\"md_pie_chart\" value=\"637\"/>\n        <enum name=\"md_pie_chart_outlined\" value=\"638\"/>\n        <enum name=\"md_pin_drop\" value=\"639\"/>\n        <enum name=\"md_place\" value=\"640\"/>\n        <enum name=\"md_play_arrow\" value=\"641\"/>\n        <enum name=\"md_play_circle_filled\" value=\"642\"/>\n        <enum name=\"md_play_circle_outline\" value=\"643\"/>\n        <enum name=\"md_play_for_work\" value=\"644\"/>\n        <enum name=\"md_playlist_add\" value=\"645\"/>\n        <enum name=\"md_playlist_add_check\" value=\"646\"/>\n        <enum name=\"md_playlist_play\" value=\"647\"/>\n        <enum name=\"md_plus_one\" value=\"648\"/>\n        <enum name=\"md_poll\" value=\"649\"/>\n        <enum name=\"md_polymer\" value=\"650\"/>\n        <enum name=\"md_pool\" value=\"651\"/>\n        <enum name=\"md_portable_wifi_off\" value=\"652\"/>\n        <enum name=\"md_portrait\" value=\"653\"/>\n        <enum name=\"md_power\" value=\"654\"/>\n        <enum name=\"md_power_input\" value=\"655\"/>\n        <enum name=\"md_power_settings_new\" value=\"656\"/>\n        <enum name=\"md_pregnant_woman\" value=\"657\"/>\n        <enum name=\"md_present_to_all\" value=\"658\"/>\n        <enum name=\"md_print\" value=\"659\"/>\n        <enum name=\"md_priority_high\" value=\"660\"/>\n        <enum name=\"md_public\" value=\"661\"/>\n        <enum name=\"md_publish\" value=\"662\"/>\n        <enum name=\"md_query_builder\" value=\"663\"/>\n        <enum name=\"md_question_answer\" value=\"664\"/>\n        <enum name=\"md_queue\" value=\"665\"/>\n        <enum name=\"md_queue_music\" value=\"666\"/>\n        <enum name=\"md_queue_play_next\" value=\"667\"/>\n        <enum name=\"md_radio\" value=\"668\"/>\n        <enum name=\"md_radio_button_checked\" value=\"669\"/>\n        <enum name=\"md_radio_button_unchecked\" value=\"670\"/>\n        <enum name=\"md_rate_review\" value=\"671\"/>\n        <enum name=\"md_receipt\" value=\"672\"/>\n        <enum name=\"md_recent_actors\" value=\"673\"/>\n        <enum name=\"md_record_voice_over\" value=\"674\"/>\n        <enum name=\"md_redeem\" value=\"675\"/>\n        <enum name=\"md_redo\" value=\"676\"/>\n        <enum name=\"md_refresh\" value=\"677\"/>\n        <enum name=\"md_remove\" value=\"678\"/>\n        <enum name=\"md_remove_circle\" value=\"679\"/>\n        <enum name=\"md_remove_circle_outline\" value=\"680\"/>\n        <enum name=\"md_remove_from_queue\" value=\"681\"/>\n        <enum name=\"md_remove_red_eye\" value=\"682\"/>\n        <enum name=\"md_remove_shopping_cart\" value=\"683\"/>\n        <enum name=\"md_reorder\" value=\"684\"/>\n        <enum name=\"md_repeat\" value=\"685\"/>\n        <enum name=\"md_repeat_one\" value=\"686\"/>\n        <enum name=\"md_replay\" value=\"687\"/>\n        <enum name=\"md_replay_10\" value=\"688\"/>\n        <enum name=\"md_replay_30\" value=\"689\"/>\n        <enum name=\"md_replay_5\" value=\"690\"/>\n        <enum name=\"md_reply\" value=\"691\"/>\n        <enum name=\"md_reply_all\" value=\"692\"/>\n        <enum name=\"md_report\" value=\"693\"/>\n        <enum name=\"md_report_problem\" value=\"694\"/>\n        <enum name=\"md_restaurant\" value=\"695\"/>\n        <enum name=\"md_restaurant_menu\" value=\"696\"/>\n        <enum name=\"md_restore\" value=\"697\"/>\n        <enum name=\"md_restore_page\" value=\"698\"/>\n        <enum name=\"md_ring_volume\" value=\"699\"/>\n        <enum name=\"md_room\" value=\"700\"/>\n        <enum name=\"md_room_service\" value=\"701\"/>\n        <enum name=\"md_rotate_90_degrees_ccw\" value=\"702\"/>\n        <enum name=\"md_rotate_left\" value=\"703\"/>\n        <enum name=\"md_rotate_right\" value=\"704\"/>\n        <enum name=\"md_rounded_corner\" value=\"705\"/>\n        <enum name=\"md_router\" value=\"706\"/>\n        <enum name=\"md_rowing\" value=\"707\"/>\n        <enum name=\"md_rss_feed\" value=\"708\"/>\n        <enum name=\"md_rv_hookup\" value=\"709\"/>\n        <enum name=\"md_satellite\" value=\"710\"/>\n        <enum name=\"md_save\" value=\"711\"/>\n        <enum name=\"md_scanner\" value=\"712\"/>\n        <enum name=\"md_schedule\" value=\"713\"/>\n        <enum name=\"md_school\" value=\"714\"/>\n        <enum name=\"md_screen_lock_landscape\" value=\"715\"/>\n        <enum name=\"md_screen_lock_portrait\" value=\"716\"/>\n        <enum name=\"md_screen_lock_rotation\" value=\"717\"/>\n        <enum name=\"md_screen_rotation\" value=\"718\"/>\n        <enum name=\"md_screen_share\" value=\"719\"/>\n        <enum name=\"md_sd_card\" value=\"720\"/>\n        <enum name=\"md_sd_storage\" value=\"721\"/>\n        <enum name=\"md_search\" value=\"722\"/>\n        <enum name=\"md_security\" value=\"723\"/>\n        <enum name=\"md_select_all\" value=\"724\"/>\n        <enum name=\"md_send\" value=\"725\"/>\n        <enum name=\"md_sentiment_dissatisfied\" value=\"726\"/>\n        <enum name=\"md_sentiment_neutral\" value=\"727\"/>\n        <enum name=\"md_sentiment_satisfied\" value=\"728\"/>\n        <enum name=\"md_sentiment_very_dissatisfied\" value=\"729\"/>\n        <enum name=\"md_sentiment_very_satisfied\" value=\"730\"/>\n        <enum name=\"md_settings\" value=\"731\"/>\n        <enum name=\"md_settings_applications\" value=\"732\"/>\n        <enum name=\"md_settings_backup_restore\" value=\"733\"/>\n        <enum name=\"md_settings_bluetooth\" value=\"734\"/>\n        <enum name=\"md_settings_brightness\" value=\"735\"/>\n        <enum name=\"md_settings_cell\" value=\"736\"/>\n        <enum name=\"md_settings_ethernet\" value=\"737\"/>\n        <enum name=\"md_settings_input_antenna\" value=\"738\"/>\n        <enum name=\"md_settings_input_component\" value=\"739\"/>\n        <enum name=\"md_settings_input_composite\" value=\"740\"/>\n        <enum name=\"md_settings_input_hdmi\" value=\"741\"/>\n        <enum name=\"md_settings_input_svideo\" value=\"742\"/>\n        <enum name=\"md_settings_overscan\" value=\"743\"/>\n        <enum name=\"md_settings_phone\" value=\"744\"/>\n        <enum name=\"md_settings_power\" value=\"745\"/>\n        <enum name=\"md_settings_remote\" value=\"746\"/>\n        <enum name=\"md_settings_system_daydream\" value=\"747\"/>\n        <enum name=\"md_settings_voice\" value=\"748\"/>\n        <enum name=\"md_share\" value=\"749\"/>\n        <enum name=\"md_shop\" value=\"750\"/>\n        <enum name=\"md_shop_two\" value=\"751\"/>\n        <enum name=\"md_shopping_basket\" value=\"752\"/>\n        <enum name=\"md_shopping_cart\" value=\"753\"/>\n        <enum name=\"md_short_text\" value=\"754\"/>\n        <enum name=\"md_show_chart\" value=\"755\"/>\n        <enum name=\"md_shuffle\" value=\"756\"/>\n        <enum name=\"md_signal_cellular_4_bar\" value=\"757\"/>\n        <enum name=\"md_signal_cellular_connected_no_internet_4_bar\" value=\"758\"/>\n        <enum name=\"md_signal_cellular_no_sim\" value=\"759\"/>\n        <enum name=\"md_signal_cellular_null\" value=\"760\"/>\n        <enum name=\"md_signal_cellular_off\" value=\"761\"/>\n        <enum name=\"md_signal_wifi_4_bar\" value=\"762\"/>\n        <enum name=\"md_signal_wifi_4_bar_lock\" value=\"763\"/>\n        <enum name=\"md_signal_wifi_off\" value=\"764\"/>\n        <enum name=\"md_sim_card\" value=\"765\"/>\n        <enum name=\"md_sim_card_alert\" value=\"766\"/>\n        <enum name=\"md_skip_next\" value=\"767\"/>\n        <enum name=\"md_skip_previous\" value=\"768\"/>\n        <enum name=\"md_slideshow\" value=\"769\"/>\n        <enum name=\"md_slow_motion_video\" value=\"770\"/>\n        <enum name=\"md_smartphone\" value=\"771\"/>\n        <enum name=\"md_smoke_free\" value=\"772\"/>\n        <enum name=\"md_smoking_rooms\" value=\"773\"/>\n        <enum name=\"md_sms\" value=\"774\"/>\n        <enum name=\"md_sms_failed\" value=\"775\"/>\n        <enum name=\"md_snooze\" value=\"776\"/>\n        <enum name=\"md_sort\" value=\"777\"/>\n        <enum name=\"md_sort_by_alpha\" value=\"778\"/>\n        <enum name=\"md_spa\" value=\"779\"/>\n        <enum name=\"md_space_bar\" value=\"780\"/>\n        <enum name=\"md_speaker\" value=\"781\"/>\n        <enum name=\"md_speaker_group\" value=\"782\"/>\n        <enum name=\"md_speaker_notes\" value=\"783\"/>\n        <enum name=\"md_speaker_notes_off\" value=\"784\"/>\n        <enum name=\"md_speaker_phone\" value=\"785\"/>\n        <enum name=\"md_spellcheck\" value=\"786\"/>\n        <enum name=\"md_star\" value=\"787\"/>\n        <enum name=\"md_star_border\" value=\"788\"/>\n        <enum name=\"md_star_half\" value=\"789\"/>\n        <enum name=\"md_stars\" value=\"790\"/>\n        <enum name=\"md_stay_current_landscape\" value=\"791\"/>\n        <enum name=\"md_stay_current_portrait\" value=\"792\"/>\n        <enum name=\"md_stay_primary_landscape\" value=\"793\"/>\n        <enum name=\"md_stay_primary_portrait\" value=\"794\"/>\n        <enum name=\"md_stop\" value=\"795\"/>\n        <enum name=\"md_stop_screen_share\" value=\"796\"/>\n        <enum name=\"md_storage\" value=\"797\"/>\n        <enum name=\"md_store\" value=\"798\"/>\n        <enum name=\"md_store_mall_directory\" value=\"799\"/>\n        <enum name=\"md_straighten\" value=\"800\"/>\n        <enum name=\"md_streetview\" value=\"801\"/>\n        <enum name=\"md_strikethrough_s\" value=\"802\"/>\n        <enum name=\"md_style\" value=\"803\"/>\n        <enum name=\"md_subdirectory_arrow_left\" value=\"804\"/>\n        <enum name=\"md_subdirectory_arrow_right\" value=\"805\"/>\n        <enum name=\"md_subject\" value=\"806\"/>\n        <enum name=\"md_subscriptions\" value=\"807\"/>\n        <enum name=\"md_subtitles\" value=\"808\"/>\n        <enum name=\"md_subway\" value=\"809\"/>\n        <enum name=\"md_supervisor_account\" value=\"810\"/>\n        <enum name=\"md_surround_sound\" value=\"811\"/>\n        <enum name=\"md_swap_calls\" value=\"812\"/>\n        <enum name=\"md_swap_horiz\" value=\"813\"/>\n        <enum name=\"md_swap_vert\" value=\"814\"/>\n        <enum name=\"md_swap_vertical_circle\" value=\"815\"/>\n        <enum name=\"md_switch_camera\" value=\"816\"/>\n        <enum name=\"md_switch_video\" value=\"817\"/>\n        <enum name=\"md_sync\" value=\"818\"/>\n        <enum name=\"md_sync_disabled\" value=\"819\"/>\n        <enum name=\"md_sync_problem\" value=\"820\"/>\n        <enum name=\"md_system_update\" value=\"821\"/>\n        <enum name=\"md_system_update_alt\" value=\"822\"/>\n        <enum name=\"md_tab\" value=\"823\"/>\n        <enum name=\"md_tab_unselected\" value=\"824\"/>\n        <enum name=\"md_tablet\" value=\"825\"/>\n        <enum name=\"md_tablet_android\" value=\"826\"/>\n        <enum name=\"md_tablet_mac\" value=\"827\"/>\n        <enum name=\"md_tag_faces\" value=\"828\"/>\n        <enum name=\"md_tap_and_play\" value=\"829\"/>\n        <enum name=\"md_terrain\" value=\"830\"/>\n        <enum name=\"md_text_fields\" value=\"831\"/>\n        <enum name=\"md_text_format\" value=\"832\"/>\n        <enum name=\"md_textsms\" value=\"833\"/>\n        <enum name=\"md_texture\" value=\"834\"/>\n        <enum name=\"md_theaters\" value=\"835\"/>\n        <enum name=\"md_thumb_down\" value=\"836\"/>\n        <enum name=\"md_thumb_up\" value=\"837\"/>\n        <enum name=\"md_thumbs_up_down\" value=\"838\"/>\n        <enum name=\"md_time_to_leave\" value=\"839\"/>\n        <enum name=\"md_timelapse\" value=\"840\"/>\n        <enum name=\"md_timeline\" value=\"841\"/>\n        <enum name=\"md_timer\" value=\"842\"/>\n        <enum name=\"md_timer_10\" value=\"843\"/>\n        <enum name=\"md_timer_3\" value=\"844\"/>\n        <enum name=\"md_timer_off\" value=\"845\"/>\n        <enum name=\"md_title\" value=\"846\"/>\n        <enum name=\"md_toc\" value=\"847\"/>\n        <enum name=\"md_today\" value=\"848\"/>\n        <enum name=\"md_toll\" value=\"849\"/>\n        <enum name=\"md_tonality\" value=\"850\"/>\n        <enum name=\"md_touch_app\" value=\"851\"/>\n        <enum name=\"md_toys\" value=\"852\"/>\n        <enum name=\"md_track_changes\" value=\"853\"/>\n        <enum name=\"md_traffic\" value=\"854\"/>\n        <enum name=\"md_train\" value=\"855\"/>\n        <enum name=\"md_tram\" value=\"856\"/>\n        <enum name=\"md_transfer_within_a_station\" value=\"857\"/>\n        <enum name=\"md_transform\" value=\"858\"/>\n        <enum name=\"md_translate\" value=\"859\"/>\n        <enum name=\"md_trending_down\" value=\"860\"/>\n        <enum name=\"md_trending_flat\" value=\"861\"/>\n        <enum name=\"md_trending_up\" value=\"862\"/>\n        <enum name=\"md_tune\" value=\"863\"/>\n        <enum name=\"md_turned_in\" value=\"864\"/>\n        <enum name=\"md_turned_in_not\" value=\"865\"/>\n        <enum name=\"md_tv\" value=\"866\"/>\n        <enum name=\"md_unarchive\" value=\"867\"/>\n        <enum name=\"md_undo\" value=\"868\"/>\n        <enum name=\"md_unfold_less\" value=\"869\"/>\n        <enum name=\"md_unfold_more\" value=\"870\"/>\n        <enum name=\"md_update\" value=\"871\"/>\n        <enum name=\"md_usb\" value=\"872\"/>\n        <enum name=\"md_verified_user\" value=\"873\"/>\n        <enum name=\"md_vertical_align_bottom\" value=\"874\"/>\n        <enum name=\"md_vertical_align_center\" value=\"875\"/>\n        <enum name=\"md_vertical_align_top\" value=\"876\"/>\n        <enum name=\"md_vibration\" value=\"877\"/>\n        <enum name=\"md_video_call\" value=\"878\"/>\n        <enum name=\"md_video_label\" value=\"879\"/>\n        <enum name=\"md_video_library\" value=\"880\"/>\n        <enum name=\"md_videocam\" value=\"881\"/>\n        <enum name=\"md_videocam_off\" value=\"882\"/>\n        <enum name=\"md_videogame_asset\" value=\"883\"/>\n        <enum name=\"md_view_agenda\" value=\"884\"/>\n        <enum name=\"md_view_array\" value=\"885\"/>\n        <enum name=\"md_view_carousel\" value=\"886\"/>\n        <enum name=\"md_view_column\" value=\"887\"/>\n        <enum name=\"md_view_comfy\" value=\"888\"/>\n        <enum name=\"md_view_compact\" value=\"889\"/>\n        <enum name=\"md_view_day\" value=\"890\"/>\n        <enum name=\"md_view_headline\" value=\"891\"/>\n        <enum name=\"md_view_list\" value=\"892\"/>\n        <enum name=\"md_view_module\" value=\"893\"/>\n        <enum name=\"md_view_quilt\" value=\"894\"/>\n        <enum name=\"md_view_stream\" value=\"895\"/>\n        <enum name=\"md_view_week\" value=\"896\"/>\n        <enum name=\"md_vignette\" value=\"897\"/>\n        <enum name=\"md_visibility\" value=\"898\"/>\n        <enum name=\"md_visibility_off\" value=\"899\"/>\n        <enum name=\"md_voice_chat\" value=\"900\"/>\n        <enum name=\"md_voicemail\" value=\"901\"/>\n        <enum name=\"md_volume_down\" value=\"902\"/>\n        <enum name=\"md_volume_mute\" value=\"903\"/>\n        <enum name=\"md_volume_off\" value=\"904\"/>\n        <enum name=\"md_volume_up\" value=\"905\"/>\n        <enum name=\"md_vpn_key\" value=\"906\"/>\n        <enum name=\"md_vpn_lock\" value=\"907\"/>\n        <enum name=\"md_wallpaper\" value=\"908\"/>\n        <enum name=\"md_warning\" value=\"909\"/>\n        <enum name=\"md_watch\" value=\"910\"/>\n        <enum name=\"md_watch_later\" value=\"911\"/>\n        <enum name=\"md_wb_auto\" value=\"912\"/>\n        <enum name=\"md_wb_cloudy\" value=\"913\"/>\n        <enum name=\"md_wb_incandescent\" value=\"914\"/>\n        <enum name=\"md_wb_iridescent\" value=\"915\"/>\n        <enum name=\"md_wb_sunny\" value=\"916\"/>\n        <enum name=\"md_wc\" value=\"917\"/>\n        <enum name=\"md_web\" value=\"918\"/>\n        <enum name=\"md_web_asset\" value=\"919\"/>\n        <enum name=\"md_weekend\" value=\"920\"/>\n        <enum name=\"md_whatshot\" value=\"921\"/>\n        <enum name=\"md_widgets\" value=\"922\"/>\n        <enum name=\"md_wifi\" value=\"923\"/>\n        <enum name=\"md_wifi_lock\" value=\"924\"/>\n        <enum name=\"md_wifi_tethering\" value=\"925\"/>\n        <enum name=\"md_work\" value=\"926\"/>\n        <enum name=\"md_wrap_text\" value=\"927\"/>\n        <enum name=\"md_youtube_searched_for\" value=\"928\"/>\n        <enum name=\"md_zoom_in\" value=\"929\"/>\n        <enum name=\"md_zoom_out\" value=\"930\"/>\n        <enum name=\"md_zoom_out_map\" value=\"931\"/>\n    </attr>\n</resources>\n"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/attrs_typicons.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <attr name=\"typicon\" format=\"enum\">\n        <enum name=\"ty_adjust_brightness\" value=\"0\"/>\n        <enum name=\"ty_adjust_contrast\" value=\"1\"/>\n        <enum name=\"ty_anchor\" value=\"2\"/>\n        <enum name=\"ty_anchor_outline\" value=\"3\"/>\n        <enum name=\"ty_archive\" value=\"4\"/>\n        <enum name=\"ty_arrow_back\" value=\"5\"/>\n        <enum name=\"ty_arrow_back_outline\" value=\"6\"/>\n        <enum name=\"ty_arrow_down\" value=\"7\"/>\n        <enum name=\"ty_arrow_down_outline\" value=\"8\"/>\n        <enum name=\"ty_arrow_down_thick\" value=\"9\"/>\n        <enum name=\"ty_arrow_forward\" value=\"10\"/>\n        <enum name=\"ty_arrow_forward_outline\" value=\"11\"/>\n        <enum name=\"ty_arrow_left\" value=\"12\"/>\n        <enum name=\"ty_arrow_left_outline\" value=\"13\"/>\n        <enum name=\"ty_arrow_left_thick\" value=\"14\"/>\n        <enum name=\"ty_arrow_loop\" value=\"15\"/>\n        <enum name=\"ty_arrow_loop_outline\" value=\"16\"/>\n        <enum name=\"ty_arrow_maximise\" value=\"17\"/>\n        <enum name=\"ty_arrow_maximise_outline\" value=\"18\"/>\n        <enum name=\"ty_arrow_minimise\" value=\"19\"/>\n        <enum name=\"ty_arrow_minimise_outline\" value=\"20\"/>\n        <enum name=\"ty_arrow_move\" value=\"21\"/>\n        <enum name=\"ty_arrow_move_outline\" value=\"22\"/>\n        <enum name=\"ty_arrow_repeat\" value=\"23\"/>\n        <enum name=\"ty_arrow_repeat_outline\" value=\"24\"/>\n        <enum name=\"ty_arrow_right\" value=\"25\"/>\n        <enum name=\"ty_arrow_right_outline\" value=\"26\"/>\n        <enum name=\"ty_arrow_right_thick\" value=\"27\"/>\n        <enum name=\"ty_arrow_shuffle\" value=\"28\"/>\n        <enum name=\"ty_arrow_sorted_down\" value=\"29\"/>\n        <enum name=\"ty_arrow_sorted_up\" value=\"30\"/>\n        <enum name=\"ty_arrow_sync\" value=\"31\"/>\n        <enum name=\"ty_arrow_sync_outline\" value=\"32\"/>\n        <enum name=\"ty_arrow_unsorted\" value=\"33\"/>\n        <enum name=\"ty_arrow_up\" value=\"34\"/>\n        <enum name=\"ty_arrow_up_outline\" value=\"35\"/>\n        <enum name=\"ty_arrow_up_thick\" value=\"36\"/>\n        <enum name=\"ty_at\" value=\"37\"/>\n        <enum name=\"ty_attachment\" value=\"38\"/>\n        <enum name=\"ty_attachment_outline\" value=\"39\"/>\n        <enum name=\"ty_backspace\" value=\"40\"/>\n        <enum name=\"ty_backspace_outline\" value=\"41\"/>\n        <enum name=\"ty_battery_charge\" value=\"42\"/>\n        <enum name=\"ty_battery_full\" value=\"43\"/>\n        <enum name=\"ty_battery_high\" value=\"44\"/>\n        <enum name=\"ty_battery_low\" value=\"45\"/>\n        <enum name=\"ty_battery_mid\" value=\"46\"/>\n        <enum name=\"ty_beaker\" value=\"47\"/>\n        <enum name=\"ty_beer\" value=\"48\"/>\n        <enum name=\"ty_bell\" value=\"49\"/>\n        <enum name=\"ty_book\" value=\"50\"/>\n        <enum name=\"ty_bookmark\" value=\"51\"/>\n        <enum name=\"ty_briefcase\" value=\"52\"/>\n        <enum name=\"ty_brush\" value=\"53\"/>\n        <enum name=\"ty_business_card\" value=\"54\"/>\n        <enum name=\"ty_calculator\" value=\"55\"/>\n        <enum name=\"ty_calendar\" value=\"56\"/>\n        <enum name=\"ty_calendar_outline\" value=\"57\"/>\n        <enum name=\"ty_camera\" value=\"58\"/>\n        <enum name=\"ty_camera_outline\" value=\"59\"/>\n        <enum name=\"ty_cancel\" value=\"60\"/>\n        <enum name=\"ty_cancel_outline\" value=\"61\"/>\n        <enum name=\"ty_chart_area\" value=\"62\"/>\n        <enum name=\"ty_chart_area_outline\" value=\"63\"/>\n        <enum name=\"ty_chart_bar\" value=\"64\"/>\n        <enum name=\"ty_chart_bar_outline\" value=\"65\"/>\n        <enum name=\"ty_chart_line\" value=\"66\"/>\n        <enum name=\"ty_chart_line_outline\" value=\"67\"/>\n        <enum name=\"ty_chart_pie\" value=\"68\"/>\n        <enum name=\"ty_chart_pie_outline\" value=\"69\"/>\n        <enum name=\"ty_chevron_left\" value=\"70\"/>\n        <enum name=\"ty_chevron_left_outline\" value=\"71\"/>\n        <enum name=\"ty_chevron_right\" value=\"72\"/>\n        <enum name=\"ty_chevron_right_outline\" value=\"73\"/>\n        <enum name=\"ty_clipboard\" value=\"74\"/>\n        <enum name=\"ty_cloud_storage\" value=\"75\"/>\n        <enum name=\"ty_cloud_storage_outline\" value=\"76\"/>\n        <enum name=\"ty_code\" value=\"77\"/>\n        <enum name=\"ty_code_outline\" value=\"78\"/>\n        <enum name=\"ty_coffee\" value=\"79\"/>\n        <enum name=\"ty_cog\" value=\"80\"/>\n        <enum name=\"ty_cog_outline\" value=\"81\"/>\n        <enum name=\"ty_compass\" value=\"82\"/>\n        <enum name=\"ty_contacts\" value=\"83\"/>\n        <enum name=\"ty_credit_card\" value=\"84\"/>\n        <enum name=\"ty_css3\" value=\"85\"/>\n        <enum name=\"ty_database\" value=\"86\"/>\n        <enum name=\"ty_delete\" value=\"87\"/>\n        <enum name=\"ty_delete_outline\" value=\"88\"/>\n        <enum name=\"ty_device_desktop\" value=\"89\"/>\n        <enum name=\"ty_device_laptop\" value=\"90\"/>\n        <enum name=\"ty_device_phone\" value=\"91\"/>\n        <enum name=\"ty_device_tablet\" value=\"92\"/>\n        <enum name=\"ty_directions\" value=\"93\"/>\n        <enum name=\"ty_divide\" value=\"94\"/>\n        <enum name=\"ty_divide_outline\" value=\"95\"/>\n        <enum name=\"ty_document\" value=\"96\"/>\n        <enum name=\"ty_document_add\" value=\"97\"/>\n        <enum name=\"ty_document_delete\" value=\"98\"/>\n        <enum name=\"ty_document_text\" value=\"99\"/>\n        <enum name=\"ty_download\" value=\"100\"/>\n        <enum name=\"ty_download_outline\" value=\"101\"/>\n        <enum name=\"ty_dropbox\" value=\"102\"/>\n        <enum name=\"ty_edit\" value=\"103\"/>\n        <enum name=\"ty_eject\" value=\"104\"/>\n        <enum name=\"ty_eject_outline\" value=\"105\"/>\n        <enum name=\"ty_equals\" value=\"106\"/>\n        <enum name=\"ty_equals_outline\" value=\"107\"/>\n        <enum name=\"ty_export\" value=\"108\"/>\n        <enum name=\"ty_export_outline\" value=\"109\"/>\n        <enum name=\"ty_eye\" value=\"110\"/>\n        <enum name=\"ty_eye_outline\" value=\"111\"/>\n        <enum name=\"ty_feather\" value=\"112\"/>\n        <enum name=\"ty_film\" value=\"113\"/>\n        <enum name=\"ty_filter\" value=\"114\"/>\n        <enum name=\"ty_flag\" value=\"115\"/>\n        <enum name=\"ty_flag_outline\" value=\"116\"/>\n        <enum name=\"ty_flash\" value=\"117\"/>\n        <enum name=\"ty_flash_outline\" value=\"118\"/>\n        <enum name=\"ty_flow_children\" value=\"119\"/>\n        <enum name=\"ty_flow_merge\" value=\"120\"/>\n        <enum name=\"ty_flow_parallel\" value=\"121\"/>\n        <enum name=\"ty_flow_switch\" value=\"122\"/>\n        <enum name=\"ty_folder\" value=\"123\"/>\n        <enum name=\"ty_folder_add\" value=\"124\"/>\n        <enum name=\"ty_folder_delete\" value=\"125\"/>\n        <enum name=\"ty_folder_open\" value=\"126\"/>\n        <enum name=\"ty_gift\" value=\"127\"/>\n        <enum name=\"ty_globe\" value=\"128\"/>\n        <enum name=\"ty_globe_outline\" value=\"129\"/>\n        <enum name=\"ty_group\" value=\"130\"/>\n        <enum name=\"ty_group_outline\" value=\"131\"/>\n        <enum name=\"ty_headphones\" value=\"132\"/>\n        <enum name=\"ty_heart\" value=\"133\"/>\n        <enum name=\"ty_heart_full_outline\" value=\"134\"/>\n        <enum name=\"ty_heart_half_outline\" value=\"135\"/>\n        <enum name=\"ty_heart_outline\" value=\"136\"/>\n        <enum name=\"ty_home\" value=\"137\"/>\n        <enum name=\"ty_home_outline\" value=\"138\"/>\n        <enum name=\"ty_html5\" value=\"139\"/>\n        <enum name=\"ty_image\" value=\"140\"/>\n        <enum name=\"ty_image_outline\" value=\"141\"/>\n        <enum name=\"ty_infinity\" value=\"142\"/>\n        <enum name=\"ty_infinity_outline\" value=\"143\"/>\n        <enum name=\"ty_info\" value=\"144\"/>\n        <enum name=\"ty_info_large\" value=\"145\"/>\n        <enum name=\"ty_info_large_outline\" value=\"146\"/>\n        <enum name=\"ty_info_outline\" value=\"147\"/>\n        <enum name=\"ty_input_checked\" value=\"148\"/>\n        <enum name=\"ty_input_checked_outline\" value=\"149\"/>\n        <enum name=\"ty_key\" value=\"150\"/>\n        <enum name=\"ty_key_outline\" value=\"151\"/>\n        <enum name=\"ty_keyboard\" value=\"152\"/>\n        <enum name=\"ty_leaf\" value=\"153\"/>\n        <enum name=\"ty_lightbulb\" value=\"154\"/>\n        <enum name=\"ty_link\" value=\"155\"/>\n        <enum name=\"ty_link_outline\" value=\"156\"/>\n        <enum name=\"ty_location\" value=\"157\"/>\n        <enum name=\"ty_location_arrow\" value=\"158\"/>\n        <enum name=\"ty_location_arrow_outline\" value=\"159\"/>\n        <enum name=\"ty_location_outline\" value=\"160\"/>\n        <enum name=\"ty_lock_closed\" value=\"161\"/>\n        <enum name=\"ty_lock_closed_outline\" value=\"162\"/>\n        <enum name=\"ty_lock_open\" value=\"163\"/>\n        <enum name=\"ty_lock_open_outline\" value=\"164\"/>\n        <enum name=\"ty_mail\" value=\"165\"/>\n        <enum name=\"ty_map\" value=\"166\"/>\n        <enum name=\"ty_media_eject\" value=\"167\"/>\n        <enum name=\"ty_media_eject_outline\" value=\"168\"/>\n        <enum name=\"ty_media_fast_forward\" value=\"169\"/>\n        <enum name=\"ty_media_fast_forward_outline\" value=\"170\"/>\n        <enum name=\"ty_media_pause\" value=\"171\"/>\n        <enum name=\"ty_media_pause_outline\" value=\"172\"/>\n        <enum name=\"ty_media_play\" value=\"173\"/>\n        <enum name=\"ty_media_play_outline\" value=\"174\"/>\n        <enum name=\"ty_media_play_reverse\" value=\"175\"/>\n        <enum name=\"ty_media_play_reverse_outline\" value=\"176\"/>\n        <enum name=\"ty_media_record\" value=\"177\"/>\n        <enum name=\"ty_media_record_outline\" value=\"178\"/>\n        <enum name=\"ty_media_rewind\" value=\"179\"/>\n        <enum name=\"ty_media_rewind_outline\" value=\"180\"/>\n        <enum name=\"ty_media_stop\" value=\"181\"/>\n        <enum name=\"ty_media_stop_outline\" value=\"182\"/>\n        <enum name=\"ty_message\" value=\"183\"/>\n        <enum name=\"ty_message_typing\" value=\"184\"/>\n        <enum name=\"ty_messages\" value=\"185\"/>\n        <enum name=\"ty_microphone\" value=\"186\"/>\n        <enum name=\"ty_microphone_outline\" value=\"187\"/>\n        <enum name=\"ty_minus\" value=\"188\"/>\n        <enum name=\"ty_minus_outline\" value=\"189\"/>\n        <enum name=\"ty_mortar_board\" value=\"190\"/>\n        <enum name=\"ty_news\" value=\"191\"/>\n        <enum name=\"ty_notes\" value=\"192\"/>\n        <enum name=\"ty_notes_outline\" value=\"193\"/>\n        <enum name=\"ty_pen\" value=\"194\"/>\n        <enum name=\"ty_pencil\" value=\"195\"/>\n        <enum name=\"ty_phone\" value=\"196\"/>\n        <enum name=\"ty_phone_outline\" value=\"197\"/>\n        <enum name=\"ty_pi\" value=\"198\"/>\n        <enum name=\"ty_pi_outline\" value=\"199\"/>\n        <enum name=\"ty_pin\" value=\"200\"/>\n        <enum name=\"ty_pin_outline\" value=\"201\"/>\n        <enum name=\"ty_pipette\" value=\"202\"/>\n        <enum name=\"ty_plane\" value=\"203\"/>\n        <enum name=\"ty_plane_outline\" value=\"204\"/>\n        <enum name=\"ty_plug\" value=\"205\"/>\n        <enum name=\"ty_plus\" value=\"206\"/>\n        <enum name=\"ty_plus_outline\" value=\"207\"/>\n        <enum name=\"ty_point_of_interest\" value=\"208\"/>\n        <enum name=\"ty_point_of_interest_outline\" value=\"209\"/>\n        <enum name=\"ty_power\" value=\"210\"/>\n        <enum name=\"ty_power_outline\" value=\"211\"/>\n        <enum name=\"ty_printer\" value=\"212\"/>\n        <enum name=\"ty_puzzle\" value=\"213\"/>\n        <enum name=\"ty_puzzle_outline\" value=\"214\"/>\n        <enum name=\"ty_radar\" value=\"215\"/>\n        <enum name=\"ty_radar_outline\" value=\"216\"/>\n        <enum name=\"ty_refresh\" value=\"217\"/>\n        <enum name=\"ty_refresh_outline\" value=\"218\"/>\n        <enum name=\"ty_rss\" value=\"219\"/>\n        <enum name=\"ty_rss_outline\" value=\"220\"/>\n        <enum name=\"ty_scissors\" value=\"221\"/>\n        <enum name=\"ty_scissors_outline\" value=\"222\"/>\n        <enum name=\"ty_shopping_bag\" value=\"223\"/>\n        <enum name=\"ty_shopping_cart\" value=\"224\"/>\n        <enum name=\"ty_social_at_circular\" value=\"225\"/>\n        <enum name=\"ty_social_dribbble\" value=\"226\"/>\n        <enum name=\"ty_social_dribbble_circular\" value=\"227\"/>\n        <enum name=\"ty_social_facebook\" value=\"228\"/>\n        <enum name=\"ty_social_facebook_circular\" value=\"229\"/>\n        <enum name=\"ty_social_flickr\" value=\"230\"/>\n        <enum name=\"ty_social_flickr_circular\" value=\"231\"/>\n        <enum name=\"ty_social_github\" value=\"232\"/>\n        <enum name=\"ty_social_github_circular\" value=\"233\"/>\n        <enum name=\"ty_social_google_plus\" value=\"234\"/>\n        <enum name=\"ty_social_google_plus_circular\" value=\"235\"/>\n        <enum name=\"ty_social_instagram\" value=\"236\"/>\n        <enum name=\"ty_social_instagram_circular\" value=\"237\"/>\n        <enum name=\"ty_social_last_fm\" value=\"238\"/>\n        <enum name=\"ty_social_last_fm_circular\" value=\"239\"/>\n        <enum name=\"ty_social_linkedin\" value=\"240\"/>\n        <enum name=\"ty_social_linkedin_circular\" value=\"241\"/>\n        <enum name=\"ty_social_pinterest\" value=\"242\"/>\n        <enum name=\"ty_social_pinterest_circular\" value=\"243\"/>\n        <enum name=\"ty_social_skype\" value=\"244\"/>\n        <enum name=\"ty_social_skype_outline\" value=\"245\"/>\n        <enum name=\"ty_social_tumbler\" value=\"246\"/>\n        <enum name=\"ty_social_tumbler_circular\" value=\"247\"/>\n        <enum name=\"ty_social_twitter\" value=\"248\"/>\n        <enum name=\"ty_social_twitter_circular\" value=\"249\"/>\n        <enum name=\"ty_social_vimeo\" value=\"250\"/>\n        <enum name=\"ty_social_vimeo_circular\" value=\"251\"/>\n        <enum name=\"ty_social_youtube\" value=\"252\"/>\n        <enum name=\"ty_social_youtube_circular\" value=\"253\"/>\n        <enum name=\"ty_sort_alphabetically\" value=\"254\"/>\n        <enum name=\"ty_sort_alphabetically_outline\" value=\"255\"/>\n        <enum name=\"ty_sort_numerically\" value=\"256\"/>\n        <enum name=\"ty_sort_numerically_outline\" value=\"257\"/>\n        <enum name=\"ty_spanner\" value=\"258\"/>\n        <enum name=\"ty_spanner_outline\" value=\"259\"/>\n        <enum name=\"ty_spiral\" value=\"260\"/>\n        <enum name=\"ty_star\" value=\"261\"/>\n        <enum name=\"ty_star_full_outline\" value=\"262\"/>\n        <enum name=\"ty_star_half\" value=\"263\"/>\n        <enum name=\"ty_star_half_outline\" value=\"264\"/>\n        <enum name=\"ty_star_outline\" value=\"265\"/>\n        <enum name=\"ty_starburst\" value=\"266\"/>\n        <enum name=\"ty_starburst_outline\" value=\"267\"/>\n        <enum name=\"ty_stopwatch\" value=\"268\"/>\n        <enum name=\"ty_support\" value=\"269\"/>\n        <enum name=\"ty_tabs_outline\" value=\"270\"/>\n        <enum name=\"ty_tag\" value=\"271\"/>\n        <enum name=\"ty_tags\" value=\"272\"/>\n        <enum name=\"ty_th_large\" value=\"273\"/>\n        <enum name=\"ty_th_large_outline\" value=\"274\"/>\n        <enum name=\"ty_th_list\" value=\"275\"/>\n        <enum name=\"ty_th_list_outline\" value=\"276\"/>\n        <enum name=\"ty_th_menu\" value=\"277\"/>\n        <enum name=\"ty_th_menu_outline\" value=\"278\"/>\n        <enum name=\"ty_th_small\" value=\"279\"/>\n        <enum name=\"ty_th_small_outline\" value=\"280\"/>\n        <enum name=\"ty_thermometer\" value=\"281\"/>\n        <enum name=\"ty_thumbs_down\" value=\"282\"/>\n        <enum name=\"ty_thumbs_ok\" value=\"283\"/>\n        <enum name=\"ty_thumbs_up\" value=\"284\"/>\n        <enum name=\"ty_tick\" value=\"285\"/>\n        <enum name=\"ty_tick_outline\" value=\"286\"/>\n        <enum name=\"ty_ticket\" value=\"287\"/>\n        <enum name=\"ty_time\" value=\"288\"/>\n        <enum name=\"ty_times\" value=\"289\"/>\n        <enum name=\"ty_times_outline\" value=\"290\"/>\n        <enum name=\"ty_trash\" value=\"291\"/>\n        <enum name=\"ty_tree\" value=\"292\"/>\n        <enum name=\"ty_upload\" value=\"293\"/>\n        <enum name=\"ty_upload_outline\" value=\"294\"/>\n        <enum name=\"ty_user\" value=\"295\"/>\n        <enum name=\"ty_user_add\" value=\"296\"/>\n        <enum name=\"ty_user_add_outline\" value=\"297\"/>\n        <enum name=\"ty_user_delete\" value=\"298\"/>\n        <enum name=\"ty_user_delete_outline\" value=\"299\"/>\n        <enum name=\"ty_user_outline\" value=\"300\"/>\n        <enum name=\"ty_vendor_android\" value=\"301\"/>\n        <enum name=\"ty_vendor_apple\" value=\"302\"/>\n        <enum name=\"ty_vendor_microsoft\" value=\"303\"/>\n        <enum name=\"ty_video\" value=\"304\"/>\n        <enum name=\"ty_video_outline\" value=\"305\"/>\n        <enum name=\"ty_volume\" value=\"306\"/>\n        <enum name=\"ty_volume_down\" value=\"307\"/>\n        <enum name=\"ty_volume_mute\" value=\"308\"/>\n        <enum name=\"ty_volume_up\" value=\"309\"/>\n        <enum name=\"ty_warning\" value=\"310\"/>\n        <enum name=\"ty_warning_outline\" value=\"311\"/>\n        <enum name=\"ty_watch\" value=\"312\"/>\n        <enum name=\"ty_waves\" value=\"313\"/>\n        <enum name=\"ty_waves_outline\" value=\"314\"/>\n        <enum name=\"ty_weather_cloudy\" value=\"315\"/>\n        <enum name=\"ty_weather_downpour\" value=\"316\"/>\n        <enum name=\"ty_weather_night\" value=\"317\"/>\n        <enum name=\"ty_weather_partly_sunny\" value=\"318\"/>\n        <enum name=\"ty_weather_shower\" value=\"319\"/>\n        <enum name=\"ty_weather_snow\" value=\"320\"/>\n        <enum name=\"ty_weather_stormy\" value=\"321\"/>\n        <enum name=\"ty_weather_sunny\" value=\"322\"/>\n        <enum name=\"ty_weather_windy\" value=\"323\"/>\n        <enum name=\"ty_weather_windy_cloudy\" value=\"324\"/>\n        <enum name=\"ty_wi_fi\" value=\"325\"/>\n        <enum name=\"ty_wi_fi_outline\" value=\"326\"/>\n        <enum name=\"ty_wine\" value=\"327\"/>\n        <enum name=\"ty_world\" value=\"328\"/>\n        <enum name=\"ty_world_outline\" value=\"329\"/>\n        <enum name=\"ty_zoom\" value=\"330\"/>\n        <enum name=\"ty_zoom_in\" value=\"331\"/>\n        <enum name=\"ty_zoom_in_outline\" value=\"332\"/>\n        <enum name=\"ty_zoom_out\" value=\"333\"/>\n        <enum name=\"ty_zoom_out_outline\" value=\"334\"/>\n        <enum name=\"ty_zoom_outline\" value=\"335\"/>\n    </attr>\n\n</resources>"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <!-- Bootstrap Brand Colors (Universal) -->\n\n    <!-- Grayscale -->\n    <color name=\"bootstrap_gray_dark\">#373a3c</color>\n    <color name=\"bootstrap_gray\">#55595c</color>\n    <color name=\"bootstrap_gray_light\">#818a91</color>\n    <color name=\"bootstrap_gray_lighter\">#eceeef</color>\n    <color name=\"bootstrap_gray_lightest\">#f7f7f9</color>\n\n    <!-- Brand -->\n    <color name=\"bootstrap_brand_primary\">#0275d8</color>\n    <color name=\"bootstrap_brand_success\">#5cb85c</color>\n    <color name=\"bootstrap_brand_info\">#5bc0de</color>\n    <color name=\"bootstrap_brand_warning\">#f0ad4e</color>\n    <color name=\"bootstrap_brand_danger\">#d9534f</color>\n\n    <!-- View Specific -->\n\n    <!-- Buttons -->\n    <color name=\"bootstrap_brand_secondary_fill\">#ffffff</color>\n    <color name=\"bootstrap_brand_secondary_border\">#cccccc</color>\n    <color name=\"bootstrap_brand_secondary_text\">#373a3c</color>\n\n    <!-- Misc -->\n    <color name=\"bootstrap_edittext_disabled\">#ffe0e0e0</color>\n    <color name=\"bootstrap_thumbnail_background\">#ffffffff</color>\n    <color name=\"bootstrap_well_background\">#F5F5F5</color>\n    <color name=\"bootstrap_dropdown_divider\">#e7e7e7</color>\n    <color name=\"bootstrap_well_border_color\">#E7E7E7</color>\n    <color name=\"bootstrap_alert_cross_default\">#64818a91</color>\n\n</resources>\n"
  },
  {
    "path": "AndroidBootstrap/src/main/res/values/dimens.xml",
    "content": "<resources>\n\n    <!-- Default button size -->\n    <dimen name=\"bootstrap_button_default_font_size\">14sp</dimen>\n    <dimen name=\"bootstrap_button_default_vert_padding\">5.75dp</dimen>\n    <dimen name=\"bootstrap_button_default_hori_padding\">14dp</dimen>\n    <dimen name=\"bootstrap_button_default_corner_radius\">4dp</dimen>\n    <dimen name=\"bootstrap_button_default_edge_width\">1dp</dimen>\n\n    <!-- Default edit text size -->\n    <dimen name=\"bootstrap_edit_text_default_font_size\">14sp</dimen>\n    <dimen name=\"bootstrap_edit_text_vert_padding\">8dp</dimen>\n    <dimen name=\"bootstrap_edit_text_hori_padding\">5.75dp</dimen>\n    <dimen name=\"bootstrap_edit_text_corner_radius\">6dp</dimen>\n    <dimen name=\"bootstrap_edit_text_edge_width\">1.5dp</dimen>\n\n    <!--Default alert size -->\n    <dimen name=\"bootstrap_alert_paddings\">8dp</dimen>\n    <dimen name=\"bootstrap_alert_stroke_width\">1dp</dimen>\n    <dimen name=\"bootstrap_alert_default_font_size\">14sp</dimen>\n\n    <!-- Thumbnails -->\n    <dimen name=\"bthumbnail_default_border\">8dp</dimen>\n    <dimen name=\"bthumbnail_rounded_corner\">8dp</dimen>\n    <dimen name=\"bthumbnail_outer_stroke\">2dp</dimen>\n\n    <!--Well-->\n    <dimen name=\"bootstrap_well_corner_radius\">8dp</dimen>\n    <dimen name=\"bootstrap_well_stroke_width\">1dp</dimen>\n    <dimen name=\"bootstrap_well_default_padding\">6dp</dimen>\n    <!-- Default dropdown size -->\n    <dimen name=\"bootstrap_dropdown_default_item_font_size\">14sp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_font_size\">14sp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_item_left_padding\">8dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_item_right_padding\">8dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_corner_radius\">3dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_edge_width\">1dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_vert_padding\">4dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_hori_padding\">8dp</dimen>\n    <dimen name=\"bootstrap_dropdown_default_item_height\">48dp</dimen>\n\n    <!-- Headings -->\n    <dimen name=\"bootstrap_h1_text_size\">31.5sp</dimen>\n    <dimen name=\"bootstrap_h1_vert_padding\">7.875dp</dimen>\n    <dimen name=\"bootstrap_h1_hori_padding\">12.6dp</dimen>\n\n    <dimen name=\"bootstrap_h2_text_size\">28sp</dimen>\n    <dimen name=\"bootstrap_h2_vert_padding\">7dp</dimen>\n    <dimen name=\"bootstrap_h2_hori_padding\">11.2dp</dimen>\n\n    <dimen name=\"bootstrap_h3_text_size\">24.5sp</dimen>\n    <dimen name=\"bootstrap_h3_vert_padding\">6.125dp</dimen>\n    <dimen name=\"bootstrap_h3_hori_padding\">9.8dp</dimen>\n\n    <dimen name=\"bootstrap_h4_text_size\">21sp</dimen>\n    <dimen name=\"bootstrap_h4_vert_padding\">5.25dp</dimen>\n    <dimen name=\"bootstrap_h4_hori_padding\">8.4dp</dimen>\n\n    <dimen name=\"bootstrap_h5_text_size\">17.5sp</dimen>\n    <dimen name=\"bootstrap_h5_vert_padding\">4.375dp</dimen>\n    <dimen name=\"bootstrap_h5_hori_padding\">7dp</dimen>\n\n    <dimen name=\"bootstrap_h6_text_size\">14dp</dimen>\n    <dimen name=\"bootstrap_h6_vert_padding\">3.5dp</dimen>\n    <dimen name=\"bootstrap_h6_hori_padding\">5.6dp</dimen>\n\n    <!-- Misc -->\n    <dimen name=\"bootstrap_default_corner_radius\">3dp</dimen>\n    <dimen name=\"bootstrap_progress_bar_height\">20dp</dimen>\n    <dimen name=\"bootstrap_badge_default_size\">16dp</dimen>\n    <dimen name=\"bootstrap_progress_bar_default_font_size\">17sp</dimen>\n\n\n</resources>\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013-2016 Bearded Hen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject 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, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "Android-Bootstrap\n=================\nAndroid Bootstrap is an Android library which provides custom views styled according to the\n [Twitter Bootstrap Specification](http://getbootstrap.com/). This allows you to spend more time\n  on development rather than trying to get a consistent theme across your app, especially if you are already familiar with the Bootstrap Framework.\n  \nQuick Start\n===========\n [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.beardedhen/androidbootstrap/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.beardedhen/androidbootstrap)\n [![CircleCI](https://circleci.com/gh/Bearded-Hen/Android-Bootstrap/tree/develop.svg?style=shield)](https://circleci.com/gh/Bearded-Hen/Android-Bootstrap/tree/develop)\n <a href=\"http://www.methodscount.com/?lib=com.beardedhen%3Aandroidbootstrap%3A%2B\"><img src=\"https://img.shields.io/badge/Methods and size-core: 913 | deps: 10417 | 431 KB-e91e63.svg\"/></a>\n \n Add the following dependency to your build.gradle, ensuring you replace 'X.X.X' with the latest version on the button above:\n \n ```java\n dependencies {\n    compile 'com.beardedhen:androidbootstrap:{X.X.X}'\n }\n ```\n \n You should also override your application class with the following:\n \n ```java\n public class SampleApplication extends Application {\n     @Override public void onCreate() {\n         super.onCreate();\n         TypefaceProvider.registerDefaultIconSets();\n     }\n }\n ```\n \n You should then checkout the library and investigate the sample code, which covers most of the features.\n The sample app is also available on [Google Play](https://play.google.com/store/apps/details?id=com.fractalwrench.androidbootstrap.sample).\n \nSupport\n==============\nIf you have a question about how to use the project, please ask a question on [StackOverflow](http://stackoverflow.com/questions/tagged/android-bootstrap-widgets), using the tag **android-bootstrap-widgets**.\n\nIf you think you have found a bug in the library, you should [create a new issue](https://github.com/Bearded-Hen/Android-Bootstrap/issues/new) instead.\n \nJavadoc\n============\nThe javadoc for the project is hosted on [Github](http://bearded-hen.github.io/Android-Bootstrap/).\n\nExamples\n============\n\n### BootstrapButton\nA button that supports Glyph icons, and is themeable using Bootstrap Brands.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapButton\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"BootstrapButton\"\n    app:bootstrapBrand=\"success\"\n    app:bootstrapSize=\"lg\"\n    app:buttonMode=\"regular\"\n    app:showOutline=\"false\"\n    app:roundedCorners=\"true\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_button.png\" width=\"450\" alt=\"BootstrapButton\">\n\n###BootstrapButtonGroup\nAllows BootstrapButtons to be grouped together and their attributes controlled en masse.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapButtonGroup\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"BootstrapButtonGroup\"\n    android:orientation=\"vertical\"\n    app:bootstrapBrand=\"success\"\n    app:bootstrapSize=\"lg\"\n    app:roundedCorners=\"true\"\n    >\n    <com.beardedhen.androidbootstrap.BootstrapButton\n       android:layout_width=\"wrap_content\"\n       android:layout_height=\"wrap_content\"\n       android:text=\"BootstrapButton 1\"\n       />\n    <com.beardedhen.androidbootstrap.BootstrapButton\n       android:layout_width=\"wrap_content\"\n       android:layout_height=\"wrap_content\"\n       android:text=\"BootstrapButton 2\"\n       />\n</com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_button_group.png\" width=\"450\" alt=\"BootstrapButtonGroup\">\n\n\n### AwesomeTextView\nA text widget that displays Glyph icons, and is themeable using Bootstrap Brands.\n   ```xml\n<com.beardedhen.androidbootstrap.AwesomeTextView\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    app:bootstrapBrand=\"success\"\n    app:fontAwesomeIcon=\"fa_android\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/awesome_text_view.png\" width=\"450\" alt=\"AwesomeTextView\">\n\n###BootstrapProgressBar\nDisplays progress in a bar from 0-100, and animates updates to the current progress.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapProgressBar\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    app:animated=\"true\"\n    app:bootstrapBrand=\"warning\"\n    app:progress=\"78\"\n    app:striped=\"true\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_progress_bar.png\" width=\"450\" alt=\"BootstrapProgressBar\">\n\n### BootstrapProgressBarGroup\nAllows BootstrapProgressBars to be group together to have the effect of <a href=\"http://getbootstrap.com/components/#progress-stacked\">stacked progress bar</a>.\n   ```xml\n        <com.beardedhen.androidbootstrap.BootstrapProgressBarGroup\n            android:id=\"@+id/example_progress_bar_group_round_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            app:bootstrapSize=\"md\"\n            app:bootstrapMaxProgress=\"100\">\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"20\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapProgress=\"20\"\n                />\n\n            </com.beardedhen.androidbootstrap.BootstrapProgressBarGroup>\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_progress_bar_group.png\" width=\"450\" alt=\"BootstrapProgressBarGroup\">\n\n###BootstrapLabel\nDisplays non-clickable text in a widget similar to the BootstrapButton, sizable using H1-H6 elements.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapLabel\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    app:bootstrapBrand=\"primary\"\n    app:bootstrapHeading=\"h3\"\n    app:roundedCorners=\"true\"\n    android:text=\"Bootstrap Label\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_label.png\" width=\"450\" alt=\"BootstrapLabel\">\n\n### BootstrapEditText\nAllows editing of text in a widget themed using BootstrapBrand.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapEditText\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    app:bootstrapSize=\"md\"\n    app:bootstrapBrand=\"info\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_edit_text.png\" width=\"450\" alt=\"BootstrapEditText\">\n\n###BootstrapCircleThumbnail\nDisplays images in a center-cropped Circular View, themed with BootstrapBrand.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:src=\"@drawable/my_drawable\"\n    app:bootstrapBrand=\"danger\"\n    app:hasBorder=\"true\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_circle_thumbnail.png\" width=\"450\" alt=\"BootstrapCircleThumbnail\">\n\n### BootstrapThumbnail\nDisplays images in a rectangular View, themed with BootstrapBrand.\n   ```xml\n<com.beardedhen.androidbootstrap.BootstrapThumbnail\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:src=\"@drawable/my_drawable\"\n    app:bootstrapBrand=\"info\"\n    app:hasBorder=\"true\"\n    />\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_thumbnail.png\" width=\"450\" alt=\"BootstrapThumbnail\">\n\n###BootstrapWell\nDisplays a view in a themed container.\n\n```xml\n<com.beardedhen.androidbootstrap.BootstrapWell\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapSize=\"xl\">\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:gravity=\"right\"\n            android:text=\"Look, I'm in a large well!\"\n            />\n    </com.beardedhen.androidbootstrap.BootstrapWell>\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_well.png\" width=\"450\" alt=\"BootstrapWell\">\n\n\n###BootstrapDropDown\nDisplays a view with dropdown options, supplied by an array of strings.\n\n```xml\n<com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapText=\"Medium {fa_thumbs_o_up}\"\n                app:bootstrapBrand=\"regular\"\n                app:roundedCorners=\"true\"\n                app:bootstrapSize=\"md\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:bootstrapExpandDirection=\"down\"/>\n```\n<img src=\"https://raw.github.com/Bearded-Hen/Android-Bootstrap/master/images/bootstrap_dropdown.png\" width=\"450\" alt=\"BootstrapDropdown\">\n\n Custom Styles\n============\nCustom styles can be applied to any of the views in this library by creating a class which implements\nBootstrapBrand, and setting it on the View. Please see the sample code of BootstrapButton for more detail.\n\n ```java\n\n     class CustomBootstrapStyle implements BootstrapBrand {\n         // specify desired colors here\n     }\n\n     BootstrapButton btn = new BootstrapButton(context);\n     btn.setBootstrapBrand(new CustomBootstrapStyle(this);\n ```\n\n\n\n\nContributing\n============\nContributions are very welcome! There are 3 main ways you can help out:\n\n1. Add more Icon Typefaces, using the instructions [here](https://github.com/Bearded-Hen/Android-Bootstrap/blob/master/ADD_FONT.md)\n2. Help implement views which are present in the  [Twitter Bootstrap Specification](http://getbootstrap.com/) but are not yet in this library.\n3. Raise an issue if you see a bug or are unsure on how something works, or even better - send a pull-request with a fix!\n\nVersioning\n==========\nThis project uses [Semantic Versioning](http://semver.org/). There are several breaking changes in V2.X of the library, including:\n\n- AwesomeTextView replaces FontAwesomeText\n- Various altered method signatures/attributes for views\n- Global BootstrapBrand/BootstrapSize attributes replace view-specific enums\n\nPlease consider what effect these changes might have on your app before upgrading!\n\nContact\n=======\nIf you have any questions, issues, or just want to let us know where you're using Android Bootstrap\n tweet us at [@BeardedHen](https://twitter.com/beardedhen), email support@beardedhen.com,\n  or head over to our [website](http://beardedhen.com/) to see more of our creations.\n\nHall of Fame\n======\nCheckout [AppBrain](http://www.appbrain.com/stats/libraries/details/androidbootstrap/android-bootstrap) to see some of the apps which use Android Bootstrap!\n\n"
  },
  {
    "path": "TODO.md",
    "content": "Feature (Wish)List\n=============\n* More Views in Bootstrap Spec\n* Add Bootstrap input groups\n* Add BootstrapCardView and BootstrapCardGroupView to replace BootstrapThumbnail\n* Generate gh-pages\n"
  },
  {
    "path": "build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\nbuildscript {\n    repositories {\n        jcenter()\n\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.3.2'\n    }\n}\n\nallprojects {\n    version = VERSION_NAME\n    group = GROUP\n    repositories {\n        jcenter()\n        maven {\n            url \"https://jitpack.io\" // for snapshot debugging\n        }\n    }\n}\n"
  },
  {
    "path": "circle.yml",
    "content": "dependencies:\n  pre:\n    # Android SDK Platform 25\n    - if [ ! -d \"/usr/local/android-sdk-linux/platforms/android-25\" ]; then echo y | android update sdk --no-ui --all --filter \"android-25\"; fi\n    # Android SDK Build-tools, revision 25.0.1\n    - if [ ! -d \"/usr/local/android-sdk-linux/build-tools/25.0.1\" ]; then echo y | android update sdk --no-ui --all --filter \"build-tools-25.0.1\"; fi\n    # Android Support Library, revision 25.0.1\n    - if [ ! -d \"/usr/local/android-sdk-linux/extras/android/m2repository/com/android/support/support-v4/25.0.1\" ]; then echo y | android update sdk --no-ui --all --filter \"extra-android-m2repository\"; fi\n    # Android Support Annotations Library, revision 25.0.1\n    - if [ ! -d \"/usr/local/android-sdk-linux/extras/android/m2repository/com/android/support/support-annotations/25.0.1\" ]; then echo y | android update sdk --no-ui --all --filter \"extra-android-m2repository\"; fi\n\n  cache_directories:\n    - /usr/local/android-sdk-linux/platforms/android-25\n    - /usr/local/android-sdk-linux/build-tools/25.0.1\n    - /usr/local/android-sdk-linux/extras/android/m2repository/com/android/support/support-v4/25.0.1\n    - /usr/local/android-sdk-linux/extras/android/m2repository/com/android/support/support-annotations/25.0.1"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "#Sat Jul 22 10:14:14 BST 2017\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-3.3-all.zip\n"
  },
  {
    "path": "gradle.properties",
    "content": "VERSION_NAME=2.3.2\nVERSION_CODE=232\nGROUP=com.beardedhen\n\nMIN_SDK_INT=14\nTARGET_SDK_INT=25\n\nPOM_DESCRIPTION=Bootstrap style widgets for Android, with Glyph Icons\nPOM_URL=https://github.com/Bearded-Hen/Android-Bootstrap\nPOM_SCM_URL=https://github.com/Bearded-Hen/Android-Bootstrap\nPOM_SCM_CONNECTION=scm:git@github.com:Bearded-Hen/Android-Bootstrap.git\nPOM_SCM_DEV_CONNECTION=scm:git@github.com:Bearded-Hen/Android-Bootstrap.git\nPOM_LICENCE_NAME=The MIT License (MIT)\nPOM_LICENCE_URL=https://github.com/Bearded-Hen/Android-Bootstrap/blob/master/LICENSE\nPOM_LICENCE_DIST=repo\nPOM_DEVELOPER_ID=beardedhen\nPOM_DEVELOPER_NAME=Bearded-Hen\n\nPOM_NAME=Android-Bootstrap Library\nPOM_ARTIFACT_ID=androidbootstrap\nPOM_PACKAGING=aar\n"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn ( ) {\n    echo \"$*\"\n}\n\ndie ( ) {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\nesac\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\nfunction splitJvmOpts() {\n    JVM_OPTS=(\"$@\")\n}\neval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\nJVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n\nexec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n"
  },
  {
    "path": "gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@rem  Gradle startup script for Windows\r\n@rem\r\n@rem ##########################################################################\r\n\r\n@rem Set local scope for the variables with windows NT shell\r\nif \"%OS%\"==\"Windows_NT\" setlocal\r\n\r\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r\nset DEFAULT_JVM_OPTS=\r\n\r\nset DIRNAME=%~dp0\r\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\r\nset APP_BASE_NAME=%~n0\r\nset APP_HOME=%DIRNAME%\r\n\r\n@rem Find java.exe\r\nif defined JAVA_HOME goto findJavaFromJavaHome\r\n\r\nset JAVA_EXE=java.exe\r\n%JAVA_EXE% -version >NUL 2>&1\r\nif \"%ERRORLEVEL%\" == \"0\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:findJavaFromJavaHome\r\nset JAVA_HOME=%JAVA_HOME:\"=%\r\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\r\n\r\nif exist \"%JAVA_EXE%\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:init\r\n@rem Get command-line arguments, handling Windowz variants\r\n\r\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\r\nif \"%@eval[2+2]\" == \"4\" goto 4NT_args\r\n\r\n:win9xME_args\r\n@rem Slurp the command line arguments.\r\nset CMD_LINE_ARGS=\r\nset _SKIP=2\r\n\r\n:win9xME_args_slurp\r\nif \"x%~1\" == \"x\" goto execute\r\n\r\nset CMD_LINE_ARGS=%*\r\ngoto execute\r\n\r\n:4NT_args\r\n@rem Get arguments from the 4NT Shell from JP Software\r\nset CMD_LINE_ARGS=%$\r\n\r\n:execute\r\n@rem Setup the command line\r\n\r\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\r\n\r\n@rem Execute Gradle\r\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r\n\r\n:end\r\n@rem End local scope for the variables with windows NT shell\r\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\r\n\r\n:fail\r\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r\nrem the _cmd.exe /c_ return code!\r\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\r\nexit /b 1\r\n\r\n:mainEnd\r\nif \"%OS%\"==\"Windows_NT\" endlocal\r\n\r\n:omega\r\n"
  },
  {
    "path": "sample/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "sample/build.gradle",
    "content": "apply plugin: 'com.android.application'\n\nandroid {\n    compileSdkVersion Integer.parseInt(TARGET_SDK_INT)\n    buildToolsVersion \"25.0.3\"\n\n    defaultConfig {\n        applicationId \"com.fractalwrench.androidbootstrap.sample\"\n        minSdkVersion Integer.parseInt(MIN_SDK_INT)\n        targetSdkVersion Integer.parseInt(TARGET_SDK_INT)\n        versionCode = Integer.parseInt(VERSION_CODE)\n        versionName = VERSION_NAME\n    }\n    lintOptions {\n        disable 'InvalidPackage'\n    }\n    packagingOptions {\n        exclude 'META-INF/services/javax.annotation.processing.Processor'\n    }\n    buildTypes {\n        release {\n            minifyEnabled true\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile project (':AndroidBootstrap') // replace with Maven dependency in your app\n\n    compile 'com.jakewharton:butterknife:8.4.0'\n    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'\n\n    compile 'com.android.support:appcompat-v7:25.3.1'\n    compile 'com.android.support:support-annotations:25.3.1'\n}\n"
  },
  {
    "path": "sample/proguard-rules.pro",
    "content": "# Butterknife\n\n-keep class butterknife.** { *; }\n-dontwarn butterknife.internal.**\n-keep class **$$ViewBinder { *; }\n\n-keepclasseswithmembernames class * {\n    @butterknife.* <fields>;\n}\n\n-keepclasseswithmembernames class * {\n    @butterknife.* <methods>;\n}"
  },
  {
    "path": "sample/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest\n    package=\"com.fractalwrench.androidbootstrap.sample\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    >\n\n    <application\n        android:name=\".SampleApplication\"\n        android:allowBackup=\"true\"\n        android:icon=\"@mipmap/ic_launcher\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\"\n        >\n        <activity\n            android:name=\".HomeActivity\"\n            android:label=\"Android Bootstrap Examples\"\n            >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\"/>\n                <category android:name=\"android.intent.category.LAUNCHER\"/>\n            </intent-filter>\n        </activity>\n        <activity\n            android:name=\".BootstrapButtonExample\"\n            android:label=\"BootstrapButton\"\n            />\n        <activity\n            android:name=\".BootstrapLabelExample\"\n            android:label=\"BootstrapLabel\"\n            />\n        <activity\n            android:name=\".AwesomeTextViewExample\"\n            android:label=\"AwesomeTextView\"\n            />\n        <activity\n            android:name=\".BootstrapProgressBarExample\"\n            android:label=\"BootstrapProgressBar\"\n            />\n        <activity\n            android:name=\".BootstrapButtonGroupExample\"\n            android:label=\"BootstrapButtonGroup\"\n            />\n        <activity\n            android:name=\".BootstrapCircleThumbnailExample\"\n            android:label=\"BootstrapCircleThumbnail\"\n            />\n        <activity\n            android:name=\".BootstrapThumbnailExample\"\n            android:label=\"BootstrapThumbnail\"\n            />\n        <activity\n            android:name=\".BootstrapEditTextExample\"\n            android:label=\"BootstrapEditTextExample\"\n            />\n        <activity\n            android:name=\".BootstrapWellExample\"\n            android:label=\"BootstrapWell\"\n            />\n        <activity\n            android:name=\".BootstrapDropDownExample\"\n            android:label=\"BootstrapDropDownExample\"\n            />\n        <activity\n            android:name=\".BootstrapBadgeExample\"\n            android:label=\"BootstrapBadgeExample\"\n            />\n        <activity\n            android:name=\".BootstrapAlertExample\"\n            android:label=\"BootstrapAlertExample\"\n            />\n\n        <activity\n            android:name=\".BootstrapProgressBarGroupExample\"\n            android:label=\"BootstrapProgressBarGroupExample\"\n            />\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/AwesomeTextViewExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\n\nimport com.beardedhen.androidbootstrap.AwesomeTextView;\nimport com.beardedhen.androidbootstrap.BootstrapText;\nimport com.beardedhen.androidbootstrap.font.MaterialIcons;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\nimport static com.beardedhen.androidbootstrap.font.FontAwesome.FA_ANCHOR;\nimport static com.beardedhen.androidbootstrap.font.FontAwesome.FA_ANDROID;\nimport static com.beardedhen.androidbootstrap.font.FontAwesome.FA_APPLE;\nimport static com.beardedhen.androidbootstrap.font.FontAwesome.FA_HEART;\nimport static com.beardedhen.androidbootstrap.font.FontAwesome.FA_TWITTER;\nimport static com.beardedhen.androidbootstrap.font.Typicon.TY_CODE;\n\npublic class AwesomeTextViewExample extends BaseActivity {\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_awesome_text_view;\n    }\n\n    @BindView(R.id.example_fa_text_change) AwesomeTextView exampleChange;\n    @BindView(R.id.example_fa_text_flash) AwesomeTextView exampleFlash;\n    @BindView(R.id.example_fa_text_rotate) AwesomeTextView exampleRotate;\n    @BindView(R.id.example_fa_text_multi_change) AwesomeTextView exampleMultiChange;\n    @BindView(R.id.example_fa_text_builder) AwesomeTextView exampleBuilder;\n    @BindView(R.id.example_mix_and_match) AwesomeTextView mixAndMatch;\n\n    private boolean android = true;\n    private boolean wikipedia = true;\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setupFontAwesomeText();\n    }\n\n    private void setupFontAwesomeText() {\n        exampleFlash.startFlashing(true, AwesomeTextView.AnimationSpeed.FAST);\n        exampleRotate.startRotate(true, AwesomeTextView.AnimationSpeed.SLOW);\n\n        BootstrapText text = new BootstrapText.Builder(this)\n                .addText(\"I \")\n                .addFontAwesomeIcon(FA_HEART)\n                .addText(\" going on \")\n                .addFontAwesomeIcon(FA_TWITTER)\n                .build();\n\n        exampleBuilder.setBootstrapText(text);\n\n        mixAndMatch.setBootstrapText(new BootstrapText.Builder(this)\n                .addFontAwesomeIcon(FA_ANCHOR)\n                .addTypicon(TY_CODE)\n                .addMaterialIcon(MaterialIcons.MD_PHOTO)\n                .build());\n    }\n\n    @OnClick(R.id.example_fa_text_change) void onChangeClicked() {\n        android = !android;\n        exampleChange.setFontAwesomeIcon(android ? FA_ANDROID : FA_APPLE);\n    }\n\n    @OnClick(R.id.example_fa_text_multi_change) void onMultiChangeClicked() {\n        wikipedia = !wikipedia;\n        String text = wikipedia ? \"{fa_image} is in the {fa_cloud}\" : \"{fa_bank} are on {fa_globe}\";\n        exampleMultiChange.setMarkdownText(text);\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BaseActivity.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\nimport android.support.annotation.LayoutRes;\nimport android.support.v7.app.AppCompatActivity;\nimport android.view.LayoutInflater;\nimport android.widget.ScrollView;\n\nimport butterknife.ButterKnife;\n\n/**\n * Performs ButterKnife binding after adding example views to the root ScrollView\n */\nabstract class BaseActivity extends AppCompatActivity {\n\n    @LayoutRes protected abstract int getContentLayoutId();\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_base);\n\n        ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView);\n\n        if (scrollView != null) {\n            scrollView.addView(LayoutInflater.from(this).inflate(getContentLayoutId(), scrollView, false));\n        }\n\n        ButterKnife.bind(this);\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapAlertExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.View;\n\nimport com.beardedhen.androidbootstrap.BootstrapAlert;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapAlertExample extends BaseActivity {\n\n    public static final String TAG = \"BootstrapAlertExample\";\n\n    @BindView(R.id.dynamic_alert) BootstrapAlert alert;\n\n    @Override\n    protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_alert;\n    }\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        alert.setVisibilityChangeListener(new BootstrapAlert.VisibilityChangeListener() {\n            @Override\n            public void onAlertDismissStarted(BootstrapAlert alert) {\n                Log.d(TAG, \"Started dismissing alert!\");\n            }\n\n            @Override\n            public void onAlertDismissCompletion(BootstrapAlert alert) {\n                Log.d(TAG, \"Finished dismissing alert!\");\n            }\n\n            @Override\n            public void onAlertAppearStarted(BootstrapAlert alert) {\n                Log.d(TAG, \"Started appearing alert!\");\n            }\n\n            @Override\n            public void onAlertAppearCompletion(BootstrapAlert alert) {\n                Log.d(TAG, \"Finished appearing alert!\");\n            }\n        });\n    }\n\n    @OnClick(R.id.interactive_button)\n    void onInteractiveButtonClicked() {\n        if (View.GONE == alert.getVisibility()) {\n            alert.show(true);\n        }\n        else {\n            alert.dismiss(true);\n        }\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapBadgeExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\n\nimport com.beardedhen.androidbootstrap.BootstrapBadge;\nimport com.beardedhen.androidbootstrap.BootstrapButton;\n\nimport java.util.Random;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapBadgeExample extends BaseActivity {\n\n    @BindView(R.id.xml_badge_button) BootstrapButton xmlBadgeButton;\n    @BindView(R.id.java_badge_button) BootstrapButton javaBadgeButton;\n    @BindView(R.id.lonely_badge) BootstrapBadge lonelyBadge;\n\n    @Override\n    protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_badge;\n    }\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        BootstrapBadge badgeThird = new BootstrapBadge(this);\n        badgeThird.setBadgeText(\"Hi!\");\n        javaBadgeButton.setBadge(badgeThird);\n    }\n\n    @OnClick(R.id.lonely_badge)\n    void onLonelyButtonClicked() {\n        lonelyBadge.setBadgeText(String.valueOf(new Random().nextInt()));\n    }\n\n    @OnClick(R.id.xml_badge_button)\n    void onXmlButtonClicked() {\n        xmlBadgeButton.setBadgeText(String.valueOf(new Random().nextInt()));\n    }\n\n    @OnClick(R.id.java_badge_button)\n    void onJavaButtonClicked() {\n        javaBadgeButton.setBadgeText(String.valueOf(new Random().nextInt()));\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\nimport android.util.Log;\n\nimport com.beardedhen.androidbootstrap.BootstrapButton;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapButtonExample extends BaseActivity {\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_button;\n    }\n\n    private DefaultBootstrapSize size = DefaultBootstrapSize.LG;\n\n    @BindView(R.id.bbutton_example_corners) BootstrapButton exampleCorners;\n    @BindView(R.id.bbutton_example_outline) BootstrapButton exampleOutline;\n    @BindView(R.id.bbutton_example_size) BootstrapButton exampleSize;\n    @BindView(R.id.bbutton_example_theme) BootstrapButton exampleTheme;\n    @BindView(R.id.example_bbutton_custom_style) BootstrapButton exampleCustomStyle;\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setupCustomStyle();\n    }\n\n    @OnClick(R.id.bbutton_example_corners) void onCornersExampleClicked() {\n        exampleCorners.setRounded(!exampleCorners.isRounded());\n    }\n\n    @OnClick(R.id.bbutton_example_outline) void onOutlineExampleClicked() {\n        exampleOutline.setShowOutline(!exampleOutline.isShowOutline());\n    }\n\n    @OnClick(R.id.bbutton_example_size) void onSizeExampleClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        exampleSize.setBootstrapSize(size);\n    }\n\n    @OnClick(R.id.bbutton_example_theme) void onThemeExampleClicked() {\n        switch ((DefaultBootstrapBrand) exampleTheme.getBootstrapBrand()) {\n            case PRIMARY:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.SUCCESS);\n                break;\n            case SUCCESS:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.WARNING);\n                break;\n            case WARNING:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.DANGER);\n                break;\n            case DANGER:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.INFO);\n                break;\n            case INFO:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.SECONDARY);\n                break;\n            case SECONDARY:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.REGULAR);\n                break;\n            case REGULAR:\n                exampleTheme.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);\n                break;\n        }\n    }\n\n    private void setupCustomStyle() {\n        // create a custom bootstrap size\n        exampleCustomStyle.setBootstrapSize(3.0f);\n\n        // create a Bootstrap Theme with holo colors\n        exampleCustomStyle.setBootstrapBrand(new CustomBootstrapStyle(this));\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonGroupExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.os.Bundle;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\n\nimport com.beardedhen.androidbootstrap.BootstrapButton;\nimport com.beardedhen.androidbootstrap.BootstrapButtonGroup;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapButtonGroupExample extends BaseActivity {\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_button_group;\n    }\n\n    private DefaultBootstrapSize size = DefaultBootstrapSize.MD;\n\n    @BindView(R.id.bbutton_group_orientation_change) BootstrapButtonGroup orientationChange;\n    @BindView(R.id.bbutton_group_size_change) BootstrapButtonGroup sizeChange;\n    @BindView(R.id.bbutton_group_outline_change) BootstrapButtonGroup outlineChange;\n    @BindView(R.id.bbutton_group_rounded_change) BootstrapButtonGroup roundedChange;\n    @BindView(R.id.bbutton_group_brand_change) BootstrapButtonGroup brandChange;\n    @BindView(R.id.bbutton_group_child_change) BootstrapButtonGroup childChange;\n\n    @BindView(R.id.bbutton_group_checked_text) TextView checkedText;\n\n    @BindView(R.id.bbutton_group_checked1) BootstrapButton radioButton1;\n    @BindView(R.id.bbutton_group_checked2) BootstrapButton radioButton2;\n    @BindView(R.id.bbutton_group_checked3) BootstrapButton radioButton3;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        radioButton1.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() {\n            @Override\n            public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) {\n                if (isChecked) {\n                    checkedText.setText(\"radio, button 1 checked\");\n                }\n            }\n        });\n\n        radioButton2.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() {\n            @Override\n            public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) {\n                if (isChecked) {\n                    checkedText.setText(\"radio, button 2 checked\");\n                }\n            }\n        });\n\n        radioButton3.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() {\n            @Override\n            public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) {\n                if (isChecked) {\n                    checkedText.setText(\"radio, button 3 checked\");\n                }\n            }\n        });\n    }\n\n    @OnClick(R.id.bbutton_group_orientation_change_btn) void onOrientationChangeExampleClicked() {\n        boolean isHorizontal = orientationChange.getOrientation() == LinearLayout.HORIZONTAL;\n        int newOrientation = isHorizontal ? LinearLayout.VERTICAL : LinearLayout.HORIZONTAL;\n        orientationChange.setOrientation(newOrientation);\n    }\n\n    @OnClick(R.id.bbutton_group_outline_change_btn) void onOutlineChangeExampleClicked() {\n        outlineChange.setShowOutline(!outlineChange.isShowOutline());\n    }\n\n    @OnClick(R.id.bbutton_group_rounded_change_btn) void onRoundedChangeExampleClicked() {\n        roundedChange.setRounded(!roundedChange.isRounded());\n    }\n\n    @OnClick(R.id.bbutton_group_child_add_btn) void onChildAddExampleClicked() {\n        int count = childChange.getChildCount();\n\n        BootstrapButton button = new BootstrapButton(this);\n        button.setText(String.format(\"%d\", count + 1));\n\n        childChange.addView(button);\n    }\n\n    @OnClick(R.id.bbutton_group_child_remove_btn) void onChildRemoveExampleClicked() {\n        int count = childChange.getChildCount();\n\n        if (count > 0) {\n            childChange.removeViewAt(count - 1);\n        }\n    }\n\n    @OnClick(R.id.bbutton_group_brand_change_btn) void onBrandChangeExampleClicked() {\n        switch ((DefaultBootstrapBrand) brandChange.getBootstrapBrand()) {\n\n            case PRIMARY:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.SUCCESS);\n                break;\n            case SUCCESS:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.INFO);\n                break;\n            case INFO:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.WARNING);\n                break;\n            case WARNING:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.DANGER);\n                break;\n            case DANGER:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.SECONDARY);\n                break;\n            case SECONDARY:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.REGULAR);\n                break;\n            case REGULAR:\n                brandChange.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.bbutton_group_size_change_btn) void onSizeChangeExampleClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        sizeChange.setBootstrapSize(size);\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapCircleThumbnailExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.os.Bundle;\nimport android.widget.LinearLayout;\n\nimport com.beardedhen.androidbootstrap.BootstrapCircleThumbnail;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.utils.DrawableUtils;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.DANGER;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.INFO;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.PRIMARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.REGULAR;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SECONDARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SUCCESS;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.WARNING;\n\npublic class BootstrapCircleThumbnailExample extends BaseActivity {\n\n    private static final float BASELINE_SIZE = 300;\n\n    private int resId = R.drawable.ladybird;\n    private DefaultBootstrapSize size = DefaultBootstrapSize.MD;\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_circle_thumbnail;\n    }\n\n    @BindView(R.id.bcircle_image_change_example) BootstrapCircleThumbnail imageChange;\n    @BindView(R.id.bcircle_theme_change_example) BootstrapCircleThumbnail themeChange;\n    @BindView(R.id.bcircle_border_change_example) BootstrapCircleThumbnail borderChange;\n    @BindView(R.id.bcircle_size_change_example) BootstrapCircleThumbnail sizeChange;\n    @BindView(R.id.bcircle_set_image_bitmap_example) BootstrapCircleThumbnail setBitmapExample;\n    @BindView(R.id.bcircle_set_image_drawable_example) BootstrapCircleThumbnail setDrawableExample;\n    @BindView(R.id.bcircle_set_image_resource_example) BootstrapCircleThumbnail setResourceExample;\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.small_daffodils);\n        setBitmapExample.setImageBitmap(bm);\n\n        setDrawableExample.setImageDrawable(DrawableUtils.resolveDrawable(R.drawable.ladybird, this));\n        setResourceExample.setImageResource(R.drawable.caterpillar);\n\n        sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor()));\n    }\n\n    private LinearLayout.LayoutParams getLayoutParams(float factor) {\n        float size = BASELINE_SIZE * factor;\n        return new LinearLayout.LayoutParams((int)size, (int)size);\n    }\n\n    @OnClick(R.id.bcircle_theme_change_example) void onThemeChangeExampleClicked() {\n        switch ((DefaultBootstrapBrand) themeChange.getBootstrapBrand()) {\n            case PRIMARY:\n                themeChange.setBootstrapBrand(SUCCESS);\n                break;\n            case SUCCESS:\n                themeChange.setBootstrapBrand(INFO);\n                break;\n            case INFO:\n                themeChange.setBootstrapBrand(WARNING);\n                break;\n            case WARNING:\n                themeChange.setBootstrapBrand(DANGER);\n                break;\n            case DANGER:\n                themeChange.setBootstrapBrand(SECONDARY);\n                break;\n            case SECONDARY:\n                themeChange.setBootstrapBrand(REGULAR);\n                break;\n            case REGULAR:\n                themeChange.setBootstrapBrand(PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.bcircle_image_change_example) void onImageChangeExampleClicked() {\n        switch (resId) {\n            case R.drawable.ladybird:\n                resId = R.drawable.caterpillar;\n                break;\n            case R.drawable.caterpillar:\n                resId = 0;\n                break;\n            case 0:\n                resId = R.drawable.ladybird;\n                break;\n        }\n        imageChange.setImageResource(resId);\n    }\n\n    @OnClick(R.id.bcircle_border_change_example) void onBorderChangeExampleClicked() {\n        borderChange.setBorderDisplayed(!borderChange.isBorderDisplayed());\n    }\n\n    @OnClick(R.id.bcircle_size_change_example) void onSizeChangeExampleClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        sizeChange.setBootstrapSize(size);\n        sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor()));\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapDropDownExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.app.Activity;\nimport android.os.Bundle;\n\npublic class BootstrapDropDownExample extends Activity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.example_bootstrap_dropdown);\n    }\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapEditTextExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport com.beardedhen.androidbootstrap.BootstrapEditText;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.DANGER;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.INFO;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.PRIMARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.REGULAR;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SECONDARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SUCCESS;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.WARNING;\n\npublic class BootstrapEditTextExample extends BaseActivity {\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_edit_text_view;\n    }\n\n    private DefaultBootstrapSize size = DefaultBootstrapSize.MD;\n\n    @BindView(R.id.bedit_text_change_enabled) BootstrapEditText changeEnabled;\n    @BindView(R.id.bedit_text_change_round) BootstrapEditText changeRound;\n    @BindView(R.id.bedit_text_change_theme) BootstrapEditText changeTheme;\n    @BindView(R.id.bedit_text_change_size) BootstrapEditText sizeExample;\n\n    @OnClick(R.id.bedit_text_change_enabled_btn) void onChangeEnabledExampleClicked() {\n        changeEnabled.setEnabled(!changeEnabled.isEnabled());\n    }\n\n    @OnClick(R.id.bedit_text_change_round_btn) void onChangeRoundExampleClicked() {\n        changeRound.setRounded(!changeRound.isRounded());\n    }\n\n    @OnClick(R.id.bedit_text_change_theme_btn) void onChangeThemeExampleClicked() {\n        switch((DefaultBootstrapBrand) changeTheme.getBootstrapBrand()) {\n            case PRIMARY:\n                changeTheme.setBootstrapBrand(SUCCESS);\n                break;\n            case SUCCESS:\n                changeTheme.setBootstrapBrand(INFO);\n                break;\n            case INFO:\n                changeTheme.setBootstrapBrand(WARNING);\n                break;\n            case WARNING:\n                changeTheme.setBootstrapBrand(DANGER);\n                break;\n            case DANGER:\n                changeTheme.setBootstrapBrand(SECONDARY);\n                break;\n            case SECONDARY:\n                changeTheme.setBootstrapBrand(REGULAR);\n                break;\n            case REGULAR:\n                changeTheme.setBootstrapBrand(PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.bedit_text_change_size_btn) void onSizeExampleClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        sizeExample.setBootstrapSize(size);\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapLabelExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport com.beardedhen.androidbootstrap.BootstrapLabel;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H1;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H2;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H3;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H4;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H5;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapHeading.H6;\n\npublic class BootstrapLabelExample extends BaseActivity {\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_label;\n    }\n\n    @BindView(R.id.example_blabel_change_color) BootstrapLabel lblChangeColor;\n    @BindView(R.id.example_blabel_change_heading) BootstrapLabel lblChangeHeading;\n    @BindView(R.id.example_blabel_change_rounded) BootstrapLabel lblChangeRounded;\n\n    @OnClick(R.id.example_blabel_change_heading) void onHeadingChangeClicked() {\n        switch ((DefaultBootstrapHeading) lblChangeHeading.getBootstrapHeading()) {\n            case H1:\n                lblChangeHeading.setBootstrapHeading(H2);\n                break;\n            case H2:\n                lblChangeHeading.setBootstrapHeading(H3);\n                break;\n            case H3:\n                lblChangeHeading.setBootstrapHeading(H4);\n                break;\n            case H4:\n                lblChangeHeading.setBootstrapHeading(H5);\n                break;\n            case H5:\n                lblChangeHeading.setBootstrapHeading(H6);\n                break;\n            case H6:\n                lblChangeHeading.setBootstrapHeading(H1);\n                break;\n            default:\n                lblChangeHeading.setBootstrapHeading(H1);\n                break;\n        }\n    }\n\n    @OnClick(R.id.example_blabel_change_color) void onColorChangeClicked() {\n        switch ((DefaultBootstrapBrand) lblChangeColor.getBootstrapBrand()) {\n            case PRIMARY:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.SUCCESS);\n                break;\n            case SUCCESS:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.INFO);\n                break;\n            case INFO:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.WARNING);\n                break;\n            case WARNING:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.DANGER);\n                break;\n            case DANGER:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.SECONDARY);\n                break;\n            case SECONDARY:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.REGULAR);\n                break;\n            case REGULAR:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);\n                break;\n            default:\n                lblChangeColor.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.example_blabel_change_rounded) void onRoundedChangeClicked() {\n        lblChangeRounded.setRounded(!lblChangeRounded.isRounded());\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport com.beardedhen.androidbootstrap.BootstrapProgressBar;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\nimport java.util.Random;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapProgressBarExample extends BaseActivity {\n\n    enum ChangeState {\n        FIRST(false, false),\n        SECOND(false, true),\n        THIRD(true, false),\n        FOURTH(true, true);\n\n        private final boolean animated;\n        private final boolean striped;\n\n        ChangeState(boolean animated, boolean striped) {\n            this.animated = animated;\n            this.striped = striped;\n        }\n\n        public ChangeState next() {\n            switch (this) {\n                case FIRST:\n                    return SECOND;\n                case SECOND:\n                    return THIRD;\n                case THIRD:\n                    return FOURTH;\n                case FOURTH:\n                    return FIRST;\n                default:\n                    return FIRST;\n            }\n        }\n    }\n\n    private Random random;\n    private ChangeState changeState = ChangeState.FIRST;\n    private DefaultBootstrapSize size = DefaultBootstrapSize.MD;\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_progress_bar;\n    }\n\n    @BindView(R.id.example_progress_default) BootstrapProgressBar defaultExample;\n    @BindView(R.id.example_progress_animated) BootstrapProgressBar animatedExample;\n    @BindView(R.id.example_progress_striped) BootstrapProgressBar stripedExample;\n    @BindView(R.id.example_progress_striped_animated) BootstrapProgressBar stripedAnimExample;\n    @BindView(R.id.example_progress_change) BootstrapProgressBar changeExample;\n    @BindView(R.id.example_size_change) BootstrapProgressBar sizeExample;\n\n    @OnClick(R.id.example_progress_default_btn) void onDefaultClicked() {\n        defaultExample.setProgress(randomProgress(defaultExample.getProgress(), 100));\n    }\n\n    @OnClick(R.id.example_progress_animated_btn) void onAnimatedClicked() {\n        animatedExample.setProgress(randomProgress(animatedExample.getProgress(), 100));\n    }\n\n    @OnClick(R.id.example_progress_striped_btn) void onStripedClicked() {\n        stripedExample.setProgress(randomProgress(stripedExample.getProgress(), 200));\n    }\n\n    @OnClick(R.id.example_progress_striped_animated_btn) void onStripedAnimClicked() {\n        stripedAnimExample.setProgress(randomProgress(stripedAnimExample.getProgress(), 100));\n    }\n\n    @OnClick(R.id.example_progress_change_type_btn) void onAlterProgressBarParameters() {\n        changeState = changeState.next();\n        changeExample.setStriped(changeState.striped);\n        changeExample.setAnimated(changeState.animated);\n    }\n\n    @OnClick(R.id.example_progress_change_rounded_btn) void onChangeRoundedProgressBar() {\n        changeExample.setRounded(!changeExample.isRounded());\n    }\n\n    @OnClick(R.id.example_progress_change_color_btn) void onAlterProgressBarColor() {\n        switch ((DefaultBootstrapBrand) changeExample.getBootstrapBrand()) {\n            case PRIMARY:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.SUCCESS);\n                break;\n            case SUCCESS:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.INFO);\n                break;\n            case INFO:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.WARNING);\n                break;\n            case WARNING:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.DANGER);\n                break;\n            case DANGER:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.SECONDARY);\n                break;\n            case SECONDARY:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.REGULAR);\n            case REGULAR:\n                changeExample.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.example_size_change_btn) void onSizeExampleChangeClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        sizeExample.setBootstrapSize(size);\n    }\n\n    private int randomProgress(int currentProgress, int maxProgress) {\n        if (random == null) {\n            random = new Random();\n        }\n\n        int prog = currentProgress + random.nextInt(20);\n\n        if (prog > maxProgress) {\n            prog -= maxProgress;\n        }\n\n        return prog;\n    }\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarGroupExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport com.beardedhen.androidbootstrap.BootstrapProgressBar;\nimport com.beardedhen.androidbootstrap.BootstrapProgressBarGroup;\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\n\nimport java.util.Random;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\npublic class BootstrapProgressBarGroupExample extends BaseActivity {\n\n    @BindView(R.id.example_progress_bar_group_add_group)\n    BootstrapProgressBarGroup groupAdd;\n\n    @BindView(R.id.example_progress_bar_group_round_group)\n    BootstrapProgressBarGroup groupRound;\n\n    @BindView(R.id.example_progress_bar_group_progress_1)\n    BootstrapProgressBar bootstrapProgressBar1;\n\n    @BindView(R.id.example_progress_bar_group_progress_2)\n    BootstrapProgressBar bootstrapProgressBar2;\n\n    boolean rounded = false;\n\n    @Override\n    protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_progress_bar_group;\n    }\n\n    @OnClick(R.id.example_progress_bar_group_add)\n    void addToGroup(){\n        Random rand = new Random();\n        BootstrapProgressBar bar = new BootstrapProgressBar(this);\n        bar.setProgress(10);\n        int brand = 5;\n        while (brand == 5) {\n            brand = rand.nextInt(7);\n        }\n        bar.setBootstrapBrand(DefaultBootstrapBrand.fromAttributeValue(brand));\n\n        if(groupAdd.getCumulativeProgress() + 10 <= 100) {\n            groupAdd.addView(bar);\n        }else{\n            groupAdd.removeViews(2, groupAdd.getChildCount() - 3);\n        }\n    }\n\n    @OnClick(R.id.example_progress_bar_group_round)\n    void onRoundClick(){\n        rounded = !rounded;\n        groupRound.setRounded(rounded);\n    }\n\n    @OnClick(R.id.example_progress_bar_group_progress)\n    void onClickProgressChange(){\n        Random rand = new Random();\n        int progress = rand.nextInt(30) + 10;\n        switch(rand.nextInt(2)){\n            case 0:\n                bootstrapProgressBar1.setProgress(progress);\n                break;\n            case 1:\n                bootstrapProgressBar2.setProgress(progress);\n                break;\n        }\n\n    }\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapThumbnailExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.os.Bundle;\nimport android.widget.LinearLayout;\n\nimport com.beardedhen.androidbootstrap.BootstrapThumbnail;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;\nimport com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize;\nimport com.beardedhen.androidbootstrap.utils.DrawableUtils;\n\nimport butterknife.BindView;\nimport butterknife.OnClick;\n\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.DANGER;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.INFO;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.PRIMARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.REGULAR;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SECONDARY;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SUCCESS;\nimport static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.WARNING;\n\npublic class BootstrapThumbnailExample extends BaseActivity {\n\n    private int resId = R.drawable.ladybird;\n    private DefaultBootstrapSize size = DefaultBootstrapSize.MD;\n\n    @Override protected int getContentLayoutId() {\n        return R.layout.example_bootstrap_thumbnail;\n    }\n\n    @BindView(R.id.bthumb_image_change_example) BootstrapThumbnail imageChange;\n    @BindView(R.id.bthumb_theme_change_example) BootstrapThumbnail themeChange;\n    @BindView(R.id.bthumb_border_change_example) BootstrapThumbnail borderChange;\n    @BindView(R.id.bthumb_rounded_change_example) BootstrapThumbnail roundedChange;\n    @BindView(R.id.bthumb_size_change_example) BootstrapThumbnail sizeChange;\n    @BindView(R.id.bthumb_set_image_bitmap_example) BootstrapThumbnail setBitmapExample;\n    @BindView(R.id.bthumb_set_image_drawable_example) BootstrapThumbnail setDrawableExample;\n    @BindView(R.id.bthumb_set_image_resource_example) BootstrapThumbnail setResourceExample;\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.small_daffodils);\n        setBitmapExample.setImageBitmap(bm);\n\n        setDrawableExample.setImageDrawable(DrawableUtils.resolveDrawable(R.drawable.ladybird,\n                                                                          this));\n        setResourceExample.setImageResource(R.drawable.caterpillar);\n        sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor()));\n    }\n\n    private LinearLayout.LayoutParams getLayoutParams(float factor) {\n        float baselineSize = 300;\n        float size = baselineSize * factor;\n        return new LinearLayout.LayoutParams((int)size, (int)size);\n    }\n\n    @OnClick(R.id.bthumb_theme_change_example) void onThemeChangeExampleClicked() {\n        switch ((DefaultBootstrapBrand) themeChange.getBootstrapBrand()) {\n            case PRIMARY:\n                themeChange.setBootstrapBrand(SUCCESS);\n                break;\n            case SUCCESS:\n                themeChange.setBootstrapBrand(INFO);\n                break;\n            case INFO:\n                themeChange.setBootstrapBrand(WARNING);\n                break;\n            case WARNING:\n                themeChange.setBootstrapBrand(DANGER);\n                break;\n            case DANGER:\n                themeChange.setBootstrapBrand(SECONDARY);\n                break;\n            case SECONDARY:\n                themeChange.setBootstrapBrand(REGULAR);\n                break;\n            case REGULAR:\n                themeChange.setBootstrapBrand(PRIMARY);\n                break;\n        }\n    }\n\n    @OnClick(R.id.bthumb_image_change_example) void onImageChangeExampleClicked() {\n        switch (resId) {\n            case R.drawable.ladybird:\n                resId = R.drawable.caterpillar;\n                break;\n            case R.drawable.caterpillar:\n                resId = 0;\n                break;\n            case 0:\n                resId = R.drawable.ladybird;\n                break;\n        }\n        imageChange.setImageResource(resId);\n    }\n\n    @OnClick(R.id.bthumb_rounded_change_example) void onRoundedChangeExampleClicked() {\n        roundedChange.setRounded(!roundedChange.isRounded());\n    }\n\n    @OnClick(R.id.bthumb_border_change_example) void onBorderChangeExampleClicked() {\n        borderChange.setBorderDisplayed(!borderChange.isBorderDisplayed());\n    }\n\n    @OnClick(R.id.bthumb_size_change_example) void onSizeChangeExampleClicked() {\n        switch (size) {\n            case XS:\n                size = DefaultBootstrapSize.SM;\n                break;\n            case SM:\n                size = DefaultBootstrapSize.MD;\n                break;\n            case MD:\n                size = DefaultBootstrapSize.LG;\n                break;\n            case LG:\n                size = DefaultBootstrapSize.XL;\n                break;\n            case XL:\n                size = DefaultBootstrapSize.XS;\n                break;\n        }\n        sizeChange.setBootstrapSize(size);\n        sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor()));\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapWellExample.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.app.Activity;\nimport android.os.Bundle;\n\npublic class BootstrapWellExample extends Activity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.example_bootstrap_well);\n    }\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/CustomBootstrapStyle.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.content.Context;\nimport android.support.annotation.ColorInt;\n\nimport com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand;\n\n/**\n * A custom Bootstrap Style. Implement {@see BootstrapBrand} in your own classes to define styles.\n */\npublic class CustomBootstrapStyle implements BootstrapBrand {\n\n    @ColorInt private final int defaultFill;\n    @ColorInt private final int defaultEdge;\n    @ColorInt private final int defaultTextColor;\n    @ColorInt private final int activeFill;\n    @ColorInt private final int activeEdge;\n    @ColorInt private final int activeTextColor;\n    @ColorInt private final int disabledFill;\n    @ColorInt private final int disabledEdge;\n    @ColorInt private final int disabledTextColor;\n\n    @SuppressWarnings(\"deprecation\") public CustomBootstrapStyle(Context context) {\n        defaultFill = context.getResources().getColor(R.color.custom_default_fill);\n        defaultEdge = context.getResources().getColor(R.color.custom_default_edge);\n        defaultTextColor = context.getResources().getColor(android.R.color.white);\n        activeFill = context.getResources().getColor(R.color.custom_active_fill);\n        activeEdge = context.getResources().getColor(R.color.custom_active_edge);\n        activeTextColor = context.getResources().getColor(android.R.color.black);\n        disabledFill = context.getResources().getColor(R.color.custom_disabled_fill);\n        disabledEdge = context.getResources().getColor(R.color.custom_disabled_edge);\n        disabledTextColor = context.getResources().getColor(R.color.bootstrap_gray);\n    }\n\n    @Override public int defaultFill(Context context) {\n        return defaultFill;\n    }\n\n    @Override public int defaultEdge(Context context) {\n        return defaultEdge;\n    }\n\n    @Override public int defaultTextColor(Context context) {\n        return defaultTextColor;\n    }\n\n    @Override public int activeFill(Context context) {\n        return activeFill;\n    }\n\n    @Override public int activeEdge(Context context) {\n        return activeEdge;\n    }\n\n    @Override public int activeTextColor(Context context) {\n        return activeTextColor;\n    }\n\n    @Override public int disabledFill(Context context) {\n        return disabledFill;\n    }\n\n    @Override public int disabledEdge(Context context) {\n        return disabledEdge;\n    }\n\n    @Override public int disabledTextColor(Context context) {\n        return disabledTextColor;\n    }\n\n    @Override public int getColor() {\n        return defaultFill;\n    }\n}\n"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/HomeActivity.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.content.Intent;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.support.v7.app.AppCompatActivity;\n\nimport butterknife.ButterKnife;\nimport butterknife.OnClick;\n\npublic class HomeActivity extends AppCompatActivity {\n\n    @Override protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        ButterKnife.bind(this);\n    }\n\n    @OnClick(R.id.github_btn) void onGithubClicked() {\n        Intent intent = new Intent(Intent.ACTION_VIEW); startActivity(intent);\n        intent.setData(Uri.parse(\"https://github.com/Bearded-Hen/Android-Bootstrap\"));\n        startActivity(intent);\n    }\n\n    @OnClick(R.id.example_bootstrap_button) void onBootstrapButtonExampleClicked() {\n        startActivity(new Intent(this, BootstrapButtonExample.class));\n    }\n\n    @OnClick(R.id.example_fontawesometext) void onFontAwesomeTextExampleClicked() {\n        startActivity(new Intent(this, AwesomeTextViewExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_label) void onBootstrapLabelExampleClicked() {\n        startActivity(new Intent(this, BootstrapLabelExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_progress) void onBootstrapProgressExampleClicked() {\n        startActivity(new Intent(this, BootstrapProgressBarExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_progress_group) void onBootstrapProgressGroupExampleClicked() {\n        startActivity(new Intent(this, BootstrapProgressBarGroupExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_btn_group) void onBootstrapButtonGroupExampleClicked() {\n        startActivity(new Intent(this, BootstrapButtonGroupExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_cricle_thumbnail) void onBootstrapCircleThumbnailExampleClicked() {\n        startActivity(new Intent(this, BootstrapCircleThumbnailExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_edit_text) void onBootstrapEditTextExampleClicked() {\n        startActivity(new Intent(this, BootstrapEditTextExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_thumbnail) void onBootstrapThumbnailExampleClicked() {\n        startActivity(new Intent(this, BootstrapThumbnailExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_well) void onBootstrapWellExampleClicked() {\n        startActivity(new Intent(this, BootstrapWellExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_dropdown) void onBootstrapDropdownExampleClicked() {\n        startActivity(new Intent(this, BootstrapDropDownExample.class));\n    }\n    @OnClick(R.id.example_bootstrap_alert) void onBootstrapAlertExampleClicked() {\n        startActivity(new Intent(this, BootstrapAlertExample.class));\n    }\n\n    @OnClick(R.id.example_bootstrap_badge) void onBootstrapBadgeExampleClicked() {\n        startActivity(new Intent(this, BootstrapBadgeExample.class));\n    }\n\n}"
  },
  {
    "path": "sample/src/main/java/com/fractalwrench/androidbootstrap/sample/SampleApplication.java",
    "content": "package com.fractalwrench.androidbootstrap.sample;\n\nimport android.app.Application;\n\nimport com.beardedhen.androidbootstrap.TypefaceProvider;\n\n/**\n * A custom application class, which performs setup of the Typefaces used as Icon Sets.\n */\npublic class SampleApplication extends Application {\n\n    @Override public void onCreate() {\n        super.onCreate();\n\n        // setup default typefaces\n        TypefaceProvider.registerDefaultIconSets();\n    }\n\n}\n"
  },
  {
    "path": "sample/src/main/res/layout/activity_base.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:id=\"@+id/scrollView\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\" />"
  },
  {
    "path": "sample/src/main/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    >\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:padding=\"16dp\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/github_btn\"\n            style=\"@style/home_button\"\n            app:bootstrapBrand=\"danger\"\n            app:bootstrapSize=\"xl\"\n            app:bootstrapText=\"{fa-github} Fork me on Github {fa-heart}\"\n            app:showOutline=\"false\"\n            />\n\n        <View\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"24dp\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_button\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapButton\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_btn_group\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapButtonGroup\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_fontawesometext\"\n            style=\"@style/home_button\"\n            android:text=\"AwesomeTextView\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_label\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapLabel\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_progress\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapProgressBar\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_progress_group\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapProgressBarGroup\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_cricle_thumbnail\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapCircleThumbnail\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_thumbnail\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapThumbnail\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_edit_text\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapEditText\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_well\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapWell\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_dropdown\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapDropdown\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_alert\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapAlert\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/example_bootstrap_badge\"\n            style=\"@style/home_button\"\n            android:text=\"BootstrapBadge\"\n            />\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "sample/src/main/res/layout/example_awesome_text_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    >\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Single icons\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"match_parent\"\n                android:gravity=\"center_vertical\"\n                android:text=\"Click me --->\"\n                />\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                android:id=\"@+id/example_fa_text_change\"\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"success\"\n                app:fontAwesomeIcon=\"fa_android\"\n                />\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                android:id=\"@+id/example_fa_text_flash\"\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"primary\"\n                app:fontAwesomeIcon=\"fa_github_alt\"\n                />\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                android:id=\"@+id/example_fa_text_rotate\"\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"danger\"\n                app:fontAwesomeIcon=\"fa_wrench\"\n                />\n\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        android:id=\"@+id/example_fa_text_multi_change\"\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"primary\"\n        app:bootstrapText=\"{fa_wikipedia_w} is in the {fa-cloud}\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        android:id=\"@+id/example_fa_text_builder\"\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"info\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Multiple icons\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            >\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapText=\"{fa_android}{fa-bluetooth}{fa_apple}\"\n                app:fontAwesomeIcon=\"fa_android\"\n                />\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapText=\"{fa_user} {fa_user_md} {fa_users} {fa_user_plus}\"\n                />\n\n            <com.beardedhen.androidbootstrap.AwesomeTextView\n                style=\"@style/wrapping_fa_text\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapText=\"{fa_heart} {fa_yc} {fa_slack} {fa_stack_overflow} {fa_wikipedia_w} {fa_heart} \"\n                />\n\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Text with icons\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        android:textSize=\"30dp\"\n        app:bootstrapBrand=\"success\"\n        app:bootstrapText=\"I {fa_heart} {fa_github}\"\n        app:fontAwesomeIcon=\"fa_android\"\n        tools:ignore=\"SpUsage\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        android:textSize=\"30dp\"\n        app:bootstrapBrand=\"primary\"\n        app:bootstrapText=\"Share on {fa_facebook} with a {fa_thumbs_o_up}\"\n        tools:ignore=\"SpUsage\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        android:textSize=\"30dp\"\n        app:bootstrapBrand=\"danger\"\n        app:bootstrapText=\"I love to ride my {fa_bicycle}, I love to read my {fa_bicycle}\"\n        tools:ignore=\"SpUsage\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        android:textSize=\"30dp\"\n        app:bootstrapBrand=\"primary\"\n        app:bootstrapText=\"Escaped \\{fa_facebook\\} icon (gravity=start)\"\n        android:gravity=\"start\"\n        tools:ignore=\"SpUsage\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Typicons\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"success\"\n        app:bootstrapText=\"{ty_weather_cloudy}\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"danger\"\n        app:typicon=\"ty_anchor\"\n        />\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Mix &amp; Match\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        android:id=\"@+id/example_mix_and_match\"\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"info\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Meterial Design Icons:\"\n        />\n\n    <com.beardedhen.androidbootstrap.AwesomeTextView\n        style=\"@style/wrapping_fa_text\"\n        app:bootstrapBrand=\"info\"\n        app:bootstrapText=\"{md_share} {md_whatshot}\"/>\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_alert.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n                xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:orientation=\"vertical\"\n    >\n\n    <com.beardedhen.androidbootstrap.BootstrapAlert\n        android:id=\"@+id/dynamic_alert\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapBrand=\"success\"\n        app:dismissible=\"true\"\n        app:messageText=\"You successfully read this important alert message.\"\n        app:strongText=\"Well done!\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapAlert\n        android:id=\"@+id/static_alert_1\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapBrand=\"info\"\n        app:dismissible=\"true\"\n        app:messageText=\"This alert needs your attention, but it's not super important.\"\n        app:strongText=\"Heads up! \"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapAlert\n        android:id=\"@+id/static_alert_2\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapBrand=\"warning\"\n        app:dismissible=\"true\"\n        app:messageText=\"Better check yourself, you're not looking too good.\"\n        app:strongText=\"Warning!\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapAlert\n        android:id=\"@+id/static_alert_3\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapBrand=\"primary\"\n        app:dismissible=\"true\"\n        app:messageText=\"This is a short alert.\"\n        app:strongText=\"Great!\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapAlert\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapBrand=\"danger\"\n        app:dismissible=\"false\"\n        app:messageText=\"Change a few things up and try submitting again.\"\n        app:strongText=\"Oh snap!\"\n        />\n\n    <Button\n        android:id=\"@+id/interactive_button\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentBottom=\"true\"\n        android:text=\"Hide/Show alert\"\n        />\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_badge.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\"\n              android:layout_margin=\"8dp\"\n              android:orientation=\"vertical\"\n    >\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"8dp\"\n        android:orientation=\"horizontal\"\n        >\n\n        <TextView\n            android:id=\"@+id/simple_text_view\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginRight=\"4dp\"\n            android:text=\"Single badge\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapBadge\n            android:id=\"@+id/lonely_badge\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            app:bootstrapSize=\"sm\"\n            app:badgeText=\"I am a Badge!!!\"\n            />\n    </LinearLayout>\n\n    <com.beardedhen.androidbootstrap.BootstrapButton\n        android:id=\"@+id/xml_badge_button\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        app:bootstrapBrand=\"primary\"\n        app:bootstrapText=\"Badge in button\"\n        app:badgeText=\"Wahey!!!\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapButton\n        android:id=\"@+id/java_badge_button\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        app:bootstrapBrand=\"success\"\n        app:bootstrapSize=\"xs\"\n        app:bootstrapText=\"Adapts to button BootstrapBrand and Size\"\n        app:roundedCorners=\"true\"\n        />\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_button.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <!-- Default Buttons Square -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Interactive\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:id=\"@+id/bbutton_example_corners\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Corners\"\n                app:bootstrapBrand=\"success\"\n                app:buttonMode=\"regular\"\n                app:showOutline=\"false\"\n                app:roundedCorners=\"true\"\n                app:bootstrapSize=\"lg\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:id=\"@+id/bbutton_example_outline\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Outline\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapSize=\"lg\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:id=\"@+id/bbutton_example_size\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Size\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapSize=\"lg\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:id=\"@+id/bbutton_example_theme\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Theme\"\n                app:bootstrapBrand=\"info\"\n                app:bootstrapSize=\"lg\"\n                />\n\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Default Buttons Square -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Default Square\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Primary\"\n                app:bootstrapBrand=\"primary\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Success\"\n                app:bootstrapBrand=\"success\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Warning\"\n                app:bootstrapBrand=\"warning\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Danger\"\n                app:bootstrapBrand=\"danger\"\n                />\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Secondary\"\n                app:bootstrapBrand=\"secondary\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Default\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Default Buttons Rounded -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Default Rounded\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Primary\"\n                app:bootstrapBrand=\"primary\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Success\"\n                app:bootstrapBrand=\"success\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Warning\"\n                app:bootstrapBrand=\"warning\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Danger\"\n                app:bootstrapBrand=\"danger\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Secondary\"\n                app:bootstrapBrand=\"secondary\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Default\"\n                app:roundedCorners=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Default Buttons Icons -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Only Icons\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:fontAwesomeIcon=\"fa_ambulance\"\n                app:bootstrapBrand=\"primary\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"success\"\n                app:typicon=\"ty_code\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:typicon=\"ty_coffee\"\n                app:bootstrapBrand=\"warning\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:bootstrapText=\"{fa_heart} {fa_github}\"\n                app:bootstrapBrand=\"danger\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:bootstrapText=\"{fa_bank} {fa_user}\"\n                app:bootstrapBrand=\"secondary\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                app:bootstrapText=\"{ty_weather_stormy} {ty_weather_sunny}\"\n                app:roundedCorners=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n    <!-- Outline -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Outline Square\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Primary\"\n                app:bootstrapBrand=\"primary\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Success\"\n                app:bootstrapBrand=\"success\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Warning\"\n                app:bootstrapBrand=\"warning\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Danger\"\n                app:bootstrapBrand=\"danger\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Secondary\"\n                app:bootstrapBrand=\"secondary\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Default\"\n                app:showOutline=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n\n    <!-- Outline -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Outline Rounded\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Primary (Disabled)\"\n                app:bootstrapBrand=\"primary\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Success\"\n                app:bootstrapBrand=\"success\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Warning\"\n                app:bootstrapBrand=\"warning\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Danger\"\n                app:bootstrapBrand=\"danger\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Secondary\"\n                app:bootstrapBrand=\"secondary\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Default\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Disabled -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Disabled\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Primary\"\n                app:bootstrapBrand=\"primary\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Success\"\n                app:bootstrapBrand=\"success\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Warning\"\n                app:bootstrapBrand=\"warning\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Danger\"\n                app:bootstrapBrand=\"danger\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Secondary\"\n                app:bootstrapBrand=\"secondary\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:enabled=\"false\"\n                android:text=\"Default\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Different sizes -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Different Sizes\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"lg\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapSize=\"lg\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Medium\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapSize=\"md\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                style=\"@style/wrapping_button\"\n                android:text=\"Small\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapSize=\"sm\"\n                />\n\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <com.beardedhen.androidbootstrap.BootstrapButton\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/micro_padding\"\n        android:gravity=\"right\"\n        android:text=\"Matching (gravity right)\"\n        app:bootstrapBrand=\"info\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/micro_padding\"\n        android:orientation=\"horizontal\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:layout_weight=\"1\"\n            android:gravity=\"center\"\n            app:bootstrapBrand=\"danger\"\n            app:bootstrapText=\"Weight 1 {fa_gift}\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:layout_weight=\"2\"\n            android:gravity=\"center\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapText=\"{fa_play} Weight 2 {fa_group}\"\n            />\n\n    </LinearLayout>\n\n    <com.beardedhen.androidbootstrap.BootstrapButton\n        android:id=\"@+id/example_bbutton_custom_style\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/micro_padding\"\n        android:gravity=\"center\"\n        android:text=\"Custom Style\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\">\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:gravity=\"center\"\n            android:text=\"Clickable Button\"\n            android:clickable=\"true\"\n            android:layout_weight=\"1\"\n            android:layout_marginRight=\"8dp\"/>\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:gravity=\"center\"\n            android:text=\"Unclickable Button\"\n            android:clickable=\"false\"\n            android:layout_weight=\"1\"/>\n\n    </LinearLayout>\n\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_button_group.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Orientation\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_orientation_change_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Modify\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_orientation_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"horizontal\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapSize=\"lg\"\n            app:roundedCorners=\"true\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Size\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_size_change_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Modify\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_size_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"horizontal\"\n            app:bootstrapBrand=\"regular\"\n            app:bootstrapSize=\"lg\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Outline\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_outline_change_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Modify\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_outline_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"horizontal\"\n            app:bootstrapBrand=\"info\"\n            app:bootstrapSize=\"lg\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Rounded\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_rounded_change_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Modify\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_rounded_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"horizontal\"\n            app:bootstrapBrand=\"primary\"\n            app:bootstrapSize=\"lg\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Brand\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_brand_change_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Modify\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_brand_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"horizontal\"\n            app:bootstrapBrand=\"danger\"\n            app:bootstrapSize=\"lg\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Child Change\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bbutton_group_child_add_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Add\"\n            />\n\n        <Button\n            android:id=\"@+id/bbutton_group_child_remove_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Remove\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n            android:id=\"@+id/bbutton_group_child_change\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/micro_padding\"\n            android:orientation=\"vertical\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapButton\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"3\"\n                />\n        </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n    </LinearLayout>\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Checkbox\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"@dimen/micro_padding\"\n        android:orientation=\"horizontal\"\n        app:bootstrapBrand=\"success\"\n        app:buttonMode=\"checkbox\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"1\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"2\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"3\"\n            />\n    </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Toggle\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"@dimen/micro_padding\"\n        android:orientation=\"horizontal\"\n        app:buttonMode=\"toggle\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"1\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"2\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"3\"\n            />\n    </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:id=\"@+id/bbutton_group_checked_text\"\n        android:text=\"Radio\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapButtonGroup\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"@dimen/micro_padding\"\n        android:orientation=\"horizontal\"\n        app:buttonMode=\"radio\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/bbutton_group_checked1\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"1\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/bbutton_group_checked2\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"2\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapButton\n            android:id=\"@+id/bbutton_group_checked3\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"3\"\n            />\n    </com.beardedhen.androidbootstrap.BootstrapButtonGroup>\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_circle_thumbnail.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_image_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/ladybird\"\n        />\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Theme\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_theme_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/small_daffodils\"\n        app:bootstrapBrand=\"success\"\n        app:hasBorder=\"true\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Border\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_border_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/flower\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Size\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_size_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/daffodil_large\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageBitmap()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_set_image_bitmap_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageDrawable()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_set_image_drawable_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        app:hasBorder=\"false\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageResource()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:id=\"@+id/bcircle_set_image_resource_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Scaled Down image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"72dp\"\n        android:layout_height=\"72dp\"\n        android:src=\"@drawable/author\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Scaled Up image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"200dp\"\n        android:layout_height=\"200dp\"\n        android:src=\"@drawable/author_small\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Test Data\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Square Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/perfect_square\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Portrait Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/portrait_image\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Landscape Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/landscape_image\"\n        />\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Alpha image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"250dp\"\n        android:layout_height=\"250dp\"\n        android:src=\"@drawable/alpha\"\n        app:bootstrapBrand=\"success\"\n        app:hasBorder=\"true\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Empty View\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"100dp\"\n        android:layout_height=\"100dp\"\n        />\n\n    <!-- Invisible -->\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        />\n\n    <!-- View Measuring test cases -->\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable/stars\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable/daffodil_large\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"150dp\"\n        android:layout_height=\"75dp\"\n        android:src=\"@drawable/small_daffodils\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapCircleThumbnail\n        android:layout_width=\"75dp\"\n        android:layout_height=\"75dp\"\n        android:src=\"@drawable/caterpillar\"\n        />\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_dropdown.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n                xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:orientation=\"vertical\"\n                android:padding=\"8dp\"\n    >\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentTop=\"true\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapExpandDirection=\"down\"\n                app:bootstrapSize=\"xs\"\n                app:bootstrapText=\"XSmall {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapExpandDirection=\"down\"\n                app:bootstrapSize=\"sm\"\n                app:bootstrapText=\"Small {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"regular\"\n                app:bootstrapExpandDirection=\"down\"\n                app:bootstrapSize=\"md\"\n                app:bootstrapText=\"Medium {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"secondary\"\n                app:bootstrapExpandDirection=\"down\"\n                app:bootstrapSize=\"lg\"\n                app:bootstrapText=\"Large {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapExpandDirection=\"down\"\n                app:bootstrapSize=\"xl\"\n                app:bootstrapText=\"XLarge {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <com.beardedhen.androidbootstrap.BootstrapDropDown\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentLeft=\"true\"\n        android:layout_centerVertical=\"true\"\n        app:bootstrapExpandDirection=\"down\"\n        app:bootstrapText=\"Left\"\n        android:gravity=\"start\"\n        app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapDropDown\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        app:bootstrapExpandDirection=\"down\"\n        app:bootstrapText=\"Center\"\n        app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapDropDown\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentRight=\"true\"\n        android:layout_centerVertical=\"true\"\n        app:bootstrapExpandDirection=\"down\"\n        app:bootstrapText=\"Right\"\n        android:gravity=\"end\"\n        app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n        app:roundedCorners=\"true\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentBottom=\"true\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapExpandDirection=\"up\"\n                app:bootstrapSize=\"xs\"\n                app:bootstrapText=\"XSmall {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapExpandDirection=\"up\"\n                app:bootstrapSize=\"sm\"\n                app:bootstrapText=\"Small {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"regular\"\n                app:bootstrapExpandDirection=\"up\"\n                app:bootstrapSize=\"md\"\n                app:bootstrapText=\"Medium {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"secondary\"\n                app:bootstrapExpandDirection=\"up\"\n                app:bootstrapSize=\"lg\"\n                app:bootstrapText=\"Large {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapDropDown\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapExpandDirection=\"up\"\n                app:bootstrapSize=\"xl\"\n                app:bootstrapText=\"XLarge {fa_thumbs_o_up}\"\n                app:dropdownResource=\"@array/bootstrap_dropdown_example_data\"\n                app:roundedCorners=\"true\"\n                app:showOutline=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n</RelativeLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_edit_text_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        android:layout_marginTop=\"4dp\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bedit_text_change_theme_btn\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:text=\"Change Theme\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapEditText\n            android:id=\"@+id/bedit_text_change_theme\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"2\"\n            app:bootstrapBrand=\"primary\"\n            />\n    </LinearLayout>\n\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        android:layout_marginTop=\"4dp\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bedit_text_change_round_btn\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:text=\"Change Rounded\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapEditText\n            android:id=\"@+id/bedit_text_change_round\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"2\"\n            app:bootstrapBrand=\"success\"\n            app:roundedCorners=\"true\"\n\n            />\n    </LinearLayout>\n\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        android:layout_marginTop=\"4dp\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bedit_text_change_enabled_btn\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            android:layout_weight=\"1\"\n            android:text=\"Change Enabled\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapEditText\n            android:id=\"@+id/bedit_text_change_enabled\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            android:layout_weight=\"2\"\n            android:hint=\"Enter Password\"\n            app:bootstrapBrand=\"danger\"\n            />\n    </LinearLayout>\n\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        android:layout_marginTop=\"4dp\"\n        android:orientation=\"horizontal\"\n        >\n\n        <Button\n            android:id=\"@+id/bedit_text_change_size_btn\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:text=\"Change Size\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapEditText\n            android:id=\"@+id/bedit_text_change_size\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"2\"\n            app:bootstrapSize=\"md\"\n            app:bootstrapBrand=\"info\"\n            />\n    </LinearLayout>\n\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_label.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Interactive (click me)\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                android:id=\"@+id/example_blabel_change_color\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Color\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapHeading=\"h3\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                android:id=\"@+id/example_blabel_change_heading\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Heading\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapHeading=\"h1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                android:id=\"@+id/example_blabel_change_rounded\"\n                style=\"@style/wrapping_button\"\n                android:text=\"Round\"\n                app:bootstrapBrand=\"primary\"\n                app:bootstrapHeading=\"h3\"\n                app:roundedCorners=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Different sizes -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Default Labels\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H1\"\n                app:bootstrapBrand=\"regular\"\n                app:bootstrapHeading=\"h1\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H2\"\n                app:bootstrapBrand=\"primary\"\n                app:bootstrapHeading=\"h2\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H3\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapHeading=\"h3\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H4\"\n                app:bootstrapBrand=\"info\"\n                app:bootstrapHeading=\"h4\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H5\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapHeading=\"h5\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"H6\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapHeading=\"h6\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n\n    <!-- Different sizes -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Only Icons\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapHeading=\"h6\"\n                app:fontAwesomeIcon=\"fa_apple\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapHeading=\"h5\"\n                app:fontAwesomeIcon=\"fa_certificate\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"info\"\n                app:bootstrapHeading=\"h4\"\n                app:typicon=\"ty_thermometer\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapHeading=\"h3\"\n                app:typicon=\"ty_flag\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"primary\"\n                app:bootstrapHeading=\"h2\"\n                app:bootstrapText=\"{ty_shopping_bag} {ty_shopping_cart}\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                app:bootstrapBrand=\"secondary\"\n                app:bootstrapHeading=\"h1\"\n                app:bootstrapText=\"{fa_play} {fa_stop}\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n    <!-- Different sizes -->\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Rounded 'Pill' Labels\"\n        />\n\n    <HorizontalScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"none\"\n        >\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            >\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head1\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapHeading=\"h1\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head2\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapHeading=\"h2\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head3\"\n                app:bootstrapBrand=\"info\"\n                app:bootstrapHeading=\"h3\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head4\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapHeading=\"h4\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head5\"\n                app:bootstrapBrand=\"primary\"\n                app:bootstrapHeading=\"h5\"\n                app:roundedCorners=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapLabel\n                style=\"@style/wrapping_button\"\n                android:text=\"Head6\"\n                app:bootstrapBrand=\"regular\"\n                app:bootstrapHeading=\"h6\"\n                app:roundedCorners=\"true\"\n                />\n        </LinearLayout>\n    </HorizontalScrollView>\n\n\n    <com.beardedhen.androidbootstrap.BootstrapLabel\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/micro_padding\"\n        android:gravity=\"end\"\n        android:text=\"Match Parent (gravity end)\"\n        app:bootstrapBrand=\"primary\"\n        />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/micro_padding\"\n        android:orientation=\"horizontal\"\n        >\n\n        <com.beardedhen.androidbootstrap.BootstrapLabel\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:layout_weight=\"1\"\n            android:gravity=\"center\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapText=\"Weight 1 {fa_gift}\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapLabel\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/micro_padding\"\n            android:layout_weight=\"2\"\n            android:gravity=\"center\"\n            app:bootstrapBrand=\"primary\"\n            app:bootstrapText=\"{fa_play} Weight 2 {fa_group}\"\n            />\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_progress_bar.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <Button\n            android:id=\"@+id/example_progress_default_btn\"\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Default\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_progress_default\"\n            style=\"@style/progress_example\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapProgress=\"25\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <Button\n            android:id=\"@+id/example_progress_animated_btn\"\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Animated\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_progress_animated\"\n            style=\"@style/progress_example\"\n            app:animated=\"true\"\n            app:bootstrapBrand=\"primary\"\n            app:bootstrapProgress=\"40\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <Button\n            android:id=\"@+id/example_progress_striped_btn\"\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Striped (200 maxProgress)\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_progress_striped\"\n            style=\"@style/progress_example\"\n            app:bootstrapBrand=\"info\"\n            app:bootstrapProgress=\"60\"\n            app:bootstrapMaxProgress=\"200\"\n            app:striped=\"true\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <Button\n            android:id=\"@+id/example_progress_striped_animated_btn\"\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Striped Animated\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_progress_striped_animated\"\n            style=\"@style/progress_example\"\n            app:animated=\"true\"\n            app:bootstrapBrand=\"warning\"\n            app:bootstrapProgress=\"78\"\n            app:striped=\"true\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <Button\n            android:id=\"@+id/example_size_change_btn\"\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Size\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_size_change\"\n            style=\"@style/progress_example\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapProgress=\"85\"\n            app:bootstrapshowPercentage=\"true\"\n            app:bootstrapSize=\"md\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <LinearLayout\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:orientation=\"vertical\"\n            >\n\n            <Button\n                android:id=\"@+id/example_progress_change_type_btn\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Type\"\n                />\n\n            <Button\n                android:id=\"@+id/example_progress_change_color_btn\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Color\"\n                />\n\n            <Button\n                android:id=\"@+id/example_progress_change_rounded_btn\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Round\"\n                />\n        </LinearLayout>\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:id=\"@+id/example_progress_change\"\n            style=\"@style/progress_example\"\n            app:bootstrapBrand=\"danger\"\n            app:bootstrapProgress=\"75\"\n            />\n    </LinearLayout>\n\n    <LinearLayout\n        style=\"@style/progress_weight_container\">\n\n        <TextView\n            style=\"@style/description_label\"\n            android:layout_width=\"0dp\"\n            android:layout_weight=\"1\"\n            android:text=\"Size\"\n            />\n\n        <FrameLayout\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            android:layout_weight=\"2.5\">\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"match_parent\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"20\"\n                app:bootstrapSize=\"md\"\n                app:striped=\"true\"\n                />\n\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"match_parent\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"50\"\n                app:bootstrapSize=\"md\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"match_parent\"\n                app:animated=\"true\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"85\"\n                app:bootstrapSize=\"md\"\n                />\n\n        </FrameLayout>\n    </LinearLayout>\n\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_progress_bar_group.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n              style=\"@style/example_container\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\"\n              android:orientation=\"vertical\">\n\n    <com.beardedhen.androidbootstrap.BootstrapProgressBarGroup\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        app:bootstrapSize=\"lg\"\n        app:bootstrapMaxProgress=\"60\"\n        app:roundedCorners=\"true\">\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapProgress=\"20\"\n            app:bootstrapSize=\"md\"\n            app:striped=\"true\"\n            />\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBar\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            app:bootstrapBrand=\"success\"\n            app:bootstrapProgress=\"20\"\n            app:bootstrapSize=\"md\"\n            />\n\n    </com.beardedhen.androidbootstrap.BootstrapProgressBarGroup>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:layout_marginTop=\"@dimen/micro_padding\">\n\n        <Button\n            android:id=\"@+id/example_progress_bar_group_add\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"add something\"/>\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBarGroup\n            android:id=\"@+id/example_progress_bar_group_add_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            app:bootstrapSize=\"md\"\n            app:bootstrapMaxProgress=\"100\">\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"20\"\n                app:bootstrapSize=\"md\"\n                app:striped=\"true\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"warning\"\n                app:bootstrapProgress=\"20\"\n                app:bootstrapSize=\"md\"\n                />\n\n        </com.beardedhen.androidbootstrap.BootstrapProgressBarGroup>\n    </LinearLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:layout_marginTop=\"@dimen/micro_padding\">\n\n        <Button\n            android:id=\"@+id/example_progress_bar_group_round\"\n\n            android:layout_gravity=\"center_vertical\"\n            android:layout_width=\"wrap_content\"\n            android:text=\"rounded\"\n            android:layout_height=\"wrap_content\"/>\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBarGroup\n            android:id=\"@+id/example_progress_bar_group_round_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            app:bootstrapSize=\"md\"\n            app:bootstrapMaxProgress=\"100\">\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"20\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapProgress=\"20\"\n                />\n\n        </com.beardedhen.androidbootstrap.BootstrapProgressBarGroup>\n\n\n    </LinearLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:layout_marginTop=\"@dimen/micro_padding\">\n\n        <Button\n            android:id=\"@+id/example_progress_bar_group_progress\"\n\n            android:layout_gravity=\"center_vertical\"\n            android:layout_width=\"wrap_content\"\n            android:text=\"change progress\"\n            android:layout_height=\"wrap_content\"/>\n\n        <com.beardedhen.androidbootstrap.BootstrapProgressBarGroup\n            android:id=\"@+id/example_progress_bar_group_progress_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            app:bootstrapSize=\"md\"\n            app:bootstrapMaxProgress=\"80\">\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:id=\"@+id/example_progress_bar_group_progress_1\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"success\"\n                app:bootstrapProgress=\"20\"\n                />\n\n            <com.beardedhen.androidbootstrap.BootstrapProgressBar\n                android:id=\"@+id/example_progress_bar_group_progress_2\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                app:bootstrapBrand=\"danger\"\n                app:bootstrapProgress=\"20\"\n                />\n\n        </com.beardedhen.androidbootstrap.BootstrapProgressBarGroup>\n\n\n    </LinearLayout>\n\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_thumbnail.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout\n    style=\"@style/example_container\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    >\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_image_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/ladybird\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Theme\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_theme_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/small_daffodils\"\n        app:bootstrapBrand=\"success\"\n        app:hasBorder=\"true\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Border\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_border_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/flower\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Rounded\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_rounded_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        app:roundedCorners=\"true\"\n        android:src=\"@drawable/stars\"\n        />\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Tap to Change Size\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_size_change_example\"\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        app:roundedCorners=\"true\"\n        android:src=\"@drawable/daffodil_large\"\n        app:bootstrapSize=\"md\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageBitmap()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_set_image_bitmap_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageDrawable()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_set_image_drawable_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        app:hasBorder=\"false\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Set using setImageResource()\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:id=\"@+id/bthumb_set_image_resource_example\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        /> <!-- FIXME -->\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Scaled Down image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"72dp\"\n        android:layout_height=\"72dp\"\n        android:src=\"@drawable/author\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Scaled Up image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"200dp\"\n        android:layout_height=\"200dp\"\n        android:src=\"@drawable/author_small\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Test Data\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Square Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/perfect_square\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Portrait Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/portrait_image\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Landscape Image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"@dimen/default_circle_size\"\n        android:layout_height=\"@dimen/default_circle_size\"\n        android:src=\"@drawable/landscape_image\"\n        />\n\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Alpha image\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"250dp\"\n        android:layout_height=\"250dp\"\n        android:src=\"@drawable/alpha\"\n        app:bootstrapBrand=\"success\"\n        app:hasBorder=\"true\"\n        />\n\n    <TextView\n        style=\"@style/description_label\"\n        android:text=\"Empty View\"\n        />\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"100dp\"\n        android:layout_height=\"100dp\"\n        />\n\n    <!-- Invisible -->\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        />\n\n    <!-- View Measuring test cases -->\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable/stars\"\n        /> <!-- FIXME -->\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable/daffodil_large\"\n        /> <!-- FIXME -->\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"150dp\"\n        android:layout_height=\"75dp\"\n        android:src=\"@drawable/small_daffodils\"\n        /> <!-- FIXME -->\n\n    <com.beardedhen.androidbootstrap.BootstrapThumbnail\n        android:layout_width=\"75dp\"\n        android:layout_height=\"75dp\"\n        android:src=\"@drawable/caterpillar\"\n        />\n\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/layout/example_bootstrap_well.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@android:color/white\"\n    android:orientation=\"vertical\">\n\n    <com.beardedhen.androidbootstrap.BootstrapWell\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapSize=\"xs\">\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:gravity=\"right\"\n            android:text=\"Look, I'm in a small well!\" />\n    </com.beardedhen.androidbootstrap.BootstrapWell>\n\n    <com.beardedhen.androidbootstrap.BootstrapWell\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"8dp\">\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:gravity=\"right\"\n            android:text=\"Look, I'm in a well!\" />\n    </com.beardedhen.androidbootstrap.BootstrapWell>\n\n    <com.beardedhen.androidbootstrap.BootstrapWell\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"8dp\"\n        app:bootstrapSize=\"xl\">\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:gravity=\"right\"\n            android:text=\"Look, I'm in a large well!\" />\n    </com.beardedhen.androidbootstrap.BootstrapWell>\n</LinearLayout>"
  },
  {
    "path": "sample/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <color name=\"custom_default_fill\">#33bbaa</color>\n    <color name=\"custom_default_edge\">#119999</color>\n    <color name=\"custom_active_fill\">#119999</color>\n    <color name=\"custom_active_edge\">#008888</color>\n    <color name=\"custom_disabled_fill\">#8833bbaa</color>\n    <color name=\"custom_disabled_edge\">#bb33bbaa</color>\n\n</resources>"
  },
  {
    "path": "sample/src/main/res/values/dimens.xml",
    "content": "<resources>\n    <dimen name=\"default_padding\">16dp</dimen>\n    <dimen name=\"micro_padding\">4dp</dimen>\n    <dimen name=\"default_circle_size\">250dp</dimen>\n</resources>\n"
  },
  {
    "path": "sample/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">Android Bootstrap</string>\n    <array name=\"bootstrap_dropdown_example_data\">\n        <item>First item</item>\n        <item>Second item</item>\n        <item>{dropdown_disabled}Disabled item</item>\n        <item>{dropdown_header}Dropdown header</item>\n        <item>Fourth item</item>\n        <item>Fifth item</item>\n        <item>{dropdown_separator}</item>\n        <item>Separated item</item>\n        <item>Item 9</item>\n        <item>Item 10</item>\n        <item>Item 11</item>\n        <item>Item 12</item>\n        <item>Item 13</item>\n        <item>Item 14</item>\n        <item>Item 15</item>\n        <item>Item 16</item>\n        <item>Item 17</item>\n        <item>Item 18</item>\n        <item>Item 19</item>\n        <item>Item 20</item>\n    </array>\n</resources>\n"
  },
  {
    "path": "sample/src/main/res/values/styles.xml",
    "content": "<resources xmlns:tools=\"http://schemas.android.com/tools\">\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\">\n        <!-- Customize your theme here. -->\n    </style>\n\n    <style name=\"example_container\">\n        <item name=\"android:layout_width\">match_parent</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:orientation\">vertical</item>\n        <item name=\"android:layout_margin\">@dimen/default_padding</item>\n        <item name=\"android:paddingBottom\">32dp</item>\n    </style>\n\n    <style name=\"description_label\">\n        <item name=\"android:layout_width\">match_parent</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:layout_marginBottom\">8dp</item>\n        <item name=\"android:layout_marginTop\">16dp</item>\n    </style>\n\n    <style name=\"example_title\">\n        <item name=\"android:layout_width\">match_parent</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:textSize\">28sp</item>\n        <item name=\"android:gravity\">center</item>\n        <item name=\"android:layout_marginBottom\">@dimen/micro_padding</item>\n    </style>\n\n    <style name=\"wrapping_button\">\n        <item name=\"android:layout_width\">wrap_content</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:layout_marginRight\">@dimen/micro_padding</item>\n    </style>\n\n    <style name=\"wrapping_fa_text\">\n        <item name=\"android:layout_width\">wrap_content</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:layout_margin\">8dp</item>\n        <item name=\"android:textSize\" tools:ignore=\"SpUsage\">50dp</item>\n    </style>\n\n    <style name=\"progress_weight_container\">\n        <item name=\"android:layout_width\">match_parent</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:orientation\">horizontal</item>\n        <item name=\"android:layout_marginTop\">@dimen/micro_padding</item>\n    </style>\n\n    <style name=\"progress_example\">\n        <item name=\"android:layout_width\">0dp</item>\n        <item name=\"android:layout_weight\">2.5</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:layout_gravity\">center_vertical</item>\n    </style>\n\n    <style name=\"home_button\">\n        <item name=\"android:layout_width\">match_parent</item>\n        <item name=\"android:layout_height\">wrap_content</item>\n        <item name=\"android:layout_margin\">8dp</item>\n        <item name=\"bootstrapBrand\">primary</item>\n        <item name=\"bootstrapSize\">lg</item>\n        <item name=\"showOutline\">true</item>\n        <item name=\"roundedCorners\">true</item>\n    </style>\n\n</resources>\n"
  },
  {
    "path": "settings.gradle",
    "content": "include ':AndroidBootstrap', ':sample'\n"
  }
]