if(typeof PAYPAL=='undefined'||!PAYPAL){var PAYPAL={}}PAYPAL.apps=PAYPAL.apps||{};(function(){var w={parent:document.body,displayEdge:'right',edgeDistance:'50px',cookiePath:'/',strings:{button:'',subtotal:'',discount:'',shipping:''},name:'PPMiniCart',peekEnabled:true,paypalURL:'https://www.paypal.com/cgi-bin/webscr',assetURL:'http://www.minicartjs.com/build/',target:'_self',events:{onRender:null,afterRender:null,onHide:null,afterHide:null,onShow:null,afterShow:null,onAddToCart:null,afterAddToCart:null,onRemoveFromCart:null,afterRemoveFromCart:null,onCheckout:null,onReset:null,afterReset:null}};PAYPAL.apps.MiniCart=(function(){var f=arguments.callee;var g=/^(?:item_number|item_name|amount|quantity|on|os|option_|tax|weight|handling|shipping|discount)/;var h=/^(?:business|currency_code|lc|paymentaction|no_shipping|cn|no_note|invoice|handling_cart|weight_cart|weight_unit|tax_cart|page_style|image_url|cpp_|cs|cbt|return|cancel_return|notify_url|rm|custom|charset)/;var l=function(a){var b,cmd,key,i;for(key in a){if(w[key]){w[key]=a[key]}}m();q();b=location.hash.substring(1);if(b.indexOf(w.name+'=')===0){cmd=b.split('=')[1];if(cmd=='reset'){f.reset();location.hash=''}}if(f.isShowing){setTimeout(function(){f.hide(null)},500)}else{$.storage.remove()}f.updateSubtotal()};var m=function(){var a=w.events,onRender=a.onRender,afterRender=a.afterRender;if(typeof onRender=='function'){onRender.call(f)}n();o();p();if(typeof afterRender=='function'){afterRender.call(f)}};var n=function(){var a=w.name,head,style,css;css='#'+a+' form { position:fixed; float:none; top:-250px; '+w.displayEdge+':'+w.edgeDistance+'; width:265px; margin:0; padding:50px 10px 0; min-height:170px; background:#fff url('+w.assetURL+'images/minicart_sprite.png) no-repeat -125px -60px; border:1px solid #999; border-top:0; font:13px/normal arial, helvetica; color:#333; text-align:left; -moz-border-radius:0 0 8px 8px; -webkit-border-radius:0 0 8px 8px; border-radius:0 0 8px 8px; -moz-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); text-align:left; } ';css+='#'+a+' ul { position:relative; overflow-x:hidden; overflow-y:auto; height:130px; margin:0 0 7px; padding:0; list-style-type:none; border-top:1px solid #ccc; border-bottom:1px solid #ccc; } ';css+='#'+a+' li { position:relative; margin:-1px 0 0; padding:6px 5px 6px 0; border-top:1px solid #f2f2f2; } ';css+='#'+a+' li a { color:#333; text-decoration:none; } ';css+='#'+a+' li a span { color:#999; font-size:10px; } ';css+='#'+a+' li .quantity { position:absolute; top:.5em; right:78px; width:22px; padding:1px; border:1px solid #83a8cc; text-align:right; } ';css+='#'+a+' li .price { position:absolute; top:.5em; right:4px; } ';css+='#'+a+' li .remove { position:absolute; top:9px; right:60px; width:14px; height:14px; background:url('+w.assetURL+'images/minicart_sprite.png) no-repeat -134px -4px; border:0; cursor:pointer; } ';css+='#'+a+' p { margin:0; padding:0 0 0 20px; background:url('+w.assetURL+'images/minicart_sprite.png) no-repeat; font-size:13px; font-weight:bold; } ';css+='#'+a+' p:hover { cursor:pointer; } ';css+='#'+a+' p input { float:right; margin:4px 0 0; padding:1px 4px; text-decoration:none; font-weight:normal; color:#333; background:#ffa822 url('+w.assetURL+'images/minicart_sprite.png) repeat-x left center; border:1px solid #d5bd98; border-right-color:#935e0d; border-bottom-color:#935e0d; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; } ';css+='#'+a+' p .shipping { display:block; font-size:10px; font-weight:normal; color:#999; } ';style=document.createElement('style');style.type='text/css';if(style.styleSheet){style.styleSheet.cssText=css}else{style.appendChild(document.createTextNode(css))}head=document.getElementsByTagName('head')[0];head.appendChild(style)};var o=function(){var a=f.UI,cmd,type,bn,parent;a.wrapper=document.createElement('div');a.wrapper.id=w.name;cmd=document.createElement('input');cmd.type='hidden';cmd.name='cmd';cmd.value='_cart';type=cmd.cloneNode(false);type.name='upload';type.value='1';bn=cmd.cloneNode(false);bn.name='bn';bn.value='Serif.WebPlus';a.cart=document.createElement('form');a.cart.method='post';a.cart.action=w.paypalURL;a.cart.appendChild(cmd);a.cart.appendChild(type);a.cart.appendChild(bn);a.cart.style.zIndex='200';a.cart.target=w.target;a.wrapper.appendChild(a.cart);a.itemList=document.createElement('ul');a.cart.appendChild(a.itemList);a.summary=document.createElement('p');a.cart.appendChild(a.summary);a.button=document.createElement('input');a.button.type='submit';a.button.value=w.strings.button||'Checkout';a.summary.appendChild(a.button);a.subtotal=document.createElement('span');a.subtotal.innerHTML=w.strings.subtotal||'Subtotal: ';a.subtotalAmount=document.createElement('span');a.subtotalAmount.innerHTML='0.00';a.subtotal.appendChild(a.subtotalAmount);a.summary.appendChild(a.subtotal);a.shipping=document.createElement('span');a.shipping.className='shipping';a.shipping.innerHTML=w.strings.shipping||'does not include shipping &amp; tax';a.summary.appendChild(a.shipping);if(window.attachEvent&&!window.opera){var b=navigator.userAgent.match(/MSIE\s([^;]*)/);if(b){b=parseFloat(b[1]);if(b<7||(b>=7&&document.compatMode==='BackCompat')){a.cart.style.position='absolute';a.wrapper.style[w.displayEdge]='0';a.wrapper.style.setExpression('top','x = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop')}}}parent=(typeof w.parent==='string')?document.getElementById(w.parent):w.parent;parent.appendChild(a.wrapper)};var p=function(){var b,form,i;b=document.getElementsByTagName('form');for(i=0;i<b.length;i++){form=b[i];if(form.cmd&&(form.cmd.value==='_cart'||form.cmd.value==='_xclick')){if(form.add){$.event.add(form,'submit',function(e){e.preventDefault(e);var a=r(e.target);f.addToCart(a)})}else if(form.display){$.event.add(form,'submit',function(e){e.preventDefault();f.show(e)})}}}$.event.add(document,'click',function(e){if(f.isShowing){var a=e.target;if(!(/input|button|select|option/i.test(a.tagName))){while(a.nodeType===1){if(a===f.UI.cart){return}a=a.parentNode}f.hide(null)}}});$.event.add(f.UI.cart,'submit',function(e){v(e)});$.event.add(f.UI.summary,'click',function(e){var a=e.target;if(a!==f.UI.button){f.toggle(e)}});function redrawCartItems(){f.products=[];f.UI.itemList.innerHTML='';f.UI.subtotalAmount.innerHTML='';q();f.updateSubtotal()}if(window.attachEvent&&!window.opera){$.event.add(document,'storage',function(e){setTimeout(redrawCartItems,100)})}else{$.event.add(window,'storage',function(e){if((e.key&&e.key==w.name)||!e.key){redrawCartItems()}})}};var q=function(){var a,length;if((a=$.storage.load())){length=a.length;for(i=0;i<length;i++){if(t(a[i])){f.isShowing=true}}}};var r=function(a){var b=a.elements,data={},pair,value,length,i;for(i=0,len=b.length;i<len;i++){pair=b[i];if((value=$.util.getInputValue(pair))){data[pair.name]=value}}return data};var s=function(a){var b={item_name:''},settings={},existing,option_index,key,len,match,i,j;for(key in a){if(h.test(key)){settings[key]=a[key]}else if(g.test(key)){b[key]=a[key]}}for(i=0,len=f.products.length;i<len;i++){existing=f.products[i].product;if(b.item_name===existing.item_name&&b.item_number===existing.item_number){match=true;j=0;while(existing['os'+j]){if(b['os'+j]!==existing['os'+j]){match=false;break}j++}if(match){b.offset=existing.offset;break}}}b.href=b.href||window.location.href;b.quantity=parseInt(a.quantity||1,10);b.amount=parseFloat(a.amount||0);if(settings['return']&&settings['return'].indexOf('#')==-1){settings['return']+='#'+w.name+'=reset'}option_index=(b.option_index)?b.option_index:0;while(b['os'+option_index]){i=0;while(typeof b['option_select'+i]!='undefined'){if(b['option_select'+i]==b['os'+option_index]){b.amount=parseFloat(b['option_amount'+i]);break}i++}option_index++}return{product:b,settings:settings}};var t=function(c){var d,product=new x(c,f.UI.itemList.children.length+1),offset=c.product.offset;f.products[offset]=product;for(key in c.settings){if(f.UI.cart.elements[key]){if(f.UI.cart.elements[key].value){f.UI.cart.elements[key].value=c.settings[key]}else{f.UI.cart.elements[key]=c.settings[key]}}else{hiddenInput=document.createElement('input');hiddenInput.type='hidden';hiddenInput.name=key;hiddenInput.value=c.settings[key];f.UI.cart.appendChild(hiddenInput)}}if(product.isPlaceholder){return false}else{$.event.add(product.removeNode,'click',function(){u(product,offset)});var e=product.quantityNode.value;$.event.add(product.quantityNode,'keyup',function(){var b=this;d=setTimeout(function(){var a=parseInt(b.value,10);if(!isNaN(a)&&a!=e){e=a;product.setQuantity(a);if(!product.getQuantity()){u(product,offset)}f.updateSubtotal();$.storage.save(f.products)}},250)});f.UI.itemList.appendChild(product.liNode);$.util.animate(product.liNode,'opacity',{from:0,to:1});return true}};var u=function(b,c){var d=w.events,onRemoveFromCart=d.onRemoveFromCart,afterRemoveFromCart=d.afterRemoveFromCart;if(typeof onRemoveFromCart=='function'){onRemoveFromCart.call(f,b)}b.setQuantity(0);b.quantityNode.style.display='none';$.util.animate(b.liNode,'opacity',{from:1,to:0},function(){$.util.animate(b.liNode,'height',{from:18,to:0},function(){try{b.liNode.parentNode.removeChild(b.liNode)}catch(e){}var a=f.UI.cart.getElementsByTagName('li'),products_len=a.length,inputs,inputs_len,input,matches,i,j,k=1;for(i=0;i<products_len;i++){inputs=a[i].getElementsByTagName('input');inputs_len=inputs.length;for(j=0;j<inputs_len;j++){input=inputs[j];matches=/(.+)_[0-9]+$/.exec(input.name);if(matches&&matches[1]){input.name=matches[1]+'_'+k}}k++}if(typeof afterRemoveFromCart=='function'){afterRemoveFromCart.call(f,b)}})});f.products[c].product.item_name=undefined;f.products[c].product.item_number='';f.updateSubtotal();$.storage.save(f.products)};var v=function(e){var a=w.events.onCheckout;if(typeof a=='function'){a.call(f,e)}};f.products=[];f.UI={};f.isShowing=false;f.calculateSubtotal=function(){var a=0,product,price,discount,len,i;for(i=0,len=f.products.length;i<len;i++){if((product=f.products[i].product)){if(product.quantity&&product.amount){price=product.amount;discount=(product.discount_amount)?product.discount_amount:0;a+=parseFloat((price*product.quantity)-discount)}}}return a.toFixed(2)};f.updateSubtotal=function(){var a,currency_symbol,subtotal=f.calculateSubtotal(),level=1,hex,len,i;a='';currency_symbol='';if(f.UI.cart.elements.currency_code){a=f.UI.cart.elements.currency_code.value||f.UI.cart.elements.currency_code}else{for(i=0,len=f.UI.cart.elements.length;i<len;i++){if(f.UI.cart.elements[i].name=='currency_code'){a=f.UI.cart.elements[i].value||f.UI.cart.elements[i];break}}}f.UI.subtotalAmount.innerHTML=$.util.formatCurrency(subtotal,a);(function(){hex=level.toString(16);level++;f.UI.subtotalAmount.style.backgroundColor='#ff'+hex;if(level>=15){f.UI.subtotalAmount.style.backgroundColor='transparent';if(subtotal=='0.00'){f.hide(null,true)}return}setTimeout(arguments.callee,30)}())};f.addToCartFromUrl=function(a){var b={},vars=a.split("&");for(var i=0;i<vars.length;i++){var c=vars[i].split("=");b[c[0]]=unescape(c[1])}return f.addToCart(b)};f.addToCart=function(a){var b=w.events,onAddToCart=b.onAddToCart,afterAddToCart=b.afterAddToCart,success=false,offset;if(typeof onAddToCart==='function'){if(onAddToCart.call(f,a)===false){return}}a=s(a);offset=a.product.offset;if(typeof offset!='undefined'&&f.products[offset]){f.products[offset].product.quantity+=parseInt(a.product.quantity||1,10);f.products[offset].setPrice(a.product.amount*f.products[offset].product.quantity);f.products[offset].setQuantity(f.products[offset].product.quantity);success=true}else{a.product.offset=f.products.length;success=t(a)}f.updateSubtotal();f.show(null);$.storage.save(f.products);if(typeof afterAddToCart==='function'){afterAddToCart.call(f,a)}return success};f.show=function(e){var a=parseInt(f.UI.cart.offsetTop,10),to=0,events=w.events,onShow=events.onShow,afterShow=events.afterShow;if(e&&e.preventDefault){e.preventDefault()}if(typeof onShow=='function'){onShow.call(f,e)}$.util.animate(f.UI.cart,'top',{from:a,to:to},function(){if(typeof afterShow=='function'){afterShow.call(f,e)}});f.UI.summary.style.backgroundPosition='-195px 2px';f.isShowing=true};f.hide=function(e,a){var b=(f.UI.cart.offsetHeight)?f.UI.cart.offsetHeight:document.defaultView.getComputedStyle(f.UI.cart,'').getPropertyValue('height'),summaryHeight=(f.UI.summary.offsetHeight)?f.UI.summary.offsetHeight:document.defaultView.getComputedStyle(f.UI.summary,'').getPropertyValue('height'),from=parseInt(f.UI.cart.offsetTop,10),events=w.events,onHide=events.onHide,afterHide=events.afterHide,to;if(a||!w.peekEnabled){to=b*-1}else{to=(b-summaryHeight-8)*-1}if(e&&e.preventDefault){e.preventDefault()}if(typeof onHide=='function'){onHide.call(f,e)}$.util.animate(f.UI.cart,'top',{from:from,to:to},function(){if(typeof afterHide=='function'){afterHide.call(f,e)}});f.UI.summary.style.backgroundPosition='-195px -32px';f.isShowing=false};f.toggle=function(e){if(f.isShowing){f.hide(e)}else{f.show(e)}};f.reset=function(){var a=w.events,onReset=a.onReset,afterReset=a.afterReset;if(typeof onReset==='function'){onReset.call(f)}f.products=[];if(f.isShowing){f.UI.itemList.innerHTML='';f.UI.subtotalAmount.innerHTML='';f.hide(null,true)}$.storage.remove();if(typeof afterReset==='function'){afterReset.call(f)}};return{render:function(a){l(a)},addToCartFromUrl:function(a){return f.addToCartFromUrl(a)},addToCart:function(a){f.addToCart(a)},show:function(e){f.show(e)},hide:function(e,a){f.hide(e,a)},toggle:function(e){f.toggle()},reset:function(){f.reset()}}}());var x=function(a,b){this.product=null;this.settings=null;this.liNode=null;this.nameNode=null;this.metaNode=null;this.priceNode=null;this.quantityNode=null;this.removeNode=null;this.isPlaceholder=false;this._init(a,b)};x.prototype={_init:function(a,b){var c,fullName,price,discount=0,hiddenInput,key,i;this.product=a.product;this.settings=a.settings;this.liNode=document.createElement('li');this.nameNode=document.createElement('a');this.metaNode=document.createElement('span');this.priceNode=document.createElement('span');this.quantityNode=document.createElement('input');this.removeNode=document.createElement('input');if(this.product.item_name===undefined&&!this.product.item_number){this.isPlaceholder=true;return}fullName=this.product.item_name;c=(fullName.length>20)?fullName.substr(0,20)+'...':fullName;this.nameNode.innerHTML=c;this.nameNode.title=fullName;this.nameNode.href=this.product.href;this.nameNode.appendChild(this.metaNode);if(this.product.item_number){this.metaNode.innerHTML='<br />#'+this.product.item_number}i=0;while(typeof this.product['on'+i]!=='undefined'){this.metaNode.innerHTML+='<br />'+this.product['on'+i]+': '+this.product['os'+i];i++}if(this.product.discount_amount){this.metaNode.innerHTML+='<br />';this.metaNode.innerHTML+=w.strings.discount||'Discount: ';this.metaNode.innerHTML+=$.util.formatCurrency(this.product.discount_amount,this.settings.currency_code)}this.product.quantity=parseInt(this.product.quantity,10);this.quantityNode.name='quantity_'+b;this.quantityNode.value=this.product.quantity?this.product.quantity:1;this.quantityNode.className='quantity';this.quantityNode.setAttribute('autocomplete','off');this.removeNode.type='button';this.removeNode.className='remove';price=parseFloat(this.product.amount,10);if(this.product.discount_amount){discount=this.product.discount_amount}this.priceNode.innerHTML=$.util.formatCurrency((price*parseFloat(this.product.quantity,10)-discount).toFixed(2),this.settings.currency_code);this.priceNode.className='price';this.liNode.appendChild(this.nameNode);this.liNode.appendChild(this.quantityNode);this.liNode.appendChild(this.removeNode);this.liNode.appendChild(this.priceNode);for(key in this.product){if(key!=='quantity'){hiddenInput=document.createElement('input');hiddenInput.type='hidden';hiddenInput.name=key+'_'+b;hiddenInput.value=this.product[key];this.liNode.appendChild(hiddenInput)}}},setQuantity:function(a){a=parseInt(a,10);this.product.quantity=a;if(this.quantityNode.value!=a){this.quantityNode.value=a}this.setPrice(this.product.amount*a)},getQuantity:function(){return parseFloat(this.quantityNode.value,10)},setPrice:function(a){a=parseFloat(a,10);this.priceNode.innerHTML=$.util.formatCurrency(parseFloat(a,10).toFixed(2),this.settings.currency_code)},getPrice:function(){return(this.product.amount*this.getQuantity())}};var $={};$.storage=(function(){var d=w.name;if(window.localStorage){return{load:function(){var a=localStorage.getItem(d);if(a){a=JSON.parse(unescape(a))}return a},save:function(a){var b=[],item,len,i;if(a){for(i=0,len=a.length;i<len;i++){item=a[i];b.push({product:item.product,settings:item.settings})}b=escape(JSON.stringify(b));localStorage.setItem(d,b)}},remove:function(){localStorage.removeItem(d)}}}else{return{load:function(){var a=d+'=',data,cookies,cookie,value,i;try{cookies=document.cookie.split(';');for(i=0;i<cookies.length;i++){cookie=cookies[i];while(cookie.charAt(0)===' '){cookie=cookie.substring(1,cookie.length)}if(cookie.indexOf(a)===0){value=cookie.substring(a.length,cookie.length);data=JSON.parse(unescape(value))}}}catch(e){}return data},save:function(a,b){var c=new Date(),data=[],item,len,i;if(a){for(i=0,len=a.length;i<len;i++){item=a[i];data.push({product:item.product,settings:item.settings})}b=b||30;c.setTime(c.getTime()+b*24*60*60*1000);document.cookie=w.name+'='+escape(JSON.stringify(data))+'; expires='+c.toGMTString()+'; path='+w.cookiePath}},remove:function(){this.save(null,-1)}}}}());$.event={cache:[],add:function(a,b,c,d){var f;d=d||a;if(a.addEventListener){f=function(e){c.call(d,e)};a.addEventListener(b,f,false)}else if(a.attachEvent){f=function(){var e=window.event;e.target=e.target||e.srcElement;e.preventDefault=function(){e.returnValue=false};c.call(d,e)};a.attachEvent('on'+b,f)}this.cache.push([a,b,c,f])},remove:function(a,b,c){var d,item,len,i;for(i=0;i<this.cache.length;i++){item=this.cache[i];if(item[0]==a&&item[1]==b&&item[2]==c){d=item[3];if(d){if(a.removeEventListener){a.removeEventListener(b,d,false)}else if(a.detachEvent){a.detachEvent('on'+b,d)}delete this.cache[i]}}}}};$.util={animate:function(a,b,c,d){c=c||{};c.from=c.from||0;c.to=c.to||0;c.duration=c.duration||10;c.unit=(/top|bottom|left|right|width|height/.test(b))?'px':'';var e=(c.to-c.from)/20;var f=c.from;(function(){a.style[b]=f+c.unit;f+=e;if((e>0&&f>c.to)||(e<0&&f<c.to)||e===0){a.style[b]=c.to+c.unit;if(typeof d==='function'){d()}return}setTimeout(arguments.callee,c.duration)})()},getInputValue:function(a){var b=a.tagName.toLowerCase();if(b=='select'){return a.options[a.selectedIndex].value}else if(b=='textarea'){return a.innerHTML}else{if(a.type=='radio'){return(a.checked)?a.value:null}else if(a.type=='checkbox'){return(a.checked)?a.value:null}else{return a.value}}},formatCurrency:function(a,b){var c={AED:{before:'\u062c'},ANG:{before:'\u0192'},ARS:{before:'$'},AUD:{before:'$'},AWG:{before:'\u0192'},BBD:{before:'$'},BGN:{before:'\u043b\u0432'},BMD:{before:'$'},BND:{before:'$'},BRL:{before:'R$'},BSD:{before:'$'},CAD:{before:'$'},CHF:{before:''},CLP:{before:'$'},CNY:{before:'\u00A5'},COP:{before:'$'},CRC:{before:'\u20A1'},CZK:{before:'Kc'},DKK:{before:'kr'},DOP:{before:'$'},EEK:{before:'kr'},EUR:{before:'\u20AC'},GBP:{before:'\u00A3'},GTQ:{before:'Q'},HKD:{before:'$'},HRK:{before:'kn'},HUF:{before:'Ft'},IDR:{before:'Rp'},ILS:{before:'\u20AA'},INR:{before:'Rs.'},ISK:{before:'kr'},JMD:{before:'J$'},JPY:{before:'\u00A5'},KRW:{before:'\u20A9'},KYD:{before:'$'},LTL:{before:'Lt'},LVL:{before:'Ls'},MXN:{before:'$'},MYR:{before:'RM'},NOK:{before:'kr'},NZD:{before:'$'},PEN:{before:'S/'},PHP:{before:'Php'},PLN:{before:'z'},QAR:{before:'\ufdfc'},RON:{before:'lei'},RUB:{before:'\u0440\u0443\u0431'},SAR:{before:'\ufdfc'},SEK:{before:'kr'},SGD:{before:'$'},THB:{before:'\u0E3F'},TRY:{before:'TL'},TTD:{before:'TT$'},TWD:{before:'NT$'},UAH:{before:'\u20b4'},USD:{before:'$'},UYU:{before:'$U'},VEF:{before:'Bs'},VND:{before:'\u20ab'},XCD:{before:'$'},ZAR:{before:'R'}},currency=c[b],before,after;if(currency){before=currency.before||'';after=currency.after||''}return before+a+after}};if(!this.JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(a){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(a){return this.valueOf()}}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(b){escapable.lastIndex=0;return escapable.test(b)?'"'+b.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function str(a,b){var i,k,v,length,mind=gap,partial,value=b[a];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(a)}if(typeof rep==="function"){value=rep.call(b,a,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(a,b,c){var i;gap="";indent="";if(typeof c==="number"){for(i=0;i<c;i+=1){indent+=" "}}else{if(typeof c==="string"){indent=c}}rep=b;if(b&&typeof b!=="function"&&(typeof b!=="object"||typeof b.length!=="number")){throw new Error("JSON.stringify");}return str("",{"":a})}}if(typeof JSON.parse!=="function"){JSON.parse=function(c,d){var j;function walk(a,b){var k,v,value=a[b];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return d.call(a,b,value)}e.lastIndex=0;if(e.test(c)){c=c.replace(e,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(c.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+c+")");return typeof d==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}}}())}());
