javascript封裝滑塊

下面的標籤是一個滑塊控件

<input type="range"/>

它的樣子是這樣的:

可能沒什麼人會喜歡這麼原始的樣式,同時出於複用的考慮,於是用js封裝了一個控件 LZF.Slider.js,它可以自定義樣式, 原碼在最後貼出來。

/* 直接初始化一個Slider對象*/
/* Slider函數有三個參數,(可選)options-自定義樣式,callback-值改變時回調,(可選)delectCallback-刪除控件時回調*/

//它的默認樣式:
var defaultSetting = {
            'max': 100,  //取值範圍的最大值
            'topVernier': false,  //頂部遊標
            'leftRightVernier': false, //左右文本,標誌起始值
            'style': { 
                'top': '0px',
                'left': '0%',
                'width': '150px',
                'trackColor': '#47B1FF' //軌道顏色
            }
        };

1.實例化一個slider

var slider = var slider = new Slider(function (value) {
                                console.log(value);
                });

默認樣式

2.自定義樣式 slider

var slider = new Slider(
            {   'max':1000,
                'topVernier':true,
                'leftRightVernier':true,
                'style':{
                    'top':'100px',
                    'trackColor':'red'
                }
            },
            function (value) {

        });

自定義樣式

3.帶刪除按鈕 slider

//傳入刪除的回調參數即可
var slider = new Slider(
            {
                'topVernier':true,
                'leftRightVernier':false,
                'style':{
                    'top':'100px',
                    'trackColor':'black'
                }
            },
            function (value) {
                console.log(value);
            },
            function() {
                console.log('slider 已刪除');
            }
        );

帶刪除按鈕

LZF.Slider.js 代碼

/*LZF.Slider.js */
function Slider( /*optional*/ options, callback, /*optional*/ delectCallback) {
    this.elementID = 'sliderID';
    this._init_(options, callback, delectCallback);
}

Object.extend = function(target, /*optional*/ source, /*optional*/ deep) {
    target = target || {};
    var sType = typeof source,
        i = 1,
        options;

    //不傳source的情況
    if(sType === 'undefined' || sType === 'boolean') {
        deep = sType === 'boolean' ? source : false;
        source = target;
        target = this;
    }

    //傳source,但不是function和object的情況
    if(typeof source !== 'object' && Object.prototype.toString.call(source) !== '[object Function]') {
        source = {};
    }

    while(i <= 2) {
        options = i === 1 ? target : source;
        if(options != null) {
            for(var name in options) {
                var src = target[name],
                    copy = options[name];
                if(target === copy) continue;
                if(deep && copy && typeof copy === 'object' && !copy.nodeType)
                    target[name] = this.extend(src || (copy.length != null ? [] : {}), copy, deep);
                else if(copy !== undefined)
                    target[name] = copy;
            }
        }
        i++;
    }
    return target;
};

