AE颜色盘更新

github

代码如下:


/**
 * @file
 *          ,----,                                                                            ,-.----.                                                    
 *        .'   .`|    ,---,              ,----..             ,--,                             \    /  \                           ,-.                     
 *     .'   .'   ;  .'  .' `\           /   /   \          ,--.'|                             |   :    \   ,--,               ,--/ /|                     
 *   ,---, '    .',---.'     \         |   :     :  ,---.  |  | :     ,---.    __  ,-.        |   |  .\ :,--.'|             ,--. :/ |             __  ,-. 
 *   |   :     ./ |   |  .`\  |        .   |  ;. / '   ,'\ :  : '    '   ,'\ ,' ,'/ /|        .   :  |: ||  |,              :  : ' /            ,' ,'/ /| 
 *   ;   | .'  /  :   : |  '  |        .   ; /--` /   /   ||  ' |   /   /   |'  | |' |        |   |   \ :`--'_       ,---.  |  '  /      ,---.  '  | |' | 
 *   `---' /  ;   |   ' '  ;  :        ;   | ;   .   ; ,. :'  | |  .   ; ,. :|  |   ,'        |   : .   /,' ,'|     /     \ '  |  :     /     \ |  |   ,' 
 *     /  ;  /    '   | ;  .  |        |   : |   '   | |: :|  | :  '   | |: :'  :  /          ;   | |`-' '  | |    /    / ' |  |   \   /    /  |'  :  /   
 *    ;  /  /--,  |   | :  |  '        .   | '___'   | .; :'  : |__'   | .; :|  | '           |   | ;    |  | :   .    ' /  '  : |. \ .    ' / ||  | '    
 *   /  /  / .`|  '   : | /  ;         '   ; : .'|   :    ||  | '.'|   :    |;  : |           :   ' |    '  : |__ '   ; :__ |  | ' \ \'   ;   /|;  : |    
 * ./__;       :  |   | '` ,/          '   | '/  :\   \  / ;  :    ;\   \  / |  , ;           :   : :    |  | '.'|'   | '.'|'  : |--' '   |  / ||  , ;    
 * |   :     .'   ;   :  .'            |   :    /  `----'  |  ,   /  `----'   ---'            |   | :    ;  :    ;|   :    :;  |,'    |   :    | ---'     
 * ;   |  .'      |   ,.'               \   \ .'            ---`-'                            `---'.|    |  ,   /  \   \  / '--'       \   \  /           
 * `---'          '---'                  `---`                                                  `---`     ---`-'    `----'              `----'    
 * @version 0.0.2
 * @author 赵大牛
 * @license MIT
 * @description 创建一个颜色盘窗口,选取颜色
 * @global $.global['#ColorPicker']
 * @returns  hsb: number[], rgb: number[], hex: number[] } | null}
 * @requires zd-es-lib {@link https://github.com/zHaOdANiuu/zd-es-lib}
 * @example alert ( app.objectToJSON( $.global['#ColorPicker']() ) )
 */
