_encode=function(str){
                    return str.replace(/\x02|\x03/g, function(a){return a=="\x02"?"&lt;":"&amp;"});
                }
/
                    [reg.BLOCK_COMMENT.source,reverse?'':function(s,i){var ret="\x01d" + index4++ +"\x02"; cache.d[ret]=s[i]; return ret;}],
                    // //
                    [reg.LINE_COMMENT.source,reverse?'':function(s,i){var ret="\x01e" + index5++ +"\x02"; cache.e[ret]=s[i]; return ret;}],
                    // /*@
                    [/\/\*@|@\*\/|\/\/@[^\n]*\n/.source,function(s,i){var ret="\x01c" + index3++ +"\x02"; cache.c[ret]=s[i]; return ret;}],
                    // ``
                    [reg.T_STRING.source,function(s,i){var ret="\x03a" + index1++ +"\x04"; cache.a[ret]=s[i]; return ret;}],
                    // ''
                    [reg.SQ_STRING.source,function(s,i){var ret="\x03a" + index1++ +"\x04"; cache.a[ret]=s[i]; return ret;}],
                    // ""
                    [reg.DQ_STRING.source,function(s,i){var ret="\x03b" + index2++ +"\x04"; cache.b[ret]=s[i]; return ret;}],
                    // regexp
                    [reg.REG.source,function(s,i){var ret="\x03f" + index6++ +"\x04"; cache.f[ret]=s[i]; return ret;}],
                    // {a}= or [b]=
                    [/\{[\w,\s]+\}\s*=/.source,function(s,i){var ret="\x03h" + index7++ +"\x04"; cache.h[ret]=s[i].replace(/[\s=]+$/,''); return ret+" =";}],
                    [/\[[\w,\s]+\]\s*=/.source,function(s,i){var ret="\x03i" + index8++ +"\x04"; cache.i[ret]=s[i].replace(/[\s=]+$/,''); return ret+" =";}],
                    // function(a,b,c)
                    [/function\s*\([^)]*\)/.source,function(s,i){var ret="\x03g" + index9++ +"\x04"; cache.g[ret]=s[i]; return ret;}]
                ]);
                arr=[
                    // a++ +b;
                    ["([+-])\\s+([+-])", "$1 $2"],
                    // var a;
                    ["\\b[\\s]+\\b", " "],
                    // [ a
                    ["[\\s]+", ""]
                ];
                if(type=='css'){
                    xui.arr.insertAny(arr,[/\s+(\.)/.source, " $1"],2,true);
                    xui.arr.insertAny(arr,[/(\d*\.?\d+|\d+\.?\d*)(cm|em|ex|pt|px|%|\:)?/, " $0 "],-1,true);
                }
                // prepare space
                code=xui.replace(code,arr);
                var Brackets={};
                if(!reverse){
                    arr=arr.concat([
                        // a[b[6]] =>a[*]
                        [/\[[^;\n{}\x01\x03\[\]]+\]/.source, "$0"],
                        // [{
                        [/(\[)\s*(\{)/.source, function(a,i){Brackets[deep+1]=1; return a[i+1]+'\n'+space[++deep]+a[i+2]+'\n'+space[++deep]}],
                        // [   or  {
                        [/[\[\{]/.source, function(a,i){Brackets[deep+1]=a[i]=='['; return a[i]+'\n'+space[++deep]}],

                        [/[\x02\;]/.source, function(a,i){return a[i]+'\n'+space[deep]}],
                        [/(\,)([\x03\x04\w_\-]+\:)/.source, function(a,i){return a[i+1]+'\n'+space[deep]+a[i+2]}],
                        [/,/.source, function(a,i){return Brackets[deep]? ',\n'+space[deep] : ','}],
                        [/\x01/.source, function(a,i){return '\n'+space[deep]+a[i]}],

                        // ]}   or   ]},    or   ]};
                        [/(\])\s*(\})\s*([\,\;]*)/.source, function(a,i){Brackets[deep-1]=0; return '\n'+space[--deep]+a[i+1]+'\n'+space[--deep]+a[i+2]+a[i+3]+'\n'+space[deep] }],
                        // }    or   },   or   };
                        [/\}\s*[\,\;]