Slider.prototype = {
    constructor: Slider,
    _init_: function(options, callback, delectCallback) {
        var imageDataURL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAgAElEQVR4Xu2dCZgdRdX3z6k7WyABNQHZlIAjmemuvkkcVAIIEUEQQRCILAqiAgrC64YiomwioLjiCigi4AIREUVA1oBgQBmT3K7uSXCE4AISEwQSZJZ763xP8d0ohCTT93b1du/p5+HB96XqX6d+VTP/6aXOQeCLCTABJsAEmEATBLCJPtyFCTABJsAEmACwgfAmYAJMgAkwgaYIsIE0hY07MQEmwASYABsI7wEmwASYABNoigAbSFPYuBMTYAJMgAmwgfAeYAJMgAkwgaYIsIE0hY07MQEmwASYABsI7wEmwASYABNoigAbSFPYuBMTYAJMgAmwgfAeYAJMgAkwgaYIsIE0hY07MQEmwASYABsI7wEmwASYABNoigAbSFPYuBMTYAJMgAmwgfAeYAJMgAkwgaYIsIE0hY07MQEmwASYABsI7wEmwASYABNoigAbSFPYuBMTYAJMgAmwgfAeYAJMgAkwgaYIsIE0hY07MQEmwASYABsI7wEmwASYABNoigAbSFPYuBMTYAJMgAmwgfAeYAJMgAkwgaYIsIE0hY07MQEmwASYABsI74GWI+A4ThcRTe3s7Jxq/m3+QcQtiGha/X9PBYBJAPAyADA/Ax1a6ykGhBDC/P97XghFaz0OAGvq//1ZABgz/xsRn6rVaiNCiFWIuEprbf69koj+Zf7vUqm06umnn161fPnykZaDzBNiAvUfHgbBBApFwBhEqVTaDgB21FpvI4TYWmu9IyLuaP5/ADDdeEGOJvVvrfXDQojHiegxIcTDAPD8P2NjYw8tW7ZsdY5i5VCYQGQCfAcSGRU3TJvAwMBA5/j4+AwiKmutywBQRkQXAIx55Mkg4qJ5HAACIqoIIXxErDzzzDMh37nExcr9kybABpI0YdaPRKBcLm+qtX49AJh/vPo/DgB0RRJosUZEVEXEhwDAB4AliLi4q6vr94ODg0+32FR5OgUmwAZS4MUrcuiO42yFiMYsdkPE3QFgZwDoLvKcUordPPq6DxHvrdVq94VhGKQ0Lg/DBF5CgA2EN0UqBGbNmjW9VqvtW6vVdkdEYxo7pDJwiw+CiI8R0X3GVADgVqXUUItPmaeXIwJsIDlajFYKZe7cuR0rVqzYBREPIKK9hRADrTS/HM/lnwBwGyL+uqur61Z+5JXjlWqB0NhAWmAR8zIFz/PMV1H7IeLbAODNALBpXmJr0zhGieheRLyZiG4OgiBsUw487YQIsIEkBLZdZB3HebUQ4p0AMM+8z2iXeRdxnkS0HBF/pbWeH4bhvUWcA8ecLwJsIPlaj0JEI6V8FQAcUjeNXfk8USGWbd0gzd3IfAC4ht+bFHL9chE0G0guliH/QUgpX0lERxLRu4QQu7Bp5H/NGoiwYoyko6PjJ4sXL17eQD9u2uYE2EDafANMMH3hed5eRHQCABzUrmcy2miLaAC4ExEvrdVqN4Rh+HzKFr6YwIYIsIHw3ngJgf7+/q07OjqOqRuHSQ3CV/sR+DcRzS+VSt+sVCqq/abPM45CgA0kCqX2aCOklPsj4vFaa/PvjvaYNs9yAgIEAAuI6DIiuo7vSni/vJAAG0ib74fe3t7u7u7uwxHxdADoa3McPP2NE3gCAL5XrVa/uXTp0lUMiwmwgbTpHpg9e/YW4+PjHwYA88+0NsXA026OwBoi+klHR8dXlixZYvJ18dWmBNhA2mzhXdftRcRTtNbH12tftBkBnq5FAual+02IeL7v+wst6rJUQQiwgRRkoeKGWS6XX0dEZxHRAS2WCj0uGu5vgYDW+m5EPDcIgjstyLFEQQiwgRRkoZoN0/M8j4jOAYCD2+zsxjgRPWEqAxLRSkR8vkrg2qqB9f+9WgjxnGFbq9VWl0qlaq1W06VS6UUp0021QiFEBxEhIpoqhkBE3URkqhhOFUKYqocvrHa4Rf2x4CvbMMPwXUT0uSAITHJHvlqcABtIiy5wuVyeobU+GwDe1aJ3HObroL8DwCMAYA6/PUJEjwghller1eVSyr/Pnz+/lvHy4owZM8wn0TuY7MNENN38GxGnm/9NRNsjYinjGBMZHhFv0VqfGQTBHxMZgEVzQYANJBfLYC+I/v7+7YUQnwGA97fQp7jPaK3/LIQw6TcGETEYHR1d/NBDD620Ry59JVOaFwBei4gmU7FTr7Zo6qJslX40iY14OyJ+2vf9wcRGYOHMCLCBZIbe7sB9fX1TOzs7z6kf/uu0q56q2igAPIiI5hHI701510qlYu4y2uaaMWPGNl1dXTO11rsIIXYnojcAwOQCAzB3i9dorU8Lw/CvBZ4Hh74OATaQgm8JU3dj1apV76/VaucJIcyz96JdzwDAH9ZW2Vu9evW9XAv8xUs4b968UhAEfaVSaTciMoZiinIVriCX1vo5RLy4Wq1+YdmyZauLtlE53pcSYAMp8K5wXXdfRPwaAPQXaBomv5K5u7jZPCf3fd/U/OarQQLmc2whxH5E9DYimouImzQokVlzIvq7EOI03/d/ar5HyCwQHjg2ATaQ2AjTF+jv739tqVT6Qj2devoBND6iOcF8K1fJaxxclB7Tp0/vmTJlyu5a670LVv3RvGD/qFLq91HmyW3yR4ANJH9rssGIBgYGNhkdHTWf5H4EAHL9nkNrvQwRrxVCzOe7jHQ3mZTyNYh4GAAcTkSz0x294dHMYcQfVavVT3J6lIbZZd6BDSTzJYgWgOd5e2itL0PEnaL1yKTVowBwA1e8y4T9egedNWvW9Gq1alLx571i5JMmH5vv+5fmhx5HMhEBNpCJCGX8313XfQUAfAUR35vTg4D/BICr65XtHswYFw+/EQJSSvOu7HAAOBoA8pqm/zcAcKJS6m+8mPknwAaS4zVyXfdAIvquEGLbnIX538JDXV1dvxwcHBzPWXwczsYJCMdxdkXEo4no6LzlRCOi/wghzu3r6/tyDg6D8l7aCAE2kBxuD1PQyRTyAYBD8xQeIj6mtb6qVCpd0m5nM/K0DjZj8Tzv5ebxVq1WO1kI4dnUjqultV6IiMcFQWAOkPKVQwJsIDlbFNd1jwCA767NuZST8G4DgIv7+/tv5r8Ic7Ii9sNAz/PeBAAmU/M7c5RiZYSITg+C4Bv8ya/9RY+ryAYSl6Cl/jNmzJjS0dHxZUQ09cfzcJnHUr8koos4n1EeliO9GMrl8g61Wu2DRPQhIcTm6Y280ZFuL5VKxy5ZsuQfOYmHw8jpS9m2WxjHcd4ghPgxAPTmYPLmZPgVAPBlfpGZg9XIMITe3t7Nenp63kdEpyLidhmGsnZok1X5ON/3b8hBLBwCG0i2e8CkIVm5cuVnieiMrBMf1t9vXFStVn/AaSay3Rd5G92UPe7p6Xk3AHzaJH/MQXzf6+7u/sTg4OB/chBLW4fAj7AyWn7P83as1WpXCyHmZBTC88MS0QoAuHCzzTb73sKFC5+vjcEXE1gfgfofPMeYeh8mJX3GlJZqrY8Kw3BRxnG09fBsIBksv+d5+xOROTthvoDJ6noSAL45MjLy1eHhYfPYii8mEInAwMBA58jIyJEAcHbGSR1HieiUIAguixQ4N7JOgA3EOtKNCpovXT5FROdnWORpDRF9u7Oz88LFixc/le70ebRWImDqmZgX2wBgSiVvk+HcrpoyZcoH+Q46/RVgA0mJufnenoiuAoC3pzTki4YhoioiXlqtVs/knENZrEDrjlkulzet1WqnmZftWR1KRMQHTP6vSqViqlTylRIBNpAUQEspywDwCwB4TQrDvWQIRLyTiD6mlKpkMT6P2R4EyuXydlprc3f9now+0DFfaR3p+/7t7UE8+1mygSS8Bq7rHomI5hntpgkPtT75YUT8jO/78zMYm4dsUwL1z9LNwb9d0kZARDUhxBm+73+JDx4mT58NJDnG6Lru+aYedHJDbFDZvBQ/T2v9jTAMTQEnvphA2gSElPJ9AGDq1rwy7cEB4Cqt9XG8/5MlzwaSAF/z3Xx3d/fliHhUAvITSd6ktT6Ra09PhIn/exoEZs2a9bLx8fEvIuLxGTzWum9sbOzghx56aGUac23HMdhALK+6Sb+OiNcDwB6WpTcqVz/P8ckgCK5Mc1weiwlEIZBhPZvhWq22/9DQ0J+jxMltGiPABtIYr422rh8OvEkIMcOibBSp+WNjYyfxX1pRUHGbrAjMmTNn0jPPPHMWAJjUKKUU41hFRAcFQXBfimO2xVBsIJaWWUq5q6nGBwDTLElOKENEjyDih5RSt07YmBswgZwQkFLuDADfB4CZaYVUrzFyFOfRskucDcQCTynlIQBgkiH2WJCLJIGIPxobGzuF81ZFwsWNckagfgjx8+bsSFqHautfaH3U9/1v5QxHYcNhA4m5dJ7nHaW1/lFayRC11k+XSqUP+75vDIsvJlBoAq7rvhkArkwz2y8RfTEIgiy+jiz0Wq0veDaQGEvqed4JpuRsWn9BmQptpVLpPb7vPxwjbO7KBHJFYGBgYPORkZHvpPnVIpuInS3ABtIkR9d1P4yIpuxs4gzraUi+0N/f/3muCNjkgnG33BNwXfcYRPw2AExOKdjvKqVOBgCd0ngtN0ziv/xajhgAeJ73OSI6N6W5/ZWIDuOqgCnR5mEyJdDf3//aUqn0cwAw6X/SuC7v7+8/gf8waw41G0iD3FzXPRcRP9dgt6aaa63vFkIcrpR6oikB7sQECkhg+vTpPZMnT/4OAJiT7Glc13R3dx89ODhoyjjz1QABNpAGYEkpvw4AH2mgS7NNiYi+5DjOGfyXUbMIuV/RCUgpzc/aRQDQmcJcru/u7j6cTaQx0mwgEXlJKU2W0dMjNo/TbDURvT8IAnMbzxcTaGsCjuPsLoS4FgC2ThoEIv68r6/vCP6jLTppNpAIrKSUZ5jkhBGaxm2yFBHf6fv+0rhC3J8JtAqBGTNmbNPZ2WlMZLcU5vQDpZTJ20UpjFX4IdhAJlhCKeUpAHBx0itNRHd0dnYexlUCkybN+kUkYA4eCiHM6fWjk46fiL4VBIH5uedrAgJsIBsB5HnesUR0edKf6hLRFT09PSfw81f+eWUCGyWAUkqTS+vMpH8mTRp6pdRneT02ToANZAN8XNc9DAB+lnDSN3ObfK5S6hy+ZeYfVSYQjUD9D7tLAKArWo+mW31GKXVB073boCMbyHoW2XXdA00J2oTTk4wCwHFKqavbYJ/xFJmAVQKe5+1dq9V+LoTY3KrwS8VOUkqZbBN8rYcAG8g6UOqZQhckXIL23/WX5XfzrmQCTKA5AuVyWWqtfwMAr25OYeJeJgEjIh6slLpx4tbt14IN5AVrXi6Xt6tWq/cLIbZNaivUCz+9NQiCJUmNwbpMoF0I9Pf3b93R0XEbEblJzdmkgieivcIwfCCpMYqqywZSX7ne3t7Nurq67hVCeAku5uNa633CMAwSHIOlmUBbEZBSmprrv024vsjjtVptztDQ0KNtBXeCybKBAMDAwEDn6OjoTQCwd4Kbw2y8tyil/pLgGCzNBNqSgOd5Lyci8zO8S4IAwo6Ojt34U/v/EWYDAUDXdS9HxGOT2nha62UdHR17VyqVvyc1BusygXYn4DjO5FKpdIN53JQgiwVa633DMBxLcIzCSLe9gXiedyYRmc9ok7qWCCHeWqlUViQ1AOsyASbw/wkMDAxsMjo6+ksA2CdBJpcrpT6QoH5hpNvaQFzXfQcims2WCAetta+1fvPSpUtXFWZHcKBMoOAE6tl8f53kI2lEPIVL4yb0i7MI+8/UHUDEPyb4HflwrVbbY2ho6PEi8OAYmUArEajfidwMAHskNK9xRNzb9/17EtIvhGwif3nnfebmWakQYiEAyIRi/VtHR8ceixcvXp6QPssyASYwAQHzZWVPT8/tAPD6hGA9USqVBpYsWfKPhPRzL9uuBnKNEOJdCa3OE0KIPSuVyrKE9FmWCTCBiARmzZr1slqtdicRzY7YpaFmWmvzh+jcdn2p3nYGIqX8BAB8uaFdErGx1vpfiDg3CIIwYhduxgSYQMIEyuXylqa6JwD0JTTUxUqpNArNJRR+87JtZSBSyrlEdFtCOa6e0VrvGYbh4uaXg3syASaQBAEp5auI6PeIuF0S+oj4Ht/3f5yEdp4128ZAHMfZSghhfrmbU6u2L1NL+QCl1K22hVmPCTABOwSklGUA+B0AbGZH8X8qJt2JedfSbk8f2sVATB0B81nf221vnLoeZ+xMCCzLMgGbBFzXfTMi3pJQKni1Zs2a1y9fvnzEZsx51moLA5FSmueTX09oIbjwTEJgWZYJJEFASmkOAZrqhklcX1FKnZqEcB41W95AXNd1iOhBIcQk2wugtb42DMMjuBiUbbKsxwSSJSClPB8ATk9gFELEt/u+b86gtPzV0gbS29vb3dPTY1Iwz7S9kkT0u9HR0X2Gh4dNYSi+mAATKBYBdBznSiHEexII+wnzO0cpZf7d0ldLG4jneV8joo/aXkEiWl6r1XbmFCW2ybIeE0iPQD3lifm89w0JjPpLpdQ7E9DNlWTLGoiU0iRTMzUCbM9xBBF3931/MFcrycEwASbQMAHzea/WelAIsUXDnSfogIgf9H3/Utu6edKz/cs1F3Ornz4NiGgb2wER0bFBEPzIti7rMQEmkA0B13VN+vdbEbFkOYJnEbHs+/7DlnVzI9eSBuJ53qVEdLxtyoj4bd/3T7aty3pMgAlkS0BK+UkA+JLtKBDxTt/3TaE6sq2dB72WMxDP8/YkorsSeHR1f/2kOReSycPO5RiYgF0C5qX6z5LIkdfKTy1aykDqX12Z0+a2c960fdZNuz+rrMYE8kegXtHwfiJyLUf3JAA4rfhVVksZiOu6FyDipy0vviaifYIguNOyLssxASaQMwKO4xjzMHWCbJ8b+5lS6sicTTd2OC1jIK7rzjQFogCgMzaVFwgg4pd83z/NpiZrMQEmkF8CnuedTETftB0hER0UBMGvbOtmqdcSBjJ37tyOFStW3C+EGLAJExEX1Wq1Xdo1179NlqzFBApEwOTOuwEADrQZMyI+1tXV5QwODj5tUzdLrZYwENd1P4aIX7UJ0mTXRMSdlVJDNnVZiwkwgfwTqNcQqdjO3o2IX/d9/2P5JxAtwsIbyOzZs7cYGxt7CBFfFm3KkVudqJT6XuTW3JAJMIGWIuC67r6IaHJaWfs9SURVIpoVhmHQCrCsgckKhuu6lyDiCTbHJ6KbgyAwqd9b8tttm6xYiwm0MgEp5cUAcIrlOd6ulDKZMgp/FdpATIEYIvqT5ROkK4UQbqVSWVH41eUJMAEmEIuAyZe1ySabLBZCzIgltE7nesbem2xqZqFVdAMxFQBtO/nRSqmrs1gMHpMJMIH8EfA8bw8iWmDzURYADI+MjMiiZ/MurIG4rnsoIv7c5nYzlcp833+bTU3WYgJMoPgEpJTmfegHbc6EiD4eBMHXbGqmrVVIA3Ecp0sIYV5C9doCZr66EkJ4rZz4zBYr1mEC7Uagt7d3s+7u7gARt7M492e01jPCMPynRc1UpQppIK7rfgoRv2iZ1EeVUt+wrMlyTIAJtAgBz/MOJqLrLU/nu0qpkyxrpiZXOAMZGBjYfHR01KRHfoVFSn/o7+/fdf78+TWLmizFBJhAixHwPG8+ER1mcVrjiNhX1CcfhTMQKeXZAHCWzQUUQryuUqkoi5osxQSYQAsScBxnKwBYKoTY3Nb0EPFHvu8fa0svTZ1CGYgpFDU+Pv6IzUODrXYyNM3Nw2MxgXYk4Hnex4noK7bmTkQ1IYT0fX+pLc20dAplIAlk232yWq3uxLXN09puPA4TKD6BgYGBzueee863eTYEEX/q+/5RRaNTGAPZaaedpnV1dZl3H1MsQj5JKfVdi3osxQSYQBsQkFIeAAC/tjhVDQCzlVIm/1ZhrsIYiOu6X0HEj1skG06bNm3mggULqhY1WYoJMIE2IeB53s1EtJ/F6V6nlLL5gt5iaOuXKoSB9Pf3by2EGEbETSwS2VcpZU6y88UEmAATaJiAlLIfAJZYrEFERPTGIAhMXaNCXIUwENd1v4qI1lIgE9ENQRAcXIgV4iCZABPILQEppTk79n8WA7xeKXWIRb1EpXJvIPVzH3+z9e7DpFPu6OhwlyxZ8lCiZFmcCTCBlifQ19c3taOjw7yb3czSZHWtVusbGhr6syW9RGVybyCe551GRBdapPBDpdT7LeqxFBNgAm1MIIGzaYU5nZ5rAzGfy42Ojv4FAF5laX8W+tSnJQYswwSYgEUCtrNjaK2f6+7u3n7RokX/shhmIlK5NhDXdY8xpzQtzvwSpdSHLOqxFBNgAkwApJSfAYAvWERxtlLqHIt6iUjl2kCklIsAYJalmY8CwGuVUuZ9Cl9MgAkwAWsEyuXyprVa7WFE3NKGqNb6X5tvvvn2CxcufM6GXlIauTUQKeVbAeC3Fid+sVLqIxb1WIoJMAEm8F8CUspPAMCXbSFBxA/5vn+JLb0kdPJsILcAwL42Jm1qfWite4eGhh63odeuGrNnz95iZGSkQ0q5gjMXt8wuQCnlllprDMPQlHE2J6L5aoLAnDlzJq1evdq8s926ie4v6aK1XhaGoZPnNcmlgXietyMRDdsqIUlE3wqC4BQbi9pOGvPmzSstXbr0CK31uxHxzQDQY+Zvkr8h4gOIeB0iXlKpVJ5tJy5Fn6spyFYqlUz218OJ6E0vOAg3DgD3AsD8kZGRy4tebjWLdZJSfhIAvmRrbETcx/f9223p2dbJpYG4rnshIp5mY7Lmlx0A9AVBYAyJr4gEPM/zAOCnRORO0OUJIjohCIJfRZTmZhkScF13NwC4ChF3mCCMRxHxGN/378kw3MINbSoXdnV1/dVWunet9bVhGB6eVxC5M5C5c+d2rFy58q+2bgMBoHD5ZbLeLOVy+S1a618CwOSIsZjHHqcppaw9/404LjdrgIDneUcR0eUA0B2xm/ns/Vjf938SsT03AzBfZJmfA/M+xMY1JoR4VaVSMY8Xc3flzkBc1z0UEX9uixQi7ur7/kJbeq2uM3PmzJ1qtdr9APDyJuZ6hlLq/Cb6cZeECUgpjyaiHyJiqcGhRs3jS/4Zik6tXC5vp7U2p9M7o/faaMtTlVLW6o9Yiul5mdwZiJTS2stzALhPKbW7TWCtriWlvA0A9m52noh4pu/7n2+2P/ezT8B13SPqj606mlFHxKCvr28mfzgRnZ6U8moAeHf0HhtuWX+ZbhI3kg09mxq5MhDHcV6NiOZb6kb/StoQk0OUUtfbBNbKWlLKXY3pWpgj34lYgGhDIsadx7rDH66UutZGTO2gIaUsA8BiW3+kCyH2qFQqv8sbu1wZiOd5nyeiz1qC9Jf+/v4Z/FdTdJo2a67wnUh07km1jHvnsU5c1yilzJ0MXxEJeJ53BxHtFbH5Rptpra8Ow/BoG1o2NXJjIOaT0SAIHhVCbGtpgp/kl7qNkZRSmk84zVc6ti6+E7FFskEdi3cea0f+q1Jq+wbDaOvmUkqTlv06GxBMfqxSqbSt7/v/tqFnSyM3BuJ53t5EZJ6/27hy/eWCjQkmoSGlNIegdrSszSZiGehEcgmYhxlyTCllzgHl7jn8RDyy+u8JfFF6nFLqB1nNZ33j5sZApJSXAcBxNuDk/dtpG3NMQkNKOWTOzNjW5sdZtoluWM/yY6sXDrRGKTUlvZm0xkie532RiD5laTa3KaVMiqfcXLkwEOPUK1aseEwIsYUNMnk/vWljjkloSClNid99ktAGAL4TSQjsWlmTvRoALrf4EcoLIx5SSpm0Gnw1QEBK+RoAMMWhYv+uNYeiS6XSNnk6ExJ7Ug2w3GBT13X3Q8SbbWgR0SNBEPTmOX+MjXkmoZFA8a4Xhcl3Ikms2v/XTPDOY23Q31RK2SzdmhyMnClLKe8EAJMKKPaVtwSLeTEQc8DJ5OaxcX1GKXWBDaF20yiXyzuYb84tHoBaH0K+E7G8sRK+83g+WiHEnEqlYg6Y8tUgAdd1j0REW6f571JKWfmyq8FprLd55gZiErsJIUyW3FfEnZCpd16tVrdftmzZY3G12rW/lPLbAHBSwvNnE7EEOA3zQMRf+b5/kKWQ207G/I4DgL9bekSvx8fHX5WX33GZG4jrugeaDWppV92klHq7Ja22lHEcZ7IQwhwmNAehErv4cVZ8tCk8tgJEfGxsbOz1efmFFZ9aNgpSyu8AwIk2RkfEU3zf/5YNrbgamRuIlPJKALByQAYR3+f7/hVxobR7/3pGgLsRcXrCLPhOpEnAadx5AMCTWuu3hGFoTlTzFYOAlHIuANwVQ+K/XYnod0EQ7GFDK65GpgZiDg8ODQ09AQBT407EfKeOiFvl7aCNhXllImFMRAhhNrztcyEvmg/fiTS+vGnceRDRU+ZrRqXUg41HyD3WQ0B4nvc3ItrGAh3d2dm51aJFi/5lQSuWRKYGYjH3krnV5ue0sbbCSzuziVgGakGOzcMCxIwkpJQXA4CVwnZEdFQQBD/NaCr/HTZTA7GZ+woR3+P7/o+zBtpq47OJ5GdF6+ZxdULnPJ6fKN95JLfeppgXIpp0QTauq5RS5txPplemBuI4zoNCiAELBEZGRkZeOTw8/IwFLZZYhwCbSPZbgs0j+zWwEIGpP/8IAMTOKaa1/lcYhltlfd4tMwOZPXv2FuPj4/80n5hbWJhfKKUOtaDDEhsgwCaS3dZg88iOve2RLWe83tn3/UHbMTail5mBmIRvAGC+wIp98eOr2AgjCbCJRMJktRGbh1WcmYvZfIyVhw9QMjMQz/N+QkRHWlhRLYTYOk/5YSzMKbcSbCLpLQ2bR3qs0xqp/uWpqW8e++A0APxeKWWz/ELDGDIxEJuf7yLiA77v79LwzLlD0wTYRJpGF7kjm0dkVIVr6DjONUKId8UN3CRXBIAtgyB4Mq5Ws/0zMRAp5c4A8Mdmg16n3zlKqbMtabFMRAJsIhFBNdGMzaMJaAXq4nnesUT0Q0shH6qU+oUlrYZlMjEQ13U/isKwT2wAACAASURBVIhfazja9XTQWu8ShuEDNrRYozECbCKN8YrSms0jCqVit3EcZyshhMnXF/v3LxF9LQiCj2dFJPYEmgnc87z5RHRYM33X6bOyv79/K657boFkkxJsIk2CW083Ng97LPOuJKVcBACzLMT5B6XUGy3oNCWRiYE4jmMyU8aufU5EPwmC4N1NzZw7WSPAJhIfJZtHfIZFUpBSng8Ap1uIeby7u/tlg4OD/7Gg1bBE6gYya9as6dVq1RymsXEdo5S6yoYQa8QjwCbSPD82j+bZFbWn53l7ENHdNuInor2CILCSqLHReFI3ECnlewDAyi99rfX2YRj+tdFJc/tkCLCJNM6VzaNxZq3Qo7e3t7unp+cpAOiJOx8i+lwQBOfF1WmmfxYG8l0A+FAzwb6wj9b6H2EYbhdXh/vbJcAmEp0nm0d0Vq3YUkpp8mLFPseBiLf4vv+2LBilbiCO41SEEJ6FyV6jlDrCgg5LWCbAJjIxUDaPiRm1egvXdS9ExNMszPOZ/v7+V2TxMVGqBtLb27tZT0/Pvy3lv/qIUsqkR+YrhwTYRDa8KGweOdywGYTkuu47EPEGS0PPVEpVLGlFlknVQMrl8pu01vdEjm4jDU0W30ql8icbWqyRDAE2kZdyZfNIZq8VUbWvr29qR0eHKQoV+/cwEb03CAIruQUbYRk78EYGc133w4hoo5bvs9OmTXvZggULqo2Mz23TJ8Am8j/mbB7p77+8jyilDAGg30KcX1ZKfdKCTkMSaRvIJYh4QkMRrqcxEd0RBMHecXW4fzoE2EQA2DzS2WtFG0VKeRkAHGch7luVUvta0GlIIlUDcRzn90KIOQ1FuP7GFyilPmNBhyVSItDOJsLmkdImK+Awruseh4jGROJe/1RKbR1XpNH+aRqIqcb1NABMaTTI9bQ/Qil1jQUdlkiRQDuaCJtHihusgEM5jvMGIYSVXH5CiFemXdYiNQNxXbcXEf9saY0dpdSQJS2WSZFAO5kIm0eKG6ugQ82ZM2fSM888s9pGnXshxN6VSuWONFGkZiBSykMA4DoLkxuZNm3aFH6BboFkRhLtYCJsHhltrgIO67ruMkTcKW7oRPTxIAisZDmPGkuaBmJqdpwVNbANtdNaD4ZhaOqJ8FVgAq1sImweBd6YGYQupfw5ABxqYegfKqXeb0EnskSaBvIzADg8cmQbaEhEVwRB8L64Otw/ewKtaCJsHtnvq6JF4HnemUR0Tty4s6jOmqaB/AEAXh8XUha3aXFj5v4bJtBKJsLmwTu9GQJSyncCQOyqgkS0IgiCVzYTQ7N9UjMQ13WfQMQtmw10bT9E3Mf3/dvj6nD//BBoBRNh88jPfipaJFLK1wDAsI24hRCTK5XKsza0omikYiDlcnlTrfWaKAFFaPNqpdTfIrTjJgUiUGQTYfMo0EbLZ6hCSmkKQnXHDU9rLcMwDOLqRO2floFIrbUfNaiNtBvv7++flEXWSQuxs8QEBIpoImwevK1tEJBSmiMOvRa0DlBK/caCTiSJVAxESnkAAPw6UkQbbzSslHqtBR2WyCmBFE3kLN/3z42Dgc0jDj3u+0ICUsrbACB2eiZEPMX3fRv5BiMtUFoGcgoA2Ei9fptS6q2RZsaNCkugCCbC5lHY7ZXLwD3Pu5SIjo8bHBF9NQiCT8TVido/FQNxXfcriPjxqEFtqJ3JGeP7fuxkjHHj4P7JE8izibB5JL/+7TaClNLk9vuChXn/Qill40xJpFBSMRAppTmBbk6ix73OUEqdH1eE+xeDQB5NhM2jGHunaFG6rnskIv4kbtyIuMj3/dfF1YnaPy0DWQgAu0QNakPtiOioIAh+GleH+xeHQJ5MhM2jOPumaJGWy+VdtNbm92Tc6wml1FZxRaL2T8VAbOV6MQXolVK/jzo5btcaBPJgImwerbGX8joLx3G2EkI8biG+caWU+RyYLGhNKJGKgUgpnwSAl08YzQQNhBA7ViqVR+LqcP/iEcjSRNg8irdfChixcF13zEZW3o6OjpcvXrz4qTQYJG4g8+bNKw0NDY0BgIg7ofHx8c2WLVu2Oq4O9y8mgSxMhM2jmHuliFFLKVcCwFQLsfcqpf5iQWdCicQNpFwub6m1fmLCSCZuMKaU6knr1mzicLhFFgTSNBGt9UMAcLWNvwo3xIqInjLpeZRSD2bBk8fMDwHHcZYKIWbEjUhrvUsYhlaKVE0US+IGIqU0BeNN4fhYFyI+5vv+trFEuHNLEEjLRIhII2LsO2c2j5bYdolPQkp5r3nPG3cgRHy77/s3xdWJ0j9xAymXy2/SWt8TJZiNtTGpUMIwLMfV4f6tQSAtE0mKFt95JEW2uLqe591ARO+IOwMiem8QBFfG1YnSP3ED8TzvYCK6PkowE7S5Sym1lwUdlmgRAkU1ETaPFtmAlqchpfwBAMQuCJVmyYvEDURKaYAYMHGv65RSh8UV4f6tRaBoJsLm0Vr7z+ZspJRfAoBPWtD8glLqsxZ0JpRIw0Cs5MEiokuDIPjghDPiBm1HoG4idwKAqauQ5+vfAPBWfmGe5yXKLjbP804jogvjRoCIX/d9/2NxdaL0T8NATgWAi6IEs7E2RPS1IAhi59OKGwf3zycBKeWrAOCuHJsIm0c+t05uopJSWvljGwC+o5T6cBoTS8NArCQJI6IvBkHw6TSg8BjFJJBjE2HzKOaWSjVqz/M+SETfszDo95VSsTP7RokjDQM5GwDOihLMBHcg5wZBEFsnbhzcP98EcmgibB753jK5ic7zvGOJ6IcWArpKKXWMBZ0JJdIwEJM99/QJI5mgARF9LgiC8+LqcP/WJ5AjE2HzaP3tZm2GtjLyaq2vDcPwcGuBbUQocQOxVQsEAD6llIr9LiUNqDxG9gRyYCJsHtlvg0JF4LruoYj4cwtB/1Ip9U4LOhNKpGEg30TEkyeMZOIGH1VKfWPiZtyCCfx/AhmaCJsHb8KGCdgq/U1ENwdBsH/DATTRIQ0DuQQRbVQRPEkp9d0m5shd2phABibC5tHG+y3O1KWUplz3b+NomL5EdEcQBLHrq0eJIw0D+SEiHhslmAnaHKeUsnEg0UIoLFEkAnUT+SMAvDLJuLXWzwkh9uBzHklSbl1tz/P2JKIFFmZ4r1LqTRZ0JpRI3EAsHs8/IQiCyyacETdgAusQSCMl+9ohEfEs3/fP5UVgAo0ScF13L0S8o9F+67bXWt8dhuHcuDpR+qdhIOax04eiBLOxNkR0chAE346rw/3bi0Ca5sEm0l57y/ZsXdfdDxFvtqB7m1LKPA5L/ErDQL4OAB+JO5M0E4TFjZX754NAFubBJpKPtS9iFJ7nHUREv7QQ+41KqQMt6EwokYaBWEkQhoin+74fO0/MhES4QUsQyNI82ERaYgulPgkp5bsA4BoLA6eWeDYNAzGH/86IC4WfLccl2D7982AebCLts99szVRK+R4AuCquHiL+1Pf9o+LqROmfuIF4nncmEZ0TJZgJ2qSWothCrCyREYF6OgjztV5ilQQbnRr/8dMosfZsL6X8AAB8P+7sieiKIAjeF1cnSv80DOTTRHRBlGAmaHORUupTFnRYokUJ5NE8+E6kRTdbAtOSUp5oMunGlU6z9EXiBuK67scQ8atxoQDAxUqp2C/jLcTBEjkkkGfzYBPJ4YbJYUhSSvP7zXx0FOsiom8FQWBSwyd+pWEgJyFi7M9vEfFHvu/bOJCYOFQeIF0CRTAPNpF090QRR7P4uP8rSilThynxK3ED8TzvKCL6sYWZ/EYpdYAFHZZoIQJFMg82kRbaeAlMxXVdW3kDP6uU+kICIb5EMnEDcV13X0S8xcJk7ldKzbGgwxItQqCI5sEm0iKbL4FpeJ73EyI60oL0iUopG4WpJgwlcQPxPG+AiB6cMJKJGwwrpV47cTNu0Q4EimwebCLtsEMbn6OU8lYA2Kfxni/uQUTzgiCwkRZ+wlASN5BZs2ZNr1arj0wYyQQNiOipIAheHleH+xefQBrmobV+GhFXI+J2SRLjT3yTpFssbc/z/kREs+NGTUR7BUFwV1ydKP0TNxDHcSYLIVZHCWYiD+nu7u4eHBwct6DFEgUlkIZ5AMDzKdkB4AkAMD+Ir0kSF5tIknSLoy2lfBQAXh03YkQs+77vx9WJ0j9xAzFBSCmfA4CeKAFN0GYrpZT5oearDQmkaR5rU7KnVU+ETaQNN/Q6U3Zd91lE3CQuifHx8W2XLVv2WFydKP1TMRDP8/5BRNtECWhjbYjIDYIgjKvD/YtHIAvzWEuJTaR4+6VoEc+ZM2fS6tWr/2Mj7jVr1kxavnz5iA2tiTRSMRAp5RIAKE8UTIT/vq9Syrxo4quNCGRpHmwibbTRMpxqf3//a0ul0kMWQlitlNrMgk4kiVQMxPO8O8yLnUgRbaQRIn7I9/1L4upw/+IQyIN5sIkUZ78UNVKL5WyXB0GwQ1ocUjEQ13WtlLUloguDIDg9LTg8TrYE8mQebCLZ7oVWH93zvA8SUeyzG2lWIzRrkoqBSCnPAoCzLWyCa5RSR1jQYYmcE8ijebCJ5HzTFDg813UvQMRPx51Cmpl4UzMQ13Xfi4hXxIWDiA/4vr9LXB3un28CeTYPNpF8752iRiel/BkAHG4h/rOVUjbKZ0QKJZU7EM/z9iCiuyNFtJFGRLQiCIJXxtXh/vklkJZ5IOI+vu8PxiHBX2fFocd9X0hASvkAALwhLhUiem8QBFfG1YnaPxUDcRzn1UIIc0gm9iWEmFypVJ6NLcQCuSNQJPPgO5HcbZ9CB+S67hOIuGXcSQgh9qhUKr+LqxO1fyoGMm/evNLQ0JD5xrkramAbaieE8CqVioqrw/3zRaCI5sEmkq89VNRo6tk6nrH0TvrVSqm/pcUiFQMxk5FSDltKCXGEUspG4fm0GPM4ExAosnmwifD2jkvAcZw3CiHuj6sDAOP9/f2T5s+fX7OgFUkiNQNxXfd2RHxLpKg23ohro1uAmBeJVjAPNpG87KZixuG67vGIeKmF6FPPWJ6agUgpzTfOH7QA6Ual1IEWdFgiYwKtZB5sIhlvpgIPL6X8BgD8n4Up/FYptZ8FncgSqRmI67ofRsRvRY5sww0fVUpNt6DDEhkSaEXzYBPJcEMVeGjHcRYIIfa0MIWLlFKfsqATWSI1AymXy2/SWt8TObINN6SOjo5XLF68+CkLWiyRAYFWNg82kQw2VMGHlFKuBICpFqZxjFLqKgs6kSVSM5CBgYHNR0dHTZ2F2GOm/alaZJrccEIC7WAebCITbgNuUCdQLpe301pb+WqKiGYFQWAS16Z2xf5l3kikUsrlALB9I33W15aITg6C4Ntxdbh/ugTayTzYRNLdW0UdzfO8/YnoN3HjJ6Lq6Ojo5OHh4dG4Wo30T9tAfgUANl6Af18pdXwjE+W22RJoR/NgE8l2zxVhdCnlZwDgCxZiVUopz4JOQxJpG8h5AHBGQxGuv/GQUsqxoMMSKRBoZ/NgE0lhgxV4CCmlufvYP+4UiOgnQRC8O65Oo/3TNhCTLMwkDYt70djY2JYPPfSQefnEV44JsHn8b3E4d1aON2o2oWH9Bfor4g6PiKf7vn9hXJ1G+6dtIP0AYKsk7YFKqRsbnTC3T48Am8dLWbOJpLf/8j6S4ziuEMJWWqYDlFKx36U0yixVAwEA4TjOk0KIzRsNdN32XFwqLsFk+7N5bJgvm0iye68o6lLKDwHAdy3ES0KIrSqVygoLWg1JpG0gJifWLQCwb0NRrqcxEf0uCII94upwf/sE2DwmZsomMjGjVm/hOM5VQoj3xJ2n1npZGIZ9cXWa6Z+6gXie9zkiOreZYNfpM6K13jwMwzELWixhiYDnee8jou+bu01LkuuT+beNeh4JxhdJOi0TMdVA0ywyFGny3Ahc130YEW3UL79cKfWBLJCmbiCu6+6FiHfYmKwQYk6lUrGRxdJGOG2vwebR+BZgE2mcWSv06O/v37pUKj1maS7HKaV+YEmrIZnUDaRcLm9aq9WeQsSOhiJdf+PPKqVsfENtIZT2lmDzaH792USaZ1fUnlLKowHASuXAUqk0Y8mSJQ9lwSJ1AzGTdBznQSHEgIUJ36eU2t2CDkvEIMDmEQNevSubSHyGRVJwXffHiHiUhZhXKqVMJUOyoNWwRCYGIqX8OgB8pOFo1+lARKZwypZBEDwZV4v7N0eAzaM5buvrxSZij2XOlYTruo/bKGELAL9USr0zq/lmYiCe580jomstTfpwpZQtLUshtYcMm4f9dWYTsc80b4oWKxCaqX1SKfXlrOaYiYHUXyD9w0ZmXiK6IgiC92UFsF3HZfNIbuXZRJJjmwdlKeVZ5ss4G7ForXcJw/ABG1rNaGRiICZQKeViAJjZTNDr9PmnUmqbrJ4BWoi/cBJsHskvGZtI8oyzGsHzvPuJ6I0Wxn+yv79/yzRroK8bc2YG4rruBYj4aQsQQWv9ujAMF9nQYo2NE2DzSG+HsImkxzqtkVzXNXmvViBiKe6YiPhT3/dtvIhvOpTMDMTzvD2I6O6mI39BR0Q80/f9z9vQYo0NE2DzSH93sImkzzzJEaWU5uS5laqBRPTeIAisfArc7JwzM5C5c+d2rFixYqWNvFgAkEku/GahF7Efm0d2q8Ymkh172yNLKX8NAAdY0NUAsI1S6gkLWk1LZGYgJmIp5XUAcEjT0b+go9ZahmEY2NBijRcTYPPIfkewiWS/BnEjmDVr1suq1eo/AaA7rhYAPKiUer0FnVgSmRqI67rHIeJlsWbwv87nKKWsfNlgKZ6WkGHzyM8ysonkZy2aiaT+s3R5M33X7YOI5/m+/zkbWnE0MjWQekH5v9r4nDfLjJRxFiDPfdk88rc6bCL5W5OoEdnKRF4fbzel1O+jjp1Uu0wNpP4YawkAlC1NcKZSqmJJq61l2Dzyu/xsIvldmw1F1tfXN7Wjo+NxAOi0EH3mn++unUPmBmIxvbuZ0/lKKRs11y2scXElXNc9AhF/nHBK9pVEtHcQBOYPCL4aJOA4zquFEHcBwI4Ndm20+aeUUhc12onbv5iA53knENEllrj8QCl1nCWtWDKZG0i5XJ6htV4aaxb/6zyslNqJDxU2T1NKubPW+h4hxKTmVSbsyeYxIaKJG6RkIhoRD/R9/6aJI+IWGyLguu7tiPgWG4SIaL8gCH5rQyuuRuYGYiZg8VQ6IOJc3/etnC+JC7eI/aWUCwFglwRjb4liUAnyaUg6pcdZj46MjMwYHh4ebSg4bvw8gXK5vIPWetjSHf3KadOmbb1gwYJqHvDmxUBON4+fLAH5sVIqdplIS7EUSkZKuQ8A3Jpg0HznkQDcNO5EEPH9vu//MIHwW15SSnkeANh6tH6JUsrUUs/FlQsD8TxvRyIyDm0jnhEi2pZTvDe+v6SU3waAkxrvGakH33lEwtRco6TvRIjohiAIDm4uuvbtVT8wvVwIsa0NCkS0VxAE5t1XLi4bv7CtTERK+UcA2NmKGMBHlFIXW9JqGxmLSd7WZcZ3HinsoiTvRLTW/wjDcLsUptFSQ7iu+w5EvMHSpJ7o7+/fNsvkievOI08G8kkA+JIl0JzapAmQrus+jIg7NNF1Y13YPCwD3ZhcUiZCRNUgCLr4A5XGFtNi6hLzfvfbvu+f3FgEybbOjYH09/dvXyqVHrH0GMvA3tX3ffNCmK+IBDzPU0TkRmwepRk/topCyXKbJB5naa2fDsPwZZZDbWm5mTNnblutVpcjYoeNiSLinr7v32NDy5ZGbgzETMjzvDvMMz5Lk/uhUur9lrTaQkZK+RsA2N/SZPnOwxLIZmQSuBOpKKVs1O9pZjqF7GP5jNtflFKvzdsdYK4MpH6A7aeWdsuo1np6GIYmeRlfEQhIKU2delOvPu7Fdx5xCVrob/lO5CKl1KcshNUWEr29vd09PT3micrWNiaMiKf7vn+hDS2bGrkyEMdxzDPWvwshtrAxSSL6fBAEZ9rQagcNx3G2QsS/IOImMebLdx4x4NnuaulORAshZlYqFWU7vlbVk1Kapx8/sDE/8/6pWq1uv2zZssds6NnUyJWBmIm5rvtVRPyYpUk+KYR4daVSedaSXsvLxPxmnc0jhzvEgolcqZR6bw6nlteQ0PM83+L7xOuVUlbKXtgGljsD8Tyvj4hCWy/TiejDQRB8xza4VtUbGBjoHB0dNWkS3tzgHPmxVYPA0mze7OMsk+V60qRJbxwcHHw6zXiLPJaU8u0AcKOtOSDi/r7v32xLz6ZO7gzETE5KeS8A7GZpog/39/fvlKdvpy3NKzEZz/NeTkTXAsDeEQf5MwAcpJQaitiem2VAwHwVVKvVrgeAqIWI/gQAByul/pZBuIUdUkp5ZxN/gK13vkT0d8dxpuf191cuDcR13fci4hUWd9ChSqlfWNRreSlzgnblypUfBYBPA8DUDUzY5Eb6XkdHx9mLFy9+quWhtMAEp0+f3rPpppueXn9MPGUDU1oDAN/o7u4+f3Bw8D8tMO3UpuB53gARPWhxwLOVUudY1LMqlUsDmTNnzqTVq1f/AwBebmO2WuuFYRjuakOr3TQcx5mMiPsCwFwAeFX9m3bzZZspZvObrGsyt9t62JqvucvUWu9nzhaY2tpGl4geF0Lco7W+mVMBNUdaSmm+Ij2iud4v7kVENSLaMQxDU3Qvl1cuDcSQcl33QkQ8zSK1fZVSSSYKtBgqSzEBJlA0Aq7rOojoW8q6C1rra8MwPDzPHHJrIDNmzNims7PTfEdtPu21cZki9G/I20EcGxNjDSbABLIn4HnefCI6zFYkQog5lUrlflt6Sejk1kDMZD3Pu4KIrH0+SETvCILg10mAZE0mwATal4DneR4RLbZ493F3GIbmsXGur1wbSLlcllprU+PcSpxaaz8Mw1kAoHO9KhwcE2AChSIgpfwVABxoK+ii/LFr5RezLWjr05FS3gIA5iWulcvcYgZBcJ0VMRZhAkyg7QnUv7wy5Sis/D41Z2/CMHSK8IeulQknuYNsV8lDxMD3/XIRFidJrqzNBJiAHQIJ/JF7QhAEl9mJLlmV3BuImb7Nmul1nMcopa5KFi2rMwEm0OoEPM/bg4jutjjPJ9asWTN9+fLlIxY1E5MqhIF4nvduIrraFgVTXa2jo2MG58iyRZR1mEBbEhCe5z1IRLMtzv6zSqkvWNRLVKoQBjJv3rzS0NCQ+b663xYNztRriyTrMIH2JOC67vGIeKnF2a8aGRnZcXh4+BmLmolKFcJA6o+x3gUA19iiobV+rqury1m8ePFyW5qswwSYQHsQmDFjxpTOzs6HAGArizP+lFLqIot6iUsVxkDMFw5SykUAYK0qWhFOeia+A3gAJsAEGiYgpTS/6E9tuOMGOmit/wUAJm2JyUNWmKtIBmIOFh5MRCabqLUrj3WGrU2OhZgAE7BOQEr5GgAIAKDbovhHlVLfsKiXilShDMQQkVI+AAAmJYmVCxEX9fX1vT6v6ZKtTJJFmAATsEbA9qFBRHxs8uTJvQsXLnzOWpApCRXOQDzPexsR3WSTDyKe4vv+t2xqshYTYAKtR8B2sag6oROVUt8rIq3CGYiB7LruPYj4JovAnxVCeJVKxSRv5IsJMAEm8BICvb29m3V3dweIuJ1FPI9qrXcKw3DMomZqUoU0EM/z5hDRfbZSBxjaRGRqIOyfGnkeiAkwgUIRkFJ+GwBOshk0ER0VBIGpIVLIq5AGYkjbLNyyduWKvpiF3IEcNBMoAIFyubyL1tr80SpshVsvdGdKd5MtzbR1Cmsg5XJ5O631UgDY1CK0lZ2dnc6iRYvMJ3V8MQEmwATAcZwuIYQ5QmASHNq6tNZ6ThiGf7AlmIVOYQ2kfhdyNgCcZRnclUopazVILMfGckyACaRMwHXdcxDxTMvD/lAp9X7LmqnLFdpABgYGNhkdHTV3Ia+yTO4ApdRvLGuyHBNgAgUj4DjOLCGEOTpgqzKqIbC6VqvNGBoaerxgOF4SbqENxMzG87yjiOjHNheifiq0HIbhP23qshYTYALFITB9+vSeTTbZ5A/mC02bUSPi6b7vX2hTMyutwhuI+RLLdd27LX/WC4h4i+/75quswr7gympT8bhMoBUISCm/AwAnWp7Lw2vWrHGLkq59orm3goGYu5ABrfUDiFiaaMKN/Hc+YNgILW7LBFqHgOu6ByLiDTaPChg6RHRQEASm/G1LXC1hIGYlpJRfBoBPWF4VU9TljUopU5edLybABNqAQLlc3lJrbX7mX2lzuq2YvLVlDKT+Qt0sukl0Zu0yJXBXr169c6vccloDw0JMoDUJmKzfvwaAt9ucntb66Vqt5ixbtuwxm7pZa7WMgRiQnuftTUS32r7tBICLlVIfyXqxeHwmwASSJeB53seJ6CsJjPIBpdTlCehmKtlSBmJIuq77Q0Q81jZVInpvEARX2tZlPSbABPJBQEq5KwDcZfmTXTO5BUqpvVrxg5xWNJBXIGKYwPNLk2p5tzAMzYlUvpgAE2ghAo7jbFUqlQaJaBub0zKVTxGxHATBsE3dvGi1nIEYsFLKwwHgZ7YhE9HyWq2289KlS1fZ1mY9JsAEsiEwMDDQOTIycoftowBmNkR0WhAEX8pmZsmP2pIGUjeRXwDAOxNAeKNS6iAA0AlosyQTYAIpE/A871tE9OEEhn1w2rRpcxYsWFBNQDsXki1rIDvttNO0rq4u81XW1rZJI+JZvu+fa1uX9ZgAE0iXgOd57yaiqxMY1dQYGqhUKssS0M6NZMsaSP0uZB8A+G0CX2VpIjo4CALzuR9fTIAJFJCAlHJnrfU9QohJtsMnouODIPi+bd286bW0gRjYrut+BRE/bhs8Ef2HiPYKw9AkWuOLCTCBAhGYOXPmttVq9X7L1QXXErheKXVIgXA0HWrLG0hvb293T0/P/QAwq2lKG+74eK1WmzM0NPRoAtosyQSYQAIETGnanp6e3wFA2ba81vofWuuZ7fKhTcsbSP0uxCGiB5O4WUIJ9QAAEphJREFUVQWAsKOjY7fFixc/ZXszsh4TYAJ2CZgvrkZHR02pBvN42/alhRBvrVQqd9gWzqteWxiIge953slE9M2EFmKB1nrfMAzHEtJnWSbABOITMJm7L0/ioLEJDRG/5Pv+afHDLI5C2xiIWV8ppfm09+CElqclKowlxIZlmUDmBDzPO5OIzkkiEER8oFar7dFuf0S2k4GAefbZ1dVlCsTMSGITAcAFSqnPJKTNskyACTRJwHXd4xHxkgS+yDSHBVeUSiXzye7fmwyvsN3aykDMKpXL5Rlaa1PIfrOEVu0MpdT5CWmzLBNgAg0ScF33MJOZwna9IBMGEdUQ8W1KqdsaDKslmredgZhV8zzvYCIyj7OSmv8nlVKmPglfTIAJZEjA87yDtNY/R8SOhMI4VSmVRPbehMK1K5vUL1C7USagJqW8CABOTUD6+T9MEPFDvu9fmpA+yzIBJjABgXp5B3PYtychWOa8x6GtmGU3Kq+2NZB58+aVhoaGbgKAt0aF1WA7jYhH+77/kwb7cXMmwARiEqinZjdZKCbHlFpvd631srGxsTcMDw8/k4R+UTTb1kDMAtVLVz4IAK9KaMHGAeBwpdT1CemzLBNgAusQKJfLu2itjXkk9Z7zGSHEG1o9z1WUjdXWBlI3EVmtVu8VQmweBVijbcxLNgD4QBAEP2q0L7dnAkygMQKe5+1BROaxVSLmQUQms+4BQRAYg2r7q+0NxOwA13X3A4BfJ/iizbwT+T/f97/V9juOATCBhAh4nve2Wq12XUIZJ9ZGfZJS6rsJTaFwsmwg9SWTUn4AAJLMnmlM5FTf979auF3CATOBnBNwXfcdiHgtAHQnGOr5SqkzEtQvnDQbyAuWzHXdCxEx0VQERPTFIAg+XbidwgEzgZwS8DzvKK31jxJ8ggBa62vDMDySC8m9eBOwgazDQ0r5U/PiO8mflbqJnN7On/8lyZe124eAlPJEADCPhkVSsyai342Oju4zPDw8mtQYRdVlA1ln5aZPn94zefLk2wFgt4QXdf6aNWuOWb58+UjC47A8E2hFAia33VkAYP5J8vpLZ2fnnEWLFv0ryUGKqs0Gsp6V6+vrm9rR0bEAAGTCC7sAEQ/xff/fCY/D8kygZQjU/8i7IuknBaa2R6lU2sP3/YdbBp7libCBbABo/YzI3QDQZ5n5unLDtVpt/6GhoT8nPA7LM4HCE3Bd9xWIaM5V7ZHwZFYS0Z5BEIQJj1NoeTaQjSxfuVzerlar/Q4Rpye8yquI6KAgCO5LeByWZwKFJeB53o61Wu2mBLNpP89Ga/10qVR6i+/7g4WFlVLgbCATgHZdtxcR7wGArZNcE1Nj3aQ+UUqZJI98MQEm8AICjuPsLoQwdx7TEgazBhHf6vv+woTHaQl5NpAIy1hPAW8eZ70yQvM4TYiIvuQ4zhnz5883J9j5YgJtT8DzvBPq1US7EoYxRkTv4FPm0SmzgURk5bruTES8CwBeHrFLnGYLhBCHVyqVFXFEuC8TKDKB+svybwPA+1OYh8lbd4hS6sYUxmqZIdhAGlhKk6StVqvdjIgva6Bbs00fRcRD+Tlss/i4X5EJSClfAwDXAcDMFOYxBgBHcNLTxkmzgTTIzHGc2QDwWyHEFg12bab5KBGdHARBkilWmomL+zCBxAh4nrc/EV2dxt2+efcIAIcGQXBLYhNqYWE2kCYW13VdRwhxGxFt00T3Zrp8Xwjx0Uql8mwznbkPEygCgYGBgc7R0VFzMNBkaUjsZPkLWKxGxAN93zfvN/lqggAbSBPQTJdZs2ZNr1ar5sS6udVO/CKiR4QQ7+avQxJHzQNkQKD+82TuOpLOAPH87IjoKSHE/vzzFG+x2UBi8Ovv79+6o6PD3Im4MWQidzW1CBDxC/39/Z/nr7QiY+OGOSfguu4xiGhelidSPXDd6ROR+TjlrUEQLMk5mtyHxwYSc4mklObT3ltNgcOYUpG7a60XdnR0vLtSqTwSuRM3ZAI5IzAwMLD5yMjIdxDxqBRDe1xrvU8YhkGKY7bsUGwgFpbWpFcgol8IIfa0IBdV4kkAOFEpZWog8MUECkXAdd03I6Kp0plUOen18VBa67eHYfjXQsHKcbBsIJYWx3Ecc8jpB0KI91iSjCpjvls3VdL+FrUDt2MCWREwdx2jo6PnAsDJKb0of36qRHRHZ2fnYYsXL34qq7m34rhsIHZXdW2K6TMBIDW2JnePEOIspdQ3ueCN3QVlNXsEXNc9EADMI6vt7KlOrEREV/T09JwwODhoDgvyZZFAar/kLMaceynP844loksBoDPlYE0yxuOVUkMpj8vDMYENEnAcZ6tSqfRNIjosZUwEAOcqpc5Oedy2GY4NJKGl9jxv71qt9nMhxOYJDbEhWVOg6jyt9UVhGJoTtnwxgawICCnlCVrrCzP4OTDVA49TSplPg/lKiAAbSEJgjWy5XJa1Wu1XiLhDgsNsSHqYiD4RBMGvMhibh2xzAuVy+U1a668DwOsyQLESEQ/jA4LJk2cDSZhxb2/vZt3d3Vci4kEJD7VeeUS8k4g+ppSqZDE+j9leBEwNHa31+QBgPiZJ/fcLIi4yOeT4E/d09l3qC5zOtHI3Cnqe9ykiMj9YaaRoWBeABoAfCyFO5Qy/udsbLRHQwMDAJmNjY6cQ0WfTOhC4HnBXTZky5YMLFy58riWgFmASbCApLpL5CoWIrsrgefDaWT5JRJ9/9tlnv7d8+XLzroQvJhCLwLx580phGJq7jfPS/rrqBYGbpKOnBEFwWazJcOeGCbCBNIwsXgdT4bB+6NCLp9R8byL6OyJ+eWRk5HvDw8PmZSNfTKBRAuau+jAiMmc6+hrtbKu92culUmlepVK535Ym60QnwAYSnZW1luVyeVMiuoyIjrQm2oQQES0XQpw7derUqxYsWFBtQoK7tB8Bc9bpYK31OUKIzP4IMtjN4cCurq4jFy1a9K/2W4Z8zJgNJMN18Dxvntb60pQKVG1wpnUjuaCvr+8HnKQxww2R86HNp+lEdAEA7JxlqJxUNEv6Lx6bDSTjtainsb4KAHbPOBQz/MMAcHF3d/dlg4ODptAOX0xAuK77diHEGUT0xqxxaK2XlUolU9ZgMOtYePwMPrNj6C8lMHfu3I5Vq1Z9wrzgzuD0+vqWZCUR/aBarV68bNmyx3jN2o+A4ziThRAfAICPAcD2OSFwldb6pDAM1+QknrYPg+9AcrQFHMd5oxDix2kVqYowdfOC3WT7vYDTo0Sg1QJN6uUJTgSAUwDgFXmYkin+ZDJPB0HwszzEwzH8jwAbSM52Qz1bqUmKeHSOQjPnSG5BxMumTp16I79wz9HK2AkFy+XyXlrr4wDgEAAwmaXzcv12fHz8/XwnnJfleHEcbCD5XBdwXXc/RPxejh4frCX1TyL6kTETpdRfcoqPw4pAoJ7k8L1EdHyO7nrXRv5vRPy07/vmbIdJishXDgmwgeRwUdaGVH8OfR4RnYyIpZyFau5K7gSA74+MjPySz5PkbHU2EI45+Ld06dJ9jWkQ0QGI2JG3yInoJ11dXR/lz3PztjIvjYcNJP9rBI7jzBZCfD+jxHQTEjLPqBHx10Q0n4h+y1mAJ0SWdgPhOM6uQoh5AGD+2TrtAKKMh4iPmT+WlFLXR2nPbbInwAaS/RpEimBgYKBzbGzs40Rkahv0ROqUTaN/A8CNxkx6enpu4SI+2SyCGdVxHLduGuZ92o7ZRTLhyGQO1lar1VOXLVu2esLW3CA3BNhAcrMU0QIpl8sztNZfBYD9o/XItNUTAGD+mvyNEOKuSqXybKbRtPjgvb293ZMmTTJp1N9mMtLm8P3ZS1ZAa70QET8SBMEfW3x5WnJ6bCAFXdb6qeCvAYAswhTqp4cfMI+6AOB23/f/xC9H469cuVzegYj2IaK9AWBfANgsvmryCuZxFQCc4/u+eTRr3qfxVUACbCAFXLS1IZvHWiMjIx9GRFOD/eUFm8qj5tNgALirVCrdu2TJkn8ULP5Mwp09e/YW1Wp1VyJ6s9Z6PyHEjEwCaXJQrfVzJpFnqVT6It+RNgkxR93YQHK0GM2G4rruKxDxLCI6KY9f1USc1+MAcC8A3IeI9/q+v4j/MgXwPG9HrfXuiDigtd5NCGEq/BX15/ZGIcT/cbGniD8RBWhW1I1YALTph+h5nlcvWnVA+qPbHVFr/bQQ4n5EXAIAFSLyu7u7h1r1pXz989rXAoDJcFsmopla612EEFvYJZuJ2n1CiNMrlcrvMhmdB02MABtIYmizE66nRDF1Gt6aXRSJjDwOAEMA4BORKdE7REQPT5o06ZGiJH+cPn16z5QpU6ZrracDQD8ielrrsvloSggxKRFq2Yn+kYjODILAPKrkqwUJsIG04KKunVK5XH5TtVr9vBBizxae5vNTI6IViLgcAB6pp6c3//4HIq4SQqyqVqsrgyB4MkkOvb29m/X09GyhtZ5WKpWmEtHWiDidiHYAgOmIaF54mzMYrf5zt6RuHOaDCT5FnuSmy1i71TdyxnjzMbz5YqtWq50rhJiTj4iyiYKIagCwypgKEa1ERFM7++l6NM8R0fNlfoUQT2mt//uLz9RrISLzs9KFiJuaNog4pVarTSqVStOIaCoAmH86s5lZbkYNieisIAiuY+PIzZokGggbSKJ48yVu8msBwKmI+JZ8RcbRFJzAgwDwZaXUfP7woeAr2WD4bCANAmuF5q7rzkTETwDAEfxXcyusaCZzMHdodxDRxUEQmEdVfLUhATaQNlz0tVM22ViFEB8CgP8r4DmSNl65TKc+BgDXaK2/GIZhkGkkPHjmBNhAMl+C7AOo1yA5AQBOBoBXZx8RR5A3AlrrfwkhLtNafzMMw3/mLT6OJxsCbCDZcM/rqMLzvL2IyJjJwfx4K6/LlFpcJsWIyVV15eTJk69auHCh+eiALybwXwJsILwZ1kvgBcWGTJW6XsbUVgQeJ6IruWhYW615U5NlA2kKW1t1Qtd134yIpmqduSvJcyr5tloYm5OtJ7s0ZYu/P3Xq1N9w2WKbdFtXiw2kddfW+swGBgY2GRkZeQsimvoSB+Wsdrb1+baB4POPqABgvtb6Gn630QYrbnmKbCCWgbaL3KxZs142Pj7+DkQ0Fe5MypSudpl7wef5X9Oo1WrXDg0NmSSWfDGBpgiwgTSFjTu9kEBfX9/UUql0iBDikFqttmcL5nQq+oKPa61/j4i/7OjomM+p84u+nPmJnw0kP2vREpHMmTNn0po1a3bTWu9tihwJIQZaYmLFm4SpBnmrKeBVKpVuW7x48VPFmwJHnHcCbCB5X6GCx2fqWQDA82YCACaVypSCTymX4Zs8X0S0WAhxozENrviYy2VquaDYQFpuSfM7oblz53asWrVqJhHtDgC7EdGeiLhlfiPOdWRrAOB+U4CLiAZ7enruGRwcXJsYMteBc3CtQ4ANpHXWspAzKZfLM4jIlGh9k9Z6VyHETm2Q7ryZtTIlgO8lIvMu416llOLEhc1g5D42CbCB2KTJWrEJzJgxY0pXV9dOWmvXlHE1hZa01jNbpDJfFD4m19QwAAwiYqC1DhHxD0op806DLyaQKwJsILlaDg5mQwT6+/u3L5VKHiJKANixXqTJFGp6VdE+ITbvKxDx72uLXwHAX+qVFpcEQfAw31nwz0FRCLCBFGWlOM71EjC1xIMg2LZUKpkysTuYqn/GVEyRJ0ScZgo9aa2nCiFMwSeRAkZTrOr5f0wlxHrxqufNQgixnIge6erq+lur1nZPgS8PkSMCbCA5WgwOJVkC5rxKd3f31FqtNg0RNwGAySZhJBEJRNzcjE5EkxDxRelatNZjQohnzX/XWq8WQlS11loI8XStVhsxRmH+qVQqK/nuIdk1ZPV8EWADydd6cDRMgAkwgcIQYAMpzFJxoEyACTCBfBFgA8nXenA0TIAJMIHCEGADKcxScaBMgAkwgXwRYAPJ13pwNEyACTCBwhBgAynMUnGgTIAJMIF8EWADydd6cDRMgAkwgcIQYAMpzFJxoEyACTCBfBFgA8nXenA0TIAJMIHCEGADKcxScaBMgAkwgXwRYAPJ13pwNEyACTCBwhBgAynMUnGgTIAJMIF8EWADydd6cDRMgAkwgcIQYAMpzFJxoEyACTCBfBFgA8nXenA0TIAJMIHCEGADKcxScaBMgAkwgXwRYAPJ13pwNEyACTCBwhBgAynMUnGgTIAJMIF8EWADydd6cDRMgAkwgcIQYAMpzFJxoEyACTCBfBFgA8nXenA0TIAJMIHCEGADKcxScaBMgAkwgXwRYAPJ13pwNEyACTCBwhBgAynMUnGgTIAJMIF8EWADydd6cDRMgAkwgcIQYAMpzFJxoEyACTCBfBH4f0uzkVOx5R5HAAAAAElFTkSuQmCC';
        var defaultSetting = {
            'max': 100,
            'topVernier': false,
            'leftRightVernier': false,
            'style': {
                'top': '0px',
                'left': '0%',
                'width': '150px',
                'trackColor': '#47B1FF'
            }
        };

        if(typeof options === 'object') defaultSetting = Object.extend(defaultSetting, options, true);
        else if(typeof options === 'function'&&delectCallback === undefined){
                delectCallback = callback; 
                callback = options;
                options = undefined;
        }
        //添加 Sclider.css
        var style = document.createElement("style");
        if(typeof style != "undefined") document.getElementsByTagName("head")[0].appendChild(style);
        var sheet = style.sheet;
        sheet.insertRule('input[type=range] {' +
            '-webkit-appearance: none;' +
            'width:' + defaultSetting.style.width + ';' +
            'height: 5px;' +
            'vertical-align: middle;' +
            'border-radius: 2.5px;}', 0);

        sheet.insertRule('input[type=range]::-webkit-slider-runnable-track {' +
            'height: 5px;' +
            'border-radius: 2.5px;' +
            'border: solid 1px rgba(0, 0, 0, 0.11);}', 0);

        sheet.insertRule('input[type=range]:focus {outline: none;}', 0);

        sheet.insertRule('input[type=range]::-webkit-slider-thumb {' +
            '-webkit-appearance: none;' +
            'height: 20px;' +
            'width: 20px;' +
            'margin-top: -8px;' +
            'background: #ffffff;' +
            'border-radius: 50%;' +
            'border: solid 1px rgba(0, 0, 0, 0.11);' +
            'box-shadow: 0 .125em .125em #3b4547;}', 0);

        var bodyEle = document.getElementsByTagName('body')[0];

        var containerEle = document.createElement('div');
        containerEle.setAttribute("style",
            "position: absolute;" +
            "display: block;" +
            "z-index: 1000;" +
            "top:" + defaultSetting.style.top + ";" +
            "vertical-align: middle;" +
            "left:" + defaultSetting.style.left + ";" 
        );

        var sValueEle = undefined,
            eValueEle = undefined,
            mValueEle = undefined;

        if(typeof delectCallback !== 'undefined') {
            var closeEle = document.createElement('img');
            closeEle.setAttribute('src', imageDataURL);
            closeEle.setAttribute('width', '25px');
            closeEle.setAttribute('height', '25px');
            closeEle.setAttribute('style', 'vertical-align: middle; margin-right:5px');
            containerEle.appendChild(closeEle);
            //關閉按鈕點擊事件
            closeEle.onclick = function() {
                bodyEle.removeChild(containerEle);
                if(typeof delectCallback !== 'undefined') delectCallback();
            }
        }

        if(defaultSetting.leftRightVernier) {
            sValueEle = document.createElement('label');
            sValueEle.innerHTML = '0';
            sValueEle.setAttribute('style', 'vertical-align: middle; margin-right:5px');
            containerEle.appendChild(sValueEle);
        }

        var vernierSliderEle = document.createElement('div');
        vernierSliderEle.setAttribute("style", "display: inline-block;");

        if(defaultSetting.topVernier) {
            var mValueWrapperEle = document.createElement('div');
            mValueEle = document.createElement('label');
            mValueEle.innerHTML = '0';
            mValueEle.setAttribute('style', 'position: relative;');

            mValueWrapperEle.appendChild(mValueEle);
            vernierSliderEle.appendChild(mValueWrapperEle);
        }

        //默認區間 0 ~ 100
        var sliderEle = document.createElement('input');
        sliderEle.setAttribute('type', 'range');
        sliderEle.setAttribute('value', 0);

        sliderEle.oninput = function() {
            if(mValueEle !== undefined){
                mValueEle.style.left = this.value + '%';
                mValueEle.innerHTML = defaultSetting.max/100 * this.value;
            }
            var lastValue = 100 - this.value;
            this.style.background = 'linear-gradient(to right, '+defaultSetting.style.trackColor+', '+defaultSetting.style.trackColor+' ' + this.value + '%, white, white, white, white, white, white, white, white,white ' + lastValue + '%, white)';
            callback(defaultSetting.max/100 * this.value);
        }
        vernierSliderEle.appendChild(sliderEle);
        containerEle.appendChild(vernierSliderEle);

        if(defaultSetting.leftRightVernier) {
            eValueEle = document.createElement('label');
            eValueEle.innerHTML = defaultSetting.max;
            eValueEle.setAttribute('style', 'vertical-align: middle; margin-left:5px');
            containerEle.appendChild(eValueEle);
        }

        bodyEle.appendChild(containerEle);
    },

    removeFromNodes: function(callback) {
        callback();
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章