(function() {
    function __spreadArray(to, from, pack) {
        if (pack || arguments.length === 2) {
            for (var i = 0, l = from.length, ar; i < l; i++) {
                if (ar || !(i in from)) {
                    if (!ar) {
                        ar = Array.prototype.slice.call(from, 0, i);
                    }
                    ar[i] = from[i];
                }
            }
        }
        return to.concat(ar || Array.prototype.slice.call(from));
    }
    function mouseMoveEnviron(element, callback) {
        var leftClickStatus = false;
        element.addEventListener("mousedown", function() {
            leftClickStatus = true;
        });
        element.addEventListener("mousemove", function(e) {
            leftClickStatus && callback.call(e.target, e);
        });
        element.addEventListener("mouseup", function() {
            leftClickStatus = false;
        });
        element.addEventListener("mouseout", function() {
            leftClickStatus = false;
        });
    }
    function mouseMoveElement(element, callback) {
        mouseMoveEnviron(element, function(e) {
            this.location.x += e.clientX - this.size[0] / 2;
            this.location.y += e.clientY - this.size[1] / 2;
            callback.call(this, e);
        });
    }
    var undef = void 0;
    var random = function(min, max) {
        return Math.floor(generateRandomNumber() * (max - min) + min);
    };
    var clamp = function(min, value, max) {
        return Math.min(Math.max(value, min), max);
    };
    var Color = {
        rgbNormalize: function(rgb) {
            return [ rgb[0] / 255, rgb[1] / 255, rgb[2] / 255 ];
        },
        hsbNormalize: function(hsb) {
            return [ hsb[0] / 360, hsb[1] / 100, hsb[2] / 100 ];
        },
        randomHexColor: function() {
            return this.rgbToHex([ random(0, 255), random(0, 255), random(0, 255) ]);
        },
        rgbToHex: function(rgb) {
            return "#" + ((rgb[0] << 16) + (rgb[1] << 8) + rgb[2]).toString(16);
        },
        hexToRgb: function(hex) {
            var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
            return result ? [ parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16) ] : null;
        },
        rgbToHsb: function(rgb) {
            var _a = this.rgbNormalize(rgb), r = _a[0], g = _a[1], b = _a[2];
            var max = Math.max(r, g, b);
            var min = Math.min(r, g, b);
            var delta = max - min;
            var h = max;
            if (delta === 0) {
                h = 0;
            } else if (max === r) {
                h = (g - b) / delta % 6;
            } else if (max === g) {
                h = (b - r) / delta + 2;
            } else {
                h = (r - g) / delta + 4;
            }
            return [ Math.round(h * 60), Math.round(delta === 0 ? 0 : delta / max * 100), Math.round(max * 100) ];
        },
        hsbToRgb: function(hsb) {
            var _a = this.hsbNormalize(hsb), h = _a[0], s = _a[1], b = _a[2];
            var r, g, _b;
            if (s === 0) {
                r = g = _b = b;
            } else {
                var i = Math.floor(h * 6);
                var f = h * 6 - i;
                var p = b * (1 - s);
                var q = b * (1 - s * f);
                var t = b * (1 - s * (1 - f));
                switch (i % 6) {
                  case 0:
                    r = b, g = t, _b = p;
                    break;

                  case 1:
                    r = q, g = b, _b = p;
                    break;

                  case 2:
                    r = p, g = b, _b = t;
                    break;

                  case 3:
                    r = p, g = q, _b = b;
                    break;

                  case 4:
                    r = t, g = p, _b = b;
                    break;

                  case 5:
                    r = b, g = p, _b = q;
                    break;
                }
            }
            return [ Math.round(r * 255), Math.round(g * 255), Math.round(_b * 255) ];
        },
        rgbGradient: function(t, rgbStart, rgbEnd) {
            var result = [];
            var i = -1;
            var len = 3;
            while (++i < len) {
                result.push(rgbStart[i] + t * (rgbEnd[i] - rgbStart[i]));
            }
            return result;
        }
    };
    $.global['#ColorPicker'] = function (config) {
        var ColorPicker = {
            name: "ZD Color Picker",
            author: "赵大牛",
            verison: "0.0.1",
            units: [ "H", "S", "B", "R", "G", "B" ],
            dataFontSize: 14,
            picker: {
                rgbSize: 20,
                hueSize: 10,
                strokeWidth: 2
            },
            srcImage: "‰PNG\r\n\n\0\0\0\rIHDR\0\0\0ÿ\0\0\0ÿ\b\0\0\0>\b\0Ê\0\0\0\tpHYs\0\0\0\0\0\0\0O%ÄÖ\0\0\0$zTXtCreator\0\0\b™sLÉOJUpL+I-RpMKKM.)\0AzÎjzÅ\0\0 \0IDATxœík¯ÛÆ®†`ÿÿ߸¿Z$M›&Î‡ãq)Š———‘ÝXXÒ\fùrlë!GòJûá8Žƒˆþýù÷çߟØÏþŸýílþé×ÀŽ×ŸÑ´|å8?—Çë|ÇAß¿§ã8诿þ¢¿þú‹¾}ûFþù'ýöÛoôÓO?Ñ¿ðÿ{ñ¯~ý“ù\vZÐ8ÏG›óà•ç^ë·÷óýû÷ÓςýÛ·oôõëWúòå\výþûïôñãGúùçŸé¿ÿýïÿP_þ¼ø3€/þ¬u4³±\rx/>0;ÿ Í£€óc\vt\vxýêô\vüOŸ>ѯ¿þJ?ýôÓÛÀŸúå‹]6ø¾}ˆ]¶å&\n.~X¤køú#ílG¶Æ+Ú8>PÀéqý[Ð/Ðèe·_àÿñÇôùógúôéýòË/ôÓO?ÑÏ?ÿ|+üä/ººUÊ9òúŸ£Ú¥¦ó:~àƒÎ}0ÆͱàaW¶î±CƒXQXóã¿þúËmõW×ÿüù3}üø‘~ùåúõ×_éãǏ[ᗰ¿ràõU@¾ˆN¿†¼ÖÊn*ó_¨ lèØæk±@&å¶ÙªË±Ì^ŽñîÎÎ=}àÐËmþú½À_]ÁÿÛo¿ÑǏéÓ§OôéÓ'úý÷ßÇáÿ }»Íy\r\b,á:7¾GY;²±Ùâ‡èÛp»ÍÇP§»·6–Ù¢[>|MÞ6~ýÖÀ–çÚ²µÿþýû±€'¢¼ãKðå–Áÿùógúüù3ýþûïôå˗øo^Y¯8Þþ¶Í VŒÀ¿»8\0o*‰ñKí\b`WXNnßùš”.ÿAÎu¡×àÛücOBðõë×Ó½¾„ýüñÇôåËúúõkþéV”4m‹&]z‘™`U\v^¶1©m;R<=\rV/ÆʗíÞιٹÙñå6\0Þíêìøàã¼  ð'Á—÷ø}[~ÿ~ýüùçŸôíÛ·2ü«ÚƒÀžÎWíž‰FŒÛ¡Ñb¬~xçå@†\n†1泀ÕÎÁ®~(c§<Eð­.XÅ Óí£‡{l»|ýú•ˆèƒ„_þ,ð«ðw{碚„Ý‚/Õ9|ÑöÛ퐎®«-ü`Ùœª€ðVAӎ\n„|-ÙnΏý0Æ/Ûy~l@oýzz<¼«‚ÏáçÛý¯_¿DôaÁ/ÖÎ`Åfá_¹@vžÃÒtbªúÈلo{T,˜Õ\tk÷’èðDNa•E³ÐÝ/в㰛[¿Ù±Ôw¿÷~”nÿ,ô(Õ®¯<è»\0>¿b¾ÿž‚\f|ýð“°[[N›|_Ûë€Ùu†Å\"\v´5§Œ]¤ŸÌRS±lWç‚ÊœÙ͵1­ðî­ùʯí\føùw÷Ç÷ï߉DàÐ[~³\0ð1þÒLuþ.û譋Œ»€q®ŽìXõÀz‘–W,œŽ­é¤Àïnß30˱à؂˜ÈùúMŽq€ÿêö^-\bô~v~¬¯ñÐ-¿Öùם\n?\v«ëBÝ\"dº0[jE×üÖ!Ò\n4Ü%‹„'¥®Ã)\0ÑöÝ\\ÇÆ.(>Ïâbeî1÷\v\nÀ©XÇ-øÙï<wȖ_vöuß³ûsèù\t!ðw·û¥o\fH*À«;ä%9Ýê¾<¿ftov4¿ª¡ÅÀósﵨPóc¾e^½×Æxgç׏×ٕc¨È±Ý¿ÜÓs«\bˆ¿Þ;í<øµðíÛ7úòåËA\"\"»þqXço°Ÿ.\nôÙ-3=ŃKþ,9ÊËyhĞ‽|Ñëà¾|„Z§µâÂpÙ¶óãsصÃ+à_~ÿ]\vNsðå¬`^\b\0ðe·_ù?XÐ÷úO€=øå¶~‘Úõwß\0zs‡,C^ÀèîB®Ë;ŸsŠÓ\nZ²pkÚ|Í\n¼î×p<iTŒvx9/‹Œ‹\nÁãG-üâ÷åÁޚãP÷ú— ÏçÖ9]ÀGá¯nù+àW oÿðCó¥o4ð¢´VŒV ¬â Œ§—ù,HX¸(xq<&*\n\vL-Î+<Ž”Bàü\v^lóÕ§ûøëxý%ŸÜÂËb ®­?×^ë\f;}üè‘n)cn!´—4‡˜âÌÍ-Za0€5—cìø0Æ͞KƒT?uj™Çšñ\\èVÿ`sp!à[{\0þ˃=äë=¹ð€—?Dt)2;ீú+0¢ÐÃÀ/\v\\#‡¼p‘u¹1–?R´ÂÀµô-À¥¿«|-(܏c™¹Ÿ—!êò\t0‰\nó]þh\0þg љƒ¯øž úY9ˆèÒõ#ø³[þŒ?ô\r\0½ðSýƒeq¸RðRmûîå\bŸˆpµ0d‹Bä¯Áª­„›ÈÜ, ØÏ0­h`K\t²òsh¾Ú÷øã§?òO~ÇïtþË-€ý:þã?)‚?Óõ³à£Ý>}f‹Þó{Ú\tàÃuHp5_^«0”ŠBr¾eÌ»ÈvûCúZ…@h«Û}éŸ(îwùÊïK\bžò?¡Öà÷J-ùdŸˆR…ÿ)–å›?¦×!/¾ÀÜ÷©íirVœ5 ¾æW†š¦µ«Û\\ӔÀr]1ç°RÓ+ZÑ0Š\0ÔáÙØÉ×)\0§­=ð”ßíêÚC@Y(´âBt†Ÿˆf:ÿøü¡üУ]ÛÝ9Äóuý€¡¢ÀáÕֈEïä\0žéøn1€óÜ\nÐÏÜì<ì𞟷ÅWÀúYOùåV}uõè›\0þU^´³Xï\t²íG·ñh×πoú‰\vփnù°)SÖü/eõ¬\"}Q?±65±Ô\nŠ‚Y?eÌ,^A0Šù•^¸ç§ød\nÁÉOî\0ì9@{Àgýø}Ùh»~ÿoÇó+?þ~˜cò›éö«À=æÐÎmJdm]I?ÓçZÔ®¬~³ÝðQ;¹˜×üBˏ¯Múh…À󓀓SÜÜO{ؗxÐw*\0Îù¨~ҟèúUž¶>ùtàGº>ä#/teèW|§’…Þ˧¸›ßð…>Ò/‚XóJ?u‡ €}Égù\bˆÍ¢‘|ùñצÀý”ãPòyéGàVPºý©ƒ÷úæ_ó1Íïù­{ÖNßûkùÖ±¼>Z\b|¤Û{ .\"Š‹U8†r¯ïÞLùˆõºE#\tºY4´|PM'‚œû(ó®W\b?ÕÇ+ÆVÿéÝç…OúOpkÛ÷è€Õýåk“ïY~è^¿£‚Ÿº\r° ·&µâ‚«ø¬\vÕÊèDyZ¡Z\f8|rä\r`™-NeN…\\þ|Oóüj0\nAX\0,¸µ­½ü\noåáÝ_®•ÃÏßÓrço‡2øâ\"† 7ÖAŸy g­#ÚögæOy\f˜á‚-Ž†[\bU\r^,d¡°\n)\0s\rr«\b0pN€[E€Ï+[onóÓ'Óýµm½µõ—Ÿô€®62¯Åuûè\0íâQ|\b¬‘#Ó½+Ý=zÈÅs€yMßðQçУn¯Æ#{ó¢sšºûø}*Ê}¾ûz\0ŸÚtÇó?ài¼¾çàc½Wjç÷ÙÇ|¼ùJa`¼èB¯h«ñZQÒr;E%=ï\f¤XÚÙùÔöߚ×â-ÐY¼õU^rk޺ߗsÖ}¾¹\rX¯#Úþ[;\x009¯¼¿O+Á_˜ï€t{\ršg¬L¬Aoè†ÐJy±æpžO*sÚÚ¼bg>ÛõO ‹XS›ë[E@Æjó5e gñÖ=ôe m󈽐êþ²8‰÷èôï™ã0ø5àöâKà¯ymÒ*\npµ¼ZA1 ×ò¢Ûþ°ƒk¯%´\\S¡”`×æ2 [sڼٛ+ä¼\0\0÷ú.Ä^°\0vÇq<üIèe šíüU¸£9ußÝ\tX99$Š¦µ$j6¦B-Ee!AæŒB!Ã/ÀÊØ\tØל„rMȸhN™WŸ\r8 ‡E€‚­¾¿\n1;ŽîóOB\0})k¾Ûý×ïémi®R$ LÇ»€áõ4%ØÙb!5\r½òœU(\0Øe8t¿0ÎÜÚX4ЅÞéÁœ§l÷/s¼\0h·Zók}äDöw÷<N¬S¾‡§niø+ æ\"ð[;\t\r)Éèµ8JÀ«¬O÷2gÀiBÍeƒby¸-ÆM0WŒí)—–¿^\vft¦i}µîdœìäbNՓsRou>&\vƒ_Îeàï÷-ˆ½¹À\0V×ÀÁqQÇáUÖϱ<§)+FWH¢Û|¸\0ãáœQ<Ø!е9ð­qç~ßvé%·ùêä_Î)ï\r‡~߯ñ4Ñù=ÀÇcPY¼ußo¬\rÊ\"Åd\v…R$Ô9$&Wà­tw7&¾-&S¢\rô5'Aç1²H¼\0p-\rfíž|­SœéäÞÃ=ÃMžOmû3€Oî¬?HŠº°¹.#)1{v\v`¹Þ°û[1P>.ÃRݝشgœË¥Š€¦%c€ñ•\\ûc«Ÿ´¼®­Ýhݟç^1¼\0ð9«û‹÷(×I~k¼“<;.H0ÄrÑQü!-™{A\"u‚q©…€íî–þ¥@ÈÜ$@dSn÷fãa9´qù\0Ï÷õ.èÚè>ßzXçí2ãڗ𛝔®èsœ][Æ­¼Ú¸d¯¥š7ÒÖiÉâa ¹\b2éóõHHd\\êH}ž×ò7ÆO ŠŸÔ¸õPûk\0yØ'ǵÛ\tï–Áº-ày­­?ç¶þ˜Héü:ûþ\\s|¬ $À‡»7ÓÎú›9ÙE¯ŽËœqõö@@eLJâ{¯ï4.—:Þ¸§!A·ÆåC<oÜy€ÌÎ@hÝÚ½fë¯Í-Ûå^_ê´Á',ÓrwJ¾Ó \nlÑ÷’Sh¸P*ãp'ý‘'ùæ¸2Áþô Ύ“€‘ƒ÷û— w\f|ÜÚ]·ùV±ÝŸkÈ1>nYþ1˜-\rÐׂö4Æ.0dmLí©!œK÷,\rk\\÷,yW}%¬ëX§ùÊqbæ×t•1\vöPÃò•ãDØ/¾Öv_émõµ‡z¤^÷G5Žã|K MÆrƒá·ÆÅÜ®‚Пr»\0¯SOûF_әX7}5]>Æ.ª.ð;6\v\t“\x002i`ñ:J°sßL·×Ɛ{}ë©}¦£K_ö^|—I¿uŒÀomµ-9nm³]ß`ÌZ×Ä.@ËÈø’s+`hšñJžË¸3Á­Yñ<—ˆw}ézñjã¬.Àr,òE¾â“ã•`ÅKP…_ªûóëhý¬‡~ìZ:ù¶;f\\\\¼&äxWÚDš<ž_ôÂ×-–¦¯Á)b!1·8©`Zãѽ¾6¦B,5°µ±‹¦v_¾ äñZaÐ4­‡}J[*\n™1iÖx~´Cg€ÖÆÒy䘶n9¶.2Ÿ†É­Ã¼ÜtÚº%4ޘ–[ŽY¹58׀–';&.nB>&ã%ØÒÏêö‡(Þwþ2yj¯Ýh[Þå¥æ2y¾¥ócîv[Ób‘1±\vÈ6Ì\"–„o\vp+ÖÓô€X>…v~è¾Óô<`ùúøX¶c{chQà±²\0h~ږ¾²ÍÆ¸És¢&üß4øè˜\0…ÎáÅR¢X~V즱pûùI½ì˜¦ÇóFctç2¦V;«WeïÿjkL[óSðïØòóóv1ºr¬ü Ž»K_ÒʉŽ1-hÌÒÒÖÆÁ~­­?»!•±‹ã]ó“úF'6‹‚·S`ïËÚhL~•ÇǸï2yÎǹAð‹1÷ë<g¬ÓáSZü‚µÆœs\"\f葂hñµŠ1ï~>,ˆ»à.úr]l ´õG|4hµ±uîÝ(ڄݺߗ±ÞÃ>´Ók÷ùËäÿ­\tÃí8â¯úÒ_ó±\vÄØ#|+ŽäSa¯§³¥‡ãD>\rLÄ焌Ƽ­ýÁ.5ŸÔb—Ôw}¸‘²Ìǁä È1ë!ß:wŠÂ%΃vv‡jqv­œŽµ¯û–U:¿KƒÎ/z/Ž€bùçÏ1‘W**V÷n*˜©íÑß\râsYbÅkq\v$î£Åq¸x.@Oû8ìŽ,Ç*÷üšŽw)\b\bìV§—ÇQÜ2-^ÎÍÀŒUAw}Œ˜jqxœ^!cç¤Äb¸ˆ—«èsNY3ƒî݅¸[(´sklÁÄsY>üüFí«»\vÜ2½ë£÷Ñüä<Q~ä~?\rºrŽúHýj疯鵢KšŽÐP!ºO~®ù0la8m¿Ÿƒ](Vaçj¡Ðr\vè.ÅDPƔ|À-øÅÑaïA97?gŸëI)\bòû~϶w~Â:z1âãæa«>ò\\\0½·—1ÜÇÝiHм<š®•ªÄœt‘sc,\\‹‘º\n˜þ”ߺuXï]'&7Š±|´sMW³.üÈÃ8ixè|Ak±QLúþŸË×âè\"dÅyPÈ31™¯ê¬˜Ìöߊq»¾c\v0&úº®ª}SPÙÚ£ßñóKå'ç¸iãc_^ØC:øt\nº¨8W5„C圢uXâ¢>X<)>ª¦¥!ÖåÎ{>ž¦q®ëÆ(9/`…Oüåy^M£\0oæL÷_¿e÷G.‹ÎKð#>Æx¥ƒGù²Å¢²# TƒÅDsÍäÖ,\rO8'R€•1ÖÀùàüÜûªÏûš/ÒôÎ×ÛàG÷úÜü\\39/ýøy\b¿–«êñ\vš’`wϏób¢B`B)bԃó!´Úš§Îم¦Â³ÖZçç<'påôü‰(Ô«\böٞØàÇ<F#vç?òº2[D´ÅÏvy8_æ<›Ï{?Ö9ªÿ·{\\(<ÿ(ޛ÷ü'ε|‘f^9o‹øg^çëÚð扮Ãëþü|é{óDtùwÊ?ôYç§Î¾ÖscÚ8»é¼]Ž³pe[ßögÇ)¨×I&¾rnåsâ[]ÿ•çX¶n÷œ›œçã|Þò·b½yÏFà·:~#]Ý9÷òo)F|÷^>,^¬•kê|é“ÍZ£€È\\›6¯k¹v³× ·Š‡ìöZqaŸóéXþöÌÒ\"ÚéAžq>V¨Ð‘å¹Op­yCëR$Ĺ¥.\n–?Ë+!wcµyM\v<¿hg´2Oä#@Ñíþ:_~Þ¹ÔÒ´¹EڞMmûewÌ\r¨‹ƒy#¸ÕXo,î''§Á6AV|/çÜ?˜\vÏ<kB®Cñ½ÄJ­X-¯Œ5ÎO±™{~\"½ëZsѺ–I-m]^^ë÷:–÷ùžñXniøù\tøiç“pg|Հç+×lÍy\b‰Õ|³±–ëkœÃÍ¹`z±ÊyÆ÷›ð=½^ôûÌÍb!öYÆ}ù¥¹t¢s+Ïù2?ŸWáÏøy[~¸ë“¬–³âë­I9Öæ:Üô•Ðh±Î\\è«Äz Ê󉭾–gÄיS»¶5çmá£ûyė˜y9¹v.×ç\n¿¥ŒÍÀîåv9ª… ´[àsʱ–ƒ|‘§øˆ/²…÷Š‡ØiŽé¡?ÍIÀ¤nƝ\vºº9·ÌšóîÉ3÷þÚ®BÓáãš!·ÿ‡è°Ój!¨Î]|×1æPŽÃ¹\0¬°\bù%ÌМ̱ÎùÚ¤Ž±n™_Ι›‚ÜÕó•sѾ5îÍñüČ½¦“/?–cÞÎ@3é3²íw|J»\0ÊÁžÊÆA»~l€jjqæè*¼RcÅq?™œƒ@æqìsJ\0¢\vä^ÜʃtêSkŽÇ)kQó3m-Ò¬1-‡fÓð¿öð^ݛó4ùœ€ægÞߣq¦¦aέs¢ÏuI?vn®K›ãú\\]³·ü¾Ÿÿ¯º©ðÐ8[_ëÉc™#óðÅÃŀ]{D¤oç¥j•¯ú<P¡ó@£\n;÷\rç\f?|Ôokú\fͨ\bœ ñôåº,ð¤&2'5,x#}q\\í쨟Y\0V¬±Žç\\¤¯ibÞm×àç܎ÿfa™\v¿<Gýø…iépXèؗ޳ü\f=8±öêÎàƒãg/—œã¡€TõSô.s|\\óSryÐC~lQå\"ÂtÌb ]/Þ_äy»\rž+ºg—~Ú:¤?bËς_ݾ£~Jœ\n]E_øÑ]/è\vШ_pljTô\0?L\btCd\0,ý¼¼šŸ\\k\0â¿õÞOù)×\\øç¹kÜÛ]h~RCêZ·Ü×òKu~y.ÆӅ ȓîúBÛ½µÐü‚µv\v¼}§¿O¦º½ªÍ.hÔÞ¶Ëu‹c0ԏÃ`¯ß‘Þ2ÏÏëÜÖ·žEÀ¯óÌW~ÚëYֆßð©lù+ÅÃ-$<qr†°ócE#U¸£Í\t­Ráà5wZÎ\x002µ °“R ²ô%¾æ»€-¹ž¦-MËÝë/C¾·×â¼9~d+\t\n¨š“ÇùÀSπx¸XTâ-èˆÁ)æ¬ø\n܌VŒ×Rt¡˜â<u|™—?8>Ås«tnòßíóµjÇr,*»:¿5–êôŠ–\t‹§kä¨tl®›Ú%(Ǘîo[pr-\"èë;¨88pZkq‹ƒ—Cê\"ÐZ•@\b³ô³¾\nD»??öþ%!ã¿½cÔ²Oû-àÜE\x009ûvjO9ör+y ]ëuˆc\"\\~Œä`>n·ç>‘–§«G>š®¥…¥þeR\0 ®‡ç±—Ã*–iù´sÞá­Ý‚fé¯ú\fŸÊ6ýrù³ã¨­µ*ǝ]B© h ­cD×ò1Ɖ”â`­Cú¬X¹>ç¸\fzq}ÏÏr¯ßÎýwêØzXÇó[밎¥qȑ‡~š·)ø­1wk®ùxþèZ‘ãh­Ýc\r2ë¸ wõh\\®ÃZ“æãÄ…=ö4;ÇÊup6:ÖbùkˆvÞ1rß_µQø§ýØ‘NÿŠãhýÙ؎‹‰¼pA°F!žÒ‘ǝŽ¯é<ÖIü÷2>ŽkfiZ1–Î?¿°Ci\0ihëng×sü¿¥4;>N¬\vý§¿·ƒŽ#¹ˆâÄ]õtÖï¿?ªœY±U=¢&ü«C±éu%Ž_ZÀØñ-¿Ìo­¥â#ó¿ê˜ÈÞzk×BõZ’cÈ7™cbÆsEë³ü'à·`äÍkÙÑÝSyäq&g yšCzѸ\vwԵχ{ëÚrßOƒ¾–•Õ³Ž•÷È,(âúJ[ôÐ/cUø/Ðh1žž„Œh–Ohi)ǝ[m»5º½§ëÅfÂéÉqEÛºÀU\r%¿\vàÊiåÇ2ÏèVŸ~ìs\fÁõôäµe]wÈW‹pùk°,ó'¿Ë2ð»]]SæMȼX¹º±£kkr{Ü?š·ô\r\v5NYŸ\t²Oi$KqD×\vߛÆµkæ8ìm¸µÐ4,óŠ‚gÍyCÀcZá§%WôxçE'ŠáËÆEÙ-{5Žo{ÍyG\\‹;¨5\r\v6\v^/³Ž­yäÝ2çŸÓšq±‹†wÌ>ÿ˱·|d>Ë¢‡‡ÚxÆ¢ÿ˜‡\tŒ<s™‡tnÇ}':}\nfJtn~Ì.<oþä+ MÅiù¤†ôõâß°\0Ç®.‘Y\f¢âtéîÞëˆ@·tµ8‹yŒvsyîý}ê¿äã%!RëšÑó`CºßÊV¿¼ý·|\rH.ZbÞÔ\r|]¨«¾<ÿ|-_m;Žî&Àõ’4GëâË×£N¾–j-ø)±3ˆ|I¿°¬5D·»‚§–1_ñM\tíõЕ|‹óp‡—ºrÌ:¶ ãÇë}çñÀ“~õõˆÏх^úʼž–åË-*Z^m.2~M$Sæ·B,ô¡\\\r­îV™;7…áq>»ªï¬»\\,¤¯Ô\":Á­åùùñÏ_üuº<öæŵvñk}g\0¢¶44ø¡ûn)”·ÞXdžOù'!Oé‹÷j¼Ë‹õK\0TÀ´\\–~6^BÌg:¼\n8ûÌÔxožÞ|,*\nès\0mÞÒ×æÕÉ`þ8ôç\rÜäý¹ó'çË@Gó\n0ZÌ\bäš&8ï­i¢Ë«Å@‹Ÿœ×\0]1Dt™çcÈü2Y¬˜•/3¯]ÓVNë5i†>°â¿)ø#¸·íh¦‹\0£GW0£ù0Æ#rÀÔòD1È<×'p· ^Gvà\rïþž(W4ÖgËÇPè£m~gëύÏgžþ[¶­óSÜÍ+Àwb2·0ä\\ÇʳbÑ-5æåñtŽØ¥\0™\nózPq\r@Eƒ¿ßÑX´¶eÑ6Û{ }-;Ð;†ÂvvmLñW¡ÓÆC%Ú=tt4ø„Nz[Ÿ#º\0yÉí鈋ڃǂŒ¢P'¼-ÐbøÿpŒ§ïPñ`s0ôšŸ6­±zV§ó´ß„Dó´£\\€¨Ÿkvu[ÑvwÝ1e­0|Úë\v´5¿4¤‰±çû§Áù­cmûý£9F”¿\ràc\\Û²‡ž™ÏóþÇË×úª/ãÀA3ÝüÖb¡1½[Ǭõñ×)Ç4è–Ñ\t0X®mÅVÆÐûvcìùáuÆ*÷þݱƒþ[«Úø½-ðÙX\r@ØÂWÆ´µ\b .cZ,°£~»ÆxÞèO|×çÅõ–¡åªÐ‹÷ÌC‹CÖÄu¬Úü!4‘¾¡«Ím^ø£÷”\vt§¶ÿD‘†±¦Xr\n…5¦}M·>+\r:5’}×\0\0AIDAT0O—Ç&ºðÅ/ÈOÒ´1dN[“5–1~qa þÚ\\§‹W»´ö&v¥¢áA¦Eºä\0­­7©¡uÑðÀÖ4,PÙçKÃÖ{˜íà\\Ã1҈֖µÌý~s,©§…B}šüKÀ\v\rª4Èʘ\\w¥»»9A@M}Ãß*6©­ýzmüsÐæ´®¿,Øþ— 7´Ü1ˎ#÷5¢ÉÍû‡=t)Ë/²Ä\\X2ú–¿5ùëImÝŚÑNkÎ=ÆMȹEõ·æ:þްÕ(H! a\"éïÍEú\bàüugÿÞß҇ÿcò⦠£7ÁõæªEãÀK-wëÎAÓÆ<ÿÌý½ˆ6ä„Á\\ڟ½—êœÇ?˜àmÌ¡­!=×Bý½5{V¹ÿ¯ÂŸÝºï˜Ó€ºÌi ÒMÀ£q€¦JyN¼Ö2äHœ6Ç_,mvoŽkzy4­F!i¨Õ9Ï´5íñŸÜ\t´\vK\\ÅG½—q<^‚èÍiù9$Ÿ¸XayÜôœ—H-0 |Ž„‰5ÉéRÇæšHœ¸¶·X~ª‡y—µ`eÞ֎Àӌ|4mmMZ^¡*&@Ü\t6//«Œ'òaõæØûuåîñ¸R!à¯Óҟí)ޛ38)ß³Gs‘6öþþ£ïj>Þþ™_õvàE¼õ%žëxsCÁm¬-]\fmë¾:Œço|V$^¼÷'íڑ9´xo ¬CºµvÇ?HœÚö#]~âL\vToš¢3\rµ¦ä\bw4ÔùƒüÑíR¤žïWäÃu<,Xƒ\\¦Ï%’‹Ç-ó\nR&‡õÄ_{햍Ýó'|·\nÄG¬#s›ÐžûF¹<G¯ä#.x\\J\tNàúð7h!]_ñ\ruÄ{­új>Þz¤Ž¯è\\ævXùÚáèd|¡œ˜Z.º^\\^ÎLq^ñuwÒ·ëC ÜDWÐ:¾üM±äiPZ>š/²Åör.]©'>wÕWË)}´9kªX‡¨ñ?í\b|h3¾@™myE*\t_øHÒUÞÔ\fÜÏü“¾â3€ ×t3°Ÿ§ë«™Ì­Ìkºž$|+µ\nüÓÝ=³_†t{ ãé®sk½š¯±~¨{Ë5X`²5¡º§nø^ô£XúûMÙ\t Oûµ×(?SK—„iúI€U5_DWÑ¿ÌY¾¡ãÃvuþÎN ³—ú¥‚–ñ\ròdŠÃh‘pÖ\bùRf~ág|åë^Ïå}Îæá¯\v¹ç_&}3[þÊçd\nDÕ:ÿ¯¾Ð„w÷N·WcÖ9š'‹tÆC¬îڝX¶fÈWüNíH\\¬‰<—Xç|¬  ±ÉX“ŠáëˆvH,²Fnÿ£ÎÌÖþ‹\0mœ»È+–ð®ìæ5 Ð×y6Öр;¾Wb\t\b¤\vµ¶ä/üägiÈMËɯæÕÎ+·\0Ò¶ý{þÂ9´@¦¡]/DËíàë<xÐn@Ž[¯%\v-ÓªtüSŽÇkª€ËšEþ›dnGS5ôNY`µ\\Ñ-j£ÿ‹níbÛ¡É~»Á^C©i[뫀¾ü„v«xˆßOÝ,¼ž–üÕª<1w4JPqíj¡ðü¤vEC³ð—ºyR32¨uÑÎ\0­ü†Þ“,”Þ<ºîè7°†‰`jkæÁÁli[°\b&TÍÌ×QŽeNŽ¶¶f#ðãÔ¯àÖùðZÒ\0#k\tÆ[ GóÖë삝øMÒ²èC½\b0ëóàkŠr¡ä­Á;·rUòUÖ$­Ìä¹yÁÊs>^µ¼®J\\°æ1°«q(ÚïíRÁˆ\0°æ½ñh-hÏ殚¥ÁÒ>Š+ƒ89n`­Ý˜o‹úíÖ!Ь÷…CW-\fÕyt‹Âݵª®ŒSá¿\vöjÞ®ßT|0¿uÛ_ñÛUîú~ÒªóèxF4~wñXð›ÄîóÝq¯¿k¾ë?ßý]ØÞ§âÐ.ŸŸ:ÆÑyï÷³ó¯ßËî:7¿h£@Gýªþïö[¾ÁÁûŸòëŽGù#Ë柰Ûá¿!î]º½ù¢×È_K£\rv5nܬewS÷ørYkö:¯ZGçá7/Py.ÆÇ»½—³Y ‚¼?w\r¼Óª€vA7Öâ-5´lñ荩5köJø#¨'·ðÝ®^)fӅ ÜY ±É.èò=èj\"9£÷_Z÷\0’CùÔóé?êÚð›@E±¨å¹•«¢„øÖíüʉøäÚº÷™ È.Àº”ù´vÕ¬‡yH¬õ:<ÛÿxW4ÓP3C/ú·¥í|”KÑÞÕé'µäï”ßRG\0 Ï\0´X´Hì\0·ú‚\"ƒŸ@j>»„‚¬¥ÄŒ@lh˜;À7,ØÑN/Þ£±¢i\"0ZZ·ûË2…ų\tøÍmn\"6ÓmŸ±ÆÅ<±¥/mÙ­u ±B@\rÅZZ5l^ƒTù\f \rñ¾\f;²\t ‘بÀh±hQ\"jÀOÅ®LÅ[\"ŒD¾TǶb½˜(ö®B c31ÀJ\fUcÙ{[‰±¬Óí½<(ÈH’Zíÿ’OþJ—}‹…\"½\vÈĐÁZ…(S\bÂ<2ÖÑuc‚5M€Ÿ}6[@bî[)$ÅÀujZþÌ÷é_\b܌ï\0ä®. B§½¶WÁœYK|\tR$@]Bb<_¯\vG1äXÆwÙ._¢¡Îï@„è!»‚‘Â\0Àî­¯sO_ݔ|­õj>˜Å{0êË>D¯í+Þ˓MnÏÇó\rÖúÀðSґ]A2gª£Ë܈^ò†\v¬¥ëè¤v\v5¶‹CVo™È€ÑQ}I±Ì½~¥s¡µNm]šgø3÷ø% ™e@örd ŸxjGàvwù:=­\0  ʵk>\bÌ4I˜C@äƒÌÃFÏgÒF৛€&äRŽê:,e.U\b´xáë债ûc-£ÅaÚG¼ïéÂAŠ!OÓ3>ڜ\\3_£œ\v2šÅ(³ŽÈø‘íy*~'ÐZ~då5†·\n^~-žÃE‰€ÌïhÃpù·ñ„ñÁƒ·p®/}Äç¢æÐâ‘û~ÏÇ[bQ|«ófJ{ h¸Ûfo‰\nAy' ÍÉ59qi¸åÚ¼xt.s/ÏßDoÜʧò\"k’Ú<N›«X÷v²ü`a€º¹¿uÎ[K±H Ûvuîâ&á¾k.¼w»@ŠU«vòn04Ýùðw;ö@³s£yŽë\vÊl÷µ5¤wHqx¬c;Àüðæº;ĒuŽ›,,«nû½.›õOÍñ±‰\"áÍe¡´ª@ŸÆdÅ?*\0¬jÇ¿~ðµZ©Pì\0ދ#Å´9ôÁž¼Ô² {ë²Ì„ŸÀ'ý“£»†ìmÀÖB ù]ACýµ9¡C¾Áß¹ëÏ?\0䁞6–(æ\\aëŸò÷,\vºåïÁïîò…8È\tmõ\rÔ°³KÍÏ[c¤\vÌӅÜÑ(ìù‹ûõ¶†ôçcՂBŠ‰u„þ‘Æ´¥à§<̚V@xg€ªuø\tP5Ýìî@óË­éf!‡×¡ßÝ'ÆNüMï\0ïéfwÙÝAd•â’…¢[«ch®$à#^óë\fž‹jÛ}4vè–nwlYÌHwxt\f5ehÉØüª¿2?éXì€_º`ìŒMmì6 ;cÆ7\0[@Žº³§—}ðå󗱊Ý\tÿí€{±?6¿\vÄv¬7¦½ŽÇk})äѽ}vŒ~SÀgýÐØ»ÿ®Ÿ¨?õ L–„v¥ˆd»o¸®©â‘\\WœÒ,m´CGð.«€…æ›Þ+4|5´HŒÿ—|ÄØË\0¶ÖÓÐQa®®C¹.]‰1aŸÒ™(\r­k›óäÄ,Ó@­\0ïùEóÓý2ë!êuþÊÎ`ª8tïߧ·újî(¦Ç,$Ú<9Eá‘âj̲.äÀÚ.1žŽ5¿¬| \r†?’;jv÷hނ¾+¨©ÆXóÌÔ\x007³òDšÊ|;†({€Ì/Co¢>?U8œxË͌|Õñ)ø£˜J÷îÎWºm\b¸Ãç\r˜]M«\x004rVÀìΧ!EÌÄxÅÄÒîå/pFðUvN~Ë­eü!¨ï>Ï/VÅ·h»hhk²æ30R½s¿l^ñ­Ì“CÌ&ã»@ï.\b™x¢ÁÎoT'\rŽÒ¼8vç3ZM¨y\\ê~¼\x000¤%>àw…Ò²¶àh.bVyvð8&iՂ£Y4¿ó+ÀüWݺOÞ&¤v\nh!ýµWo\vJÅ䑻å»rZ#0ó±I°­ùÌv^ø´|5s^ïÅ7ÒªúJëŸ2³u禘p·øjÅƈƒ\n\0ûP3¾íb0\t»7îKÌ¢‚Â}'\nFwoåˆlj7àÂO¹Îކ[«ºÖEä\váÌä`ã™NžŽ‹àÓ^w#ìÕ8×7ó²`<ÆÉó Î+.c^Ž\b~BçŸrIÀ­æ³Ž«qÆ:2 st\\êµN+ѸvEº-Ç˲ÅC³jÜÃßÕ@LÓØa0üwå¬F\bô0¤Õmúé˜kdâŒã)\nÔü5T‡Ö!':w¦\bT\vÉcü¢7QµV\r-ø«Ûzn\b‚(g§XT\vGµˆ°cyu‹§].Sp:9Ç´Ç$-\v0Q&OV;ÊíR4ªðsËܳ·Šs¢£§ó\f\0~ì]œ“…Í9\tøhÎNG_ÖÑëÀ\\µÌk‹lþV7π“]cv½;€îÄf¡Äžx½;\0/SÆ2þÈÚ³>“¶~ȧ(\r—]±‹ÁTޝp½à#¹&vïd[áßTPÞèNì;±†—ÿ¿ûÝÿA‹Ôvwþô…ø´Šó†½¸ˆæãuL‚2ý~ØwÙÔZ_öç½r¼\0Ζ݂“¯s+\0±ÝÅà‘ߺXX·æ›¼£[Ôa(ô™.\n)ø©\0Î&˜ïîæۊÁC{¤ó|†n;_RÎ'ý: JÛUDH‘|]«=¢<üÝN~\vÌ,G©›k<­]\v\0gI«[@ŒµŒ€[„­²õ‚ïÀîÙ¤¢»ÛBø©\0©™éçI{`nÇ{1À±§=\rúîmz%&n%¾h¶pxÖíôÅ8?½¥'2Ëo4F‚MÍnnÄ»1\0hž.¨•˜.ܨßH÷'ªmãQ?Ë^3e“ðÃõs Eü*1•Ý\0º†2Œ,׸ö\rpoіÛã\nÄAQ\bý<m´ë[y<ÛýOz+€žÌós\nM¥“ÃÀŠµ¶w»õºÅAúm*\b¨_Ttێêí,$‰§ý%?‹™ªQ³óq;A†s5F€e¯«Ò™SsÇºÊ s¡ß–Æø¨(ìèÜDÁxٟ÷*sh/í}èA`FCÂË4§\v€«ñXçVèA÷æÆ4ªs𫰋k{´`T-[$*ðOtñ±¸háÓ©lÅÃ9®Ÿ‰Û\blëõì^Wa.¼uˆâªšÜЂšsY›†_\nn9nC‘çcEóò=ÖþÃkønՔ¶ZôV#×µ6üäCìŠ]à2*€_¾¶„N¤YÙ-´t‚;Aoëd¶ìð'Š‹´ê\\ƺ:üäÃ7qY'Э‚ú2Ý*ä_–ËzßPg @d|=ÐLßà{ÅE kúzVÝ!T|Qø3\\Zu»íêdu©XHÄy\b.˳­ 8±mßÇúÓ`OòU_y¾Ù×4Z¦ìҝ¶ütðN¬ô%»k§!fZàåy*ÏcÓwb§:¶ê{Cliûš‰õ Ìì¢ØŒmùoø-‹ *Êy'¶z;gÀ”¹¶Bîh¥cÙy;¶¨•ÝŒ€ô\0ÍÏ2y#»åŸô.\vàïl»[Ý?y«ýX{¥ „ZÑùdÁpÎ; CZÅ\\eЁ\\¥Ýƒvž±I-ËvÁéu #\n ͦ;\vBáüÎ\\[Aîæš9—Æßú®vçö`ÊLø§‹A7>©·µ¸Ü|®‚ÀÖ÷Jè³çcpÜ}~÷ŸoÚ4~þ÷э5 Ù|DoyÎ^ÓdwÞ¹ÞÛA7ýl¼åÏá»îOoXÖRù¹sÁnYÃ;6¶û|뚦ÁçÃÝðgá,ˆdŽ,\\#9…f÷üŽcPÞXH\\ÍiÐÛ¡YµQø\t€y@#,4P\0º;w\t•u”ŠBSc\fr6V.$\t\r\tyK2[\\‹4;ւŸötꑂ\0ä)iL\r¹³£«Wbvl·+1£Ý<‘'¥QÌãI´v\n]ø+°ÅgdGðˆÛ<g%fKHêN@žŠitóTŒføH\fb»Ÿdá¯téR÷×|&\n‚’«Ôñùï*\nڅ»èQ]ÔÇè šNê)iwéV}–w~c¬Ò•ËpW|VÊÈçEEAkùùßX:¦Ó‘µ±·õÑÆ´N¼\vâ;¾%hÃOØPA@´•±)¢â®€è6˜wj· gcˆÏNívw×ƪàOƒÉ¸e.ü„ZíôP÷µ¦ 5ãĺÊù€5Œ\n-® õj ݸ¤y:N³jª…˜·ƒˆà¯nÏ«€Zc“Zc»¢€êŠZU˜SZý6ГZèÒÝ3cÒ44'bÙ¸\nüšA\0¡úHÁAs‚c-‹këæ¼æ¶~a,\rªßéî“Å\0µ]úSðßÑýw€Î˜\t‹Xónà;c»a¾c¬ÔU_56Ùõ+v7üDÿC€¨½Qaã?̘Öřïێ½|¢:ü\b·ŠÆz:àlËCÂ Æѱ»ò¤ÇˆÒ]¼œçÈ3ÖÉÙXçOÆ·\n…O`xè¾U±hhòüe#_èÖ¥<f˜§Á7o×BøɀR³L|·(X¾„€L®» NÇ7|·Æ¾wžñ½€×¿»µï„hׁÀŸéþ]Эñ€iÃÎ éۅp—oîQ_6Þ|Ü׬[d,ënøµ.;úÖbAJxälÁ®Œg|'4Ɗƒï[öÖ(ûZãð-{eAhuþLQ } [ã8·ìø„†ÕȎOh°ñL·¾hdÁßY,>#Û¿iAώ»àQbw`o*$Ùñ\tX­ñ\t\0³ã·æœ|¢ ì°ÿœ?ã9à(Ñýßqœúëß\tÞ?zœÍmðUàß¹N\tÿ«º?Ñ=@uXÂwã¹ß±Ðˆ¹-ã“ZÁ׍^î¾ã/Û\t¶{zsS Oj… ÒÀíÃS\bƒqR+\vפ”˱àf1ÙñI-ü»‹E~òaNÇò”@7b&»wCFqHæ)\b/&¡·\r`ºFç®ÄŒÏ*1Ý¿„á§\"°¤wO¯²3põkÛ9s\"ÙAÜõ´\\\f€®íéMvîTLu®ªg“¿Úýß¡\0¸¹ˆÒÐzs˜^’K™«tko®ïö\\àÜÜÞ\\UoôÿÒ˚ÎÕ9ÏeØwš›žSæ†÷-æØüø={×Æà§ùî¿â,xÂØ꜓³5g̿лtGæÄüm€6çÆsNýÇ=Sð“Í®âÆn\0¹ëÁӉ­Bى…u“±Up;±i@wÁÍwàÎì2²ð·ŠC0ß*\0µmÙ]8ó»@æwÁ͏Å&çGcóã±Ñ|~îȦáoª€h¾yw¾zw¾l4߁²;ß³;_†sÞ®]à§`#óßï\b1_ßËA7|Þj^ñ¹}^ø¼å<Q¿ëgç5øÛݝú€h`@´ò\t.è»ažÐè7¡±µÛß¹Ý_V‚Ÿ\0x'4\0Ÿh—ðôi\0\fk4}î\0ñ¹æ’FÁ'‚i«Ñ¾ÿ‰ç„Fþ»à†}Ö²\"ŸÍ\0ßé3úÅÇð{˜ïôiAO4þŽ®OԀŸ†Ámv^îwW¾qÈ¿;!¾;ßV˜…_hDïϓw䫇ü“Eõ›.DÀnÍø!@mÓrü¦\0Eý¶kýÞ\nèŒ_ÕTøiØWù¥Á¥û\nêWêÔ?‚Ÿâ;\tòˆÞõcšc@ßágÁ?Ýý‰`?t'v%MÀ7]0MÔ¯¬éøNlúe|š“ ‡~߂涎¿¬\r?áPïòÝQž¾€¿üîw—/\nå.ßv!Ê/´wøB0ïòÕl~¢à±–IX³¾;µË… ¾™‚àø·}‰.Pº¾Šþ˜ïÚo>‘?å Íúg ÞíK!\0cvúgÀÍúg:õ¨¿3\n¼ðπ¹Ûßò÷àÏv¢½ƒ¨X1™N\\ñoç\0bvBnú;1pCÿJÌ@Ž-³˜mþžMÃO´èVL2®U<À¸‘ n7änŒ7£Äeá…cDÜ1c]ø)r'î. «q•.‰c+pWãW·W·—‚¸\n¾Á_íþDÂñÈ[*…Ø;¡îƎ v\väNlôNìvàEì(ÀÛ\t?Q½\0ՋÀ3¶_-—Ød|l3Œ¯ÆñÛA7â«Ð¦cE|\tÞ]àðS`¢ÄÏø†FæK|A£µŸÐèÀÆÈáxG£{:^Ñè@_Žgf<?Q¿\0õ‹ÀS£©Ó-¢NjW#¡Ó…Ò\0tº¦5\f.¬e\r¡ÓêöȎ…¿»ýç6Qž:˦ŠACkæi­\t°!Po𒖣7{YGÑÛ²Å×\f†ŸfºÿIh¤\bœô–Mí0†4o)\fEÍ)°Óz€æ˜-=CsÒУÏ\t2ðÍ\0¢™­¼«;¨=\tq¨ÙО:­›Ðž¼¬èOÃ9®Ë´!Í,üD{\nÀS›Ÿì,rLÜ—´›9¦¶Ï#ډӝw‹¾‘cËÖ>>Q\r~Z\t6Sže›òíèæ©<ƒ9w‚ÜÊSÈ·¾-yœ|[ïã«·Uø—íܨùäÀæü;¶äíœÃù§Tݒ¯˜|“ùKùºðO|s!¸ä—vÓz•_Ú«‹‡´WÍîÞ9D6õÌ`~n¯.Ò^ѹ#»c˜±;¶½»¦WïPÛñp~nwܯOØ]÷Éön ZöXî~~±Óîxn°~i»Ÿ¶ßiw=ŒºÃ^zñ¿â¡ê;Ùß6Xv'ü–íúNúG±ÿ%ø*öÃÙ´w€?c?ʶ÷G²ÿ9ø2ö¿tۓµ>|ø§_üÿhû·øýsíÿ\0âI1Kʱ\0\0\0\0IEND®B`‚",
            barImage: "‰PNG\r\n\n\0\0\0\rIHDR\0\0\0\0\0\0ÿ\b\0\0\0wƒÁa\0\0\0\tpHYs\0\0\0\0\0\0\0O%ÄÖ\0\0\0$zTXtCreator\0\0\b™sLÉOJUpL+I-RpMKKM.)\0AzÎjzÅ\0\0\0“IDAThíØË\r€@\fQý×Ë/Ôà•@\bÍޟ|¬[³’WÒú=°<¾\0\0\0\0\0À/[W¶°É)È\0\0\0\0\0€×€gu4e Â6Q…þÈ\0\0\0\0\0€1`i:t–'%\0\0\0\0\0ø(°º2à¬Ta›¨Â?„\0\0\0\0\0\0ƒÀGXî=Æ\f\0\0\0\0\0€÷€;<Ùo´\"ŒÙtbiA\0\0\0\0IEND®B`‚"
        };
        if (config) {
            if (config.dataFontSize) ColorPicker.dataFontSize = config.dataFontSize;
            if (config.picker) ColorPicker.picker = config.picker;
        }
        var marker = false;
        var pickerSetting = ColorPicker.picker;
        var window = new Window("dialog", ColorPicker.name, undef, {
            closeButton: false
        });
        var leftGroup = window.add("group");
        var colorBg = leftGroup.add("group");
        var colorSrcImage = leftGroup.add("image");
        var rgbPicker = leftGroup.add("customview");
        var rightGroup = window.add("group");
        var colorBarGroup = rightGroup.add("group");
        var colorBarImage = colorBarGroup.add("image");
        var huePicker = colorBarGroup.add("customboundedvalue");
        var colorDataView = rightGroup.add("group");
        var sample = colorDataView.add("group");
        var colorDataGroup = colorDataView.add("group");
        var hexColorDataGroup = colorDataView.add("group");
        var hexTitle = hexColorDataGroup.add("statictext");
        var hexTextBox = hexColorDataGroup.add("edittext");
        window.margins = 5;
        window.spacing = 10;
        window.size = [ 640, 400 ];
        colorBarGroup.spacing = hexColorDataGroup.spacing = 0;
        window.orientation = "row";
        leftGroup.orientation = "stack";
        colorDataView.orientation = colorDataGroup.orientation = "column";
        colorDataView.alignChildren = [ "left", "fill" ];
        huePicker.size = [ pickerSetting.hueSize, pickerSetting.hueSize ];
        rgbPicker.size = [ pickerSetting.rgbSize, pickerSetting.rgbSize ];
        hexTextBox.size = [ 64, 16 ];
        colorBarGroup.minimumSize = [ 25, 265 ];
        colorBg.preferredSize = [ 255, 249.9 ];
        sample.preferredSize = [ 54, 32 ];
        sample.graphics.backgroundColor = sample.graphics.newBrush(0, [ 0, 0, 0 ]);
        colorBg.graphics.backgroundColor = colorBg.graphics.newBrush(0, [ 1, 0, 0 ]);
        colorSrcImage.image = ScriptUI.newImage(ColorPicker.srcImage);
        colorBarImage.image = ScriptUI.newImage(ColorPicker.barImage);
        hexTitle.text = "#";
        hexTextBox.text = "000000";
        hexTextBox.active = true;
        huePicker.value = 0;
        colorDataView.add("button", undef, "ok", {
            name: "ok"
        }).onClick = function() {
            marker = true;
            window.close();
        };
        colorDataView.add("button", undef, "cancel", {
            name: "cancel"
        });
        var length = ColorPicker.units.length;
        for (var i = -1; ++i < length; ) {
            var g = colorDataGroup.add("group");
            g.spacing = 0;
            g.add("statictext", [ 0, 0, ColorPicker.dataFontSize, ColorPicker.dataFontSize ], ColorPicker.units[i] + ":").onDraw = function() {
                this.graphics.drawString(this.text, this.graphics.newPen(0, [ 1, 1, 1 ], 1), 0, -ColorPicker.dataFontSize + 1, ScriptUI.newFont(this.graphics.font.name, "", ColorPicker.dataFontSize));
            };
            g.add("edittext", [ 0, 0, 2 * ColorPicker.dataFontSize, ColorPicker.dataFontSize ], "0");
        }
        var rgbPickerBrushColor = [ 1, 1, 1 ];
        var rgbSize = -pickerSetting.rgbSize / 2;
        var offset = colorBg.preferredSize[0] + rgbSize;
        rgbPicker.onDraw = function() {
            var pos = pickerSetting.strokeWidth / 2 + 1;
            this.graphics.ellipsePath(pos, pos, pickerSetting.rgbSize - pos, pickerSetting.rgbSize - pos);
            this.graphics.strokePath(this.graphics.newPen(0, rgbPickerBrushColor, pickerSetting.strokeWidth));
        };
        huePicker.onDraw = function() {
            this.graphics.moveTo(8, 0);
            this.graphics.lineTo(1, 5);
            this.graphics.lineTo(8, 10);
            this.graphics.strokePath(this.graphics.newPen(0, [ 1, 1, 1 ], pickerSetting.strokeWidth));
        };
        var changColorData = function() {
            var hsb = [ huePicker.value, Math.min(Math.round(100 * rgbPicker.location.x / 255), 100), Math.min(Math.round(100 - 100 * rgbPicker.location.y / offset), 100) ];
            var rgb = Color.hsbToRgb(hsb);
            var colorData = __spreadArray([ 0, hsb[1], hsb[2] ], rgb, true);
            for (var i = 0; ++i < length; ) {
                colorDataGroup.children[i].children[1].text = colorData[i].toString();
            }
            hexTextBox.text = Color.rgbToHex(rgb).substring(1);
            sample.graphics.backgroundColor = sample.graphics.newBrush(0, Color.rgbNormalize(rgb));
            if (hsb[2] > 90) {
                rgbPickerBrushColor = [ 0, 0, 0 ];
            } else {
                rgbPickerBrushColor = [ 1, 1, 1 ];
            }
        };
        var changHueColor = function(e) {
            huePicker.location.y = clamp(0, e.clientY + huePicker.size[1] / 2, 255);
            huePicker.value = Math.round(360 - 360 * huePicker.location.y / 255);
            var value = Color.hsbToRgb([ huePicker.value, 100, 100 ]);
            colorBg.graphics.backgroundColor = sample.graphics.backgroundColor = colorBg.graphics.newBrush(0, Color.rgbNormalize(value));
            colorDataGroup.children[0].children[1].text = huePicker.value.toString();
            hexTextBox.text = Color.rgbToHex(value).substring(1);
        };
        mouseMoveElement(rgbPicker, changColorData);
        mouseMoveEnviron(colorBarImage, changHueColor);
        colorBarImage.addEventListener("click", function(e) {
            changHueColor(e);
        });
        colorSrcImage.addEventListener("click", function(e) {
            rgbPicker.location = [ e.clientX - rgbPicker.size[0] / 2, e.clientY - rgbPicker.size[1] / 2 ];
            changColorData();
        });
        window.layout.layout(true);
        window.layout.resize();
        colorBg.location.y = 0.1;
        rgbPicker.location = [ rgbSize, offset ];
        huePicker.location.y = 255;
        colorBarImage.location.y = 5;
        window.center();
        window.show();
        return marker ? {
            hsb: [ +colorDataGroup.children[0].children[1].text, +colorDataGroup.children[1].children[1].text, +colorDataGroup.children[2].children[1].text ],
            rgb: [ +colorDataGroup.children[3].children[1].text, +colorDataGroup.children[4].children[1].text, +colorDataGroup.children[5].children[1].text ],
            hex: '#' + hexTextBox.text
        } : null;
    }
}());

给TA充电
共{{data.count}}人
人已充电
AEAE技巧

【快捷操作】AE独显选择的属性 :SS

2021-12-9 22:22:56

AEAE文章AE表达式

【AE表达式】重复文字 repeat

2021-8-26 15:20:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索