From 69475162919fa67e3a3489c6446b8d023d3c467c Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Sun, 27 Oct 2024 01:39:54 +0300 Subject: [PATCH] Fix not to do anything unless data --- extensions/stats/stats.min.js | 2 +- extensions/stats/stats.min.js.gz | Bin 3687 -> 3692 bytes extensions/stats/stats.src.js | 3 +++ unauthenticated/js/bundle.min.js.gz | Bin 511511 -> 511511 bytes 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/extensions/stats/stats.min.js b/extensions/stats/stats.min.js index 18213376f..21ff22df1 100644 --- a/extensions/stats/stats.min.js +++ b/extensions/stats/stats.min.js @@ -1 +1 @@ -"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var stats={sys:{error:0,tried:0,activating:0,requery:null,socket:null,_:{prefix:v___location_prefix,error:connection_error,language:theme_language,convert:{size:Convert.nice_size},chart:Chartist,dayjs:dayjs,locale:{time:config_portable_theme_locale_format_time,offset:function offset(){return get_utc_offset();}},can_conn_ws:can_conn_ws,blocked:theme_updating,getHistoryData:function getHistoryData(){return vars.stats.history;}},selector:{chart:{container:{parent:"live_stats",data:"data-chart"},loader:"data-charts-loader"},collapse:"collapse",dashboard:"system-status",slider:"info-container",piechart:"piechart",defaultClassLabel:"bg-semi-transparent",defaultSliderClassLabel:"bg-semi-transparent-dark"},getSocketDefs:function getSocketDefs(){return{session:session.server.data("session-hash"),paused:!this.canRender()?1:0,interval:this.getInterval(),disable:!this.isEnabled()?1:0,shutdown:settings_sysinfo_real_time_shutdown_on_last?1:0};},graphsCanPreRender:function graphsCanPreRender(){return document.querySelector("["+this.selector.chart.loader+"]")?1:0;},getInterval:function getInterval(){return settings_sysinfo_real_time_run_rate/1000;},getStoredDuration:function getStoredDuration(){return settings_sysinfo_real_time_stored_duration;},getRenderType:function getRenderType(graphs){graphs=graphs.graphs;var hasMultipleDatasets=false;for(var key in graphs){if(graphs.hasOwnProperty(key)&&Array.isArray(graphs[key])){if(graphs[key].length>1){hasMultipleDatasets=true;break;}}}return hasMultipleDatasets?3:null;},canRender:function canRender(){return theme.visibility.get();},isEnabled:function isEnabled(){var stats_enabled=settings_sysinfo_real_time_status?1:0,stats_can=this._.can_conn_ws();return stats_enabled&&stats_can;},restart:function restart(){var _this=this;this.shutdown();setTimeout(function(){_this.enable();},this.getInterval()*1000*4);},disable:function disable(){if(this.socket&&this.socket.readyState===1){var socketData=this.getSocketDefs();socketData.paused=1;this.socket.send(JSON.stringify(socketData));}},enable:function enable(){if(this.isEnabled()){if(this.graphsCanPreRender()){this.preRender();}if(this.socket){this.socket.readyState===1&&this.socket.send(JSON.stringify(this.getSocketDefs()));}else{this.activate();}}},shutdown:function shutdown(){if(this.socket&&this.socket.readyState===1){var socketData=this.getSocketDefs();socketData.disable=1;this.socket.send(JSON.stringify(socketData));}},activate:function activate(){if(this.activating++||this._.blocked()||this.socket){return;}if(this.tried++>4){return;}$.ajax({context:this,url:this._.prefix+"/stats.cgi",error:function error(){var _this2=this;this.activating=0;if(this.error++>3){return;}!this.requery&&(this.requery=setTimeout(function(){_this2.requery=null;_this2.activate();},this.getInterval()*1000*4));},success:function success(data){var _this3=this;if(data.success){this.socket=new WebSocket(data.socket);this.socket.onopen=function(){_this3.tried=0;_this3.activating=0;_this3.socket.send(JSON.stringify(_this3.getSocketDefs()));};this.socket.onmessage=function(event){var message=JSON.parse(event.data),renderType=_this3.getRenderType(message);_this3.render(message,renderType);};this.socket.onclose=function(){setTimeout(function(){_this3.socket=null;_this3.activating=0;_this3.enable();},_this3.getInterval()*1000*4);};}else{this.activating=0;}this.error=0;},dataType:"json"});},preRender:function preRender(){this.render(this._.getHistoryData(),2);},render:function render(data,graphs){var _this4=this;Object.entries(data).map(function(_ref){var _ref2=_slicedToArray(_ref,2),target=_ref2[0],data=_ref2[1];var v=parseInt(data),vo=(typeof data==="undefined"?"undefined":_typeof(data))==="object"?data[data.length-1]:false,vt=vo?vo:v,$pc=$("#"+_this4.selector.dashboard+" ."+_this4.selector.piechart+"[data-charts*=\""+target+"\"]"),$lc=$("."+_this4.selector.slider+" ."+target+"_percent"),$od=$("#"+_this4.selector.dashboard+" span[data-id=\"sysinfo_"+target+"\"], \n ."+_this4.selector.slider+" span[data-data=\""+target+"\"]"),cached=target==="graphs"?graphs?graphs===3?3:2:_this4.graphsCanPreRender()?2:1:0;if(Number.isInteger(v)){if($pc.length){var piechart=$pc.data("easyPieChart");piechart&&piechart.update(v);}if($lc.length){$lc.find(".bar").attr("style","width:"+v+"%");var $dp=$lc.find(".description"),$lb=$dp.text().split(":")[0],uv=$lb+": "+v+"% ("+vo+")";if(target!=="cpu"){uv=plugins.slider.update.stats.graphs.flatten(uv);if(target!=="virt"){uv=plugins.slider.update.stats.graphs.plunk(uv);}}$dp.attr("title",vo).text(uv);}if($od.length){if($od.find("a").length){$od.find("a").text(vt);}else{$od.text(vt);}}}if(target==="sensors"&&vo){Object.entries(vo).forEach(function(_ref3){var _ref4=_slicedToArray(_ref3,2),sensor=_ref4[0],value=_ref4[1];var this_=_this4,$lb1=$("#"+_this4.selector.dashboard+" span[data-stats=\""+sensor+"\"]"),$lb2=$("."+_this4.selector.slider+" span[data-stats=\""+sensor+"\"]");if($lb1&&$lb1.length){var lb_count1=$lb1.length,lb_count2=$lb2.length;value.sort(function(a,b){return sensor==="fans"?a.fan-b.fan:a.core-b.core;});var updateLabel=function updateLabel($label,data,isSingleLabel,sideSlider){if(isSingleLabel){$label.html(function(_,html){var iSFahrenheit=html.includes("°F");return html.replace(/\d+/,sensor==="fans"?data.rpm:iSFahrenheit?Math.round(data.temp*9/5+32):data.temp);});}else{$label.html(function(_,html){var iSFahrenheit=html.includes("°F");return html.replace(/: \d+/,": "+(sensor==="fans"?data.rpm:iSFahrenheit?Math.round(data.temp*9/5+32):data.temp));});}var label_text=$label.text().replace(/.*?\d+:\s*/,"");var className=HTML.label.textMaxLevels(sensor,label_text)||(sideSlider?this_.selector.defaultSliderClassLabel:this_.selector.defaultClassLabel);if(sideSlider&&className===this_.selector.defaultClassLabel){className=this_.selector.defaultSliderClassLabel;}$label.removeClass(function(i,c){return(c.match(/\bbg-\S+/g)||[]).join(" ");}).addClass(className);};if(lb_count1===1){updateLabel($lb1,value[0],true);}else{$lb1.each(function(index,el){if(value[index]){updateLabel($(el),value[index],false);}});}if(lb_count2===1){updateLabel($lb2,value[0],true,true);}else{$lb2.each(function(index,el){if(value[index]){updateLabel($(el),value[index],false,true);}});}}});}if(cached){var lds=_this4.selector.chart.container.parent+"-"+_this4.selector.collapse,ld=$("#"+lds).find("["+_this4.selector.chart.loader+"]");Object.entries(data).map(function(_ref5){var _ref6=_slicedToArray(_ref5,2),_type=_ref6[0],array=_ref6[1];var options={chart:{type:function type(){return _type==="proc"||_type==="disk"||_type==="net";},bandwidth:function bandwidth(){return _type==="disk"||_type==="net";},fill:function fill(){return this.type()?false:true;},high:function high(){return this.type()?undefined:100;},threshold:function threshold(){return this.type()?-1:80;},height:"100px"}},lg=_this4._.language(_this4.selector.chart.container.parent+"_"+_type),tg=$("#"+lds).find("["+_this4.selector.chart.container.data+"="+_type+"]"),sr=[{name:"series-"+_type,data:array}];if(!tg.length){return;}if(array[0]&&_typeof(array[0].y)==="object"){sr=[];array[0].y.forEach(function(x,i){var data=[];array.forEach(function(n){data.push({data:{x:n.x,y:n.y[i]}});});sr.push({name:"series-"+_type+"-"+i,data:data});});}if(tg[0]&&tg[0].textContent&&cached!==3){if(cached===1){var lf=parseInt(_this4.getStoredDuration());if(lf<300||lf>3600){lf=600;}var tdata=sr,cdata=_this4["chart_"+_type].data.series,cdata_start=void 0,cdata_end=void 0,cdata_ready=new Promise(function(resolve){tdata.forEach(function(d,i,a){cdata_start=cdata[i].data[0].x||cdata[i].data[0].data.x;cdata_end=cdata[i].data[cdata[i].data.length-1].x||cdata[i].data[cdata[i].data.length-1].data.x;cdata[i].data.push(d.data[0]);if(cdata_end-cdata_start>lf){cdata[i].data.shift();}if(i===a.length-1){resolve();}});});cdata_ready.then(function(){_this4["chart_"+_type].update({series:cdata});});}}else if(cached===2||cached===3){_this4["chart_"+_type]=new _this4._.chart.Line(tg[0],{series:sr},{axisX:{type:_this4._.chart.FixedScaleAxis,divisor:12,labelInterpolationFnc:function labelInterpolationFnc(value){return _this4._.dayjs(value*1000).utcOffset(_this4._.locale.offset()).format(_this4._.locale.time);}},height:options.chart.height,showArea:options.chart.fill(),showPoint:!options.chart.fill(),high:options.chart.high(),low:0,fullWidth:true,chartPadding:{left:25},axisY:{onlyInteger:true,labelInterpolationFnc:function labelInterpolationFnc(value){if(options.chart.fill()){return value?value+"%":value;}else if(options.chart.bandwidth(value)){if(_type==="net"){return value?_this4._.convert.size(value,{fixed:0,bits:1,round:1}):value;}return value?_this4._.convert.size(value*1024,{fixed:0,round:1}):value;}else{return value;}}},plugins:[_this4._.chart.plugins.ctAxisTitle({axisY:{axisTitle:lg,axisClass:"ct-axis-title",offset:{x:0,y:9},flipTitle:true}}),_this4._.chart.plugins.ctThreshold({threshold:options.chart.threshold()})]});_this4["chart_"+_type].on("created",function(data){var ffObj=data.svg.getNode().querySelector('foreignObject');if(ffObj){var readLbl=_this4._.language("dashboard_chart_"+_type+"_read"),writeLbl=_this4._.language("dashboard_chart_"+_type+"_write");if(readLbl&&writeLbl){ffObj.setAttribute('data-label-read',"\u25AA "+readLbl);ffObj.setAttribute('data-label-write',"\u25AA "+writeLbl);}}ld.remove();});}});}});}}}; +"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var stats={sys:{error:0,tried:0,activating:0,requery:null,socket:null,_:{prefix:v___location_prefix,error:connection_error,language:theme_language,convert:{size:Convert.nice_size},chart:Chartist,dayjs:dayjs,locale:{time:config_portable_theme_locale_format_time,offset:function offset(){return get_utc_offset();}},can_conn_ws:can_conn_ws,blocked:theme_updating,getHistoryData:function getHistoryData(){return vars.stats.history;}},selector:{chart:{container:{parent:"live_stats",data:"data-chart"},loader:"data-charts-loader"},collapse:"collapse",dashboard:"system-status",slider:"info-container",piechart:"piechart",defaultClassLabel:"bg-semi-transparent",defaultSliderClassLabel:"bg-semi-transparent-dark"},getSocketDefs:function getSocketDefs(){return{session:session.server.data("session-hash"),paused:!this.canRender()?1:0,interval:this.getInterval(),disable:!this.isEnabled()?1:0,shutdown:settings_sysinfo_real_time_shutdown_on_last?1:0};},graphsCanPreRender:function graphsCanPreRender(){return document.querySelector("["+this.selector.chart.loader+"]")?1:0;},getInterval:function getInterval(){return settings_sysinfo_real_time_run_rate/1000;},getStoredDuration:function getStoredDuration(){return settings_sysinfo_real_time_stored_duration;},getRenderType:function getRenderType(graphs){graphs=graphs.graphs;var hasMultipleDatasets=false;for(var key in graphs){if(graphs.hasOwnProperty(key)&&Array.isArray(graphs[key])){if(graphs[key].length>1){hasMultipleDatasets=true;break;}}}return hasMultipleDatasets?3:null;},canRender:function canRender(){return theme.visibility.get();},isEnabled:function isEnabled(){var stats_enabled=settings_sysinfo_real_time_status?1:0,stats_can=this._.can_conn_ws();return stats_enabled&&stats_can;},restart:function restart(){var _this=this;this.shutdown();setTimeout(function(){_this.enable();},this.getInterval()*1000*4);},disable:function disable(){if(this.socket&&this.socket.readyState===1){var socketData=this.getSocketDefs();socketData.paused=1;this.socket.send(JSON.stringify(socketData));}},enable:function enable(){if(this.isEnabled()){if(this.graphsCanPreRender()){this.preRender();}if(this.socket){this.socket.readyState===1&&this.socket.send(JSON.stringify(this.getSocketDefs()));}else{this.activate();}}},shutdown:function shutdown(){if(this.socket&&this.socket.readyState===1){var socketData=this.getSocketDefs();socketData.disable=1;this.socket.send(JSON.stringify(socketData));}},activate:function activate(){if(this.activating++||this._.blocked()||this.socket){return;}if(this.tried++>4){return;}$.ajax({context:this,url:this._.prefix+"/stats.cgi",error:function error(){var _this2=this;this.activating=0;if(this.error++>3){return;}!this.requery&&(this.requery=setTimeout(function(){_this2.requery=null;_this2.activate();},this.getInterval()*1000*4));},success:function success(data){var _this3=this;if(data.success){this.socket=new WebSocket(data.socket);this.socket.onopen=function(){_this3.tried=0;_this3.activating=0;_this3.socket.send(JSON.stringify(_this3.getSocketDefs()));};this.socket.onmessage=function(event){var message=JSON.parse(event.data),renderType=_this3.getRenderType(message);_this3.render(message,renderType);};this.socket.onclose=function(){setTimeout(function(){_this3.socket=null;_this3.activating=0;_this3.enable();},_this3.getInterval()*1000*4);};}else{this.activating=0;}this.error=0;},dataType:"json"});},preRender:function preRender(){this.render(this._.getHistoryData(),2);},render:function render(data,graphs){var _this4=this;Object.entries(data).map(function(_ref){var _ref2=_slicedToArray(_ref,2),target=_ref2[0],data=_ref2[1];var v=parseInt(data),vo=(typeof data==="undefined"?"undefined":_typeof(data))==="object"?data[data.length-1]:false,vt=vo?vo:v,$pc=$("#"+_this4.selector.dashboard+" ."+_this4.selector.piechart+"[data-charts*=\""+target+"\"]"),$lc=$("."+_this4.selector.slider+" ."+target+"_percent"),$od=$("#"+_this4.selector.dashboard+" span[data-id=\"sysinfo_"+target+"\"], \n ."+_this4.selector.slider+" span[data-data=\""+target+"\"]"),cached=target==="graphs"?graphs?graphs===3?3:2:_this4.graphsCanPreRender()?2:1:0;if(Number.isInteger(v)){if($pc.length){var piechart=$pc.data("easyPieChart");piechart&&piechart.update(v);}if($lc.length){$lc.find(".bar").attr("style","width:"+v+"%");var $dp=$lc.find(".description"),$lb=$dp.text().split(":")[0],uv=$lb+": "+v+"% ("+vo+")";if(target!=="cpu"){uv=plugins.slider.update.stats.graphs.flatten(uv);if(target!=="virt"){uv=plugins.slider.update.stats.graphs.plunk(uv);}}$dp.attr("title",vo).text(uv);}if($od.length){if($od.find("a").length){$od.find("a").text(vt);}else{$od.text(vt);}}}if(target==="sensors"&&vo){Object.entries(vo).forEach(function(_ref3){var _ref4=_slicedToArray(_ref3,2),sensor=_ref4[0],value=_ref4[1];var this_=_this4,$lb1=$("#"+_this4.selector.dashboard+" span[data-stats=\""+sensor+"\"]"),$lb2=$("."+_this4.selector.slider+" span[data-stats=\""+sensor+"\"]");if($lb1&&$lb1.length){var lb_count1=$lb1.length,lb_count2=$lb2.length;value.sort(function(a,b){return sensor==="fans"?a.fan-b.fan:a.core-b.core;});var updateLabel=function updateLabel($label,data,isSingleLabel,sideSlider){if(!data){return;}if(isSingleLabel){$label.html(function(_,html){var iSFahrenheit=html.includes("°F");return html.replace(/\d+/,sensor==="fans"?data.rpm:iSFahrenheit?Math.round(data.temp*9/5+32):data.temp);});}else{$label.html(function(_,html){var iSFahrenheit=html.includes("°F");return html.replace(/: \d+/,": "+(sensor==="fans"?data.rpm:iSFahrenheit?Math.round(data.temp*9/5+32):data.temp));});}var label_text=$label.text().replace(/.*?\d+:\s*/,"");var className=HTML.label.textMaxLevels(sensor,label_text)||(sideSlider?this_.selector.defaultSliderClassLabel:this_.selector.defaultClassLabel);if(sideSlider&&className===this_.selector.defaultClassLabel){className=this_.selector.defaultSliderClassLabel;}$label.removeClass(function(i,c){return(c.match(/\bbg-\S+/g)||[]).join(" ");}).addClass(className);};if(lb_count1===1){updateLabel($lb1,value[0],true);}else{$lb1.each(function(index,el){if(value[index]){updateLabel($(el),value[index],false);}});}if(lb_count2===1){updateLabel($lb2,value[0],true,true);}else{$lb2.each(function(index,el){if(value[index]){updateLabel($(el),value[index],false,true);}});}}});}if(cached){var lds=_this4.selector.chart.container.parent+"-"+_this4.selector.collapse,ld=$("#"+lds).find("["+_this4.selector.chart.loader+"]");Object.entries(data).map(function(_ref5){var _ref6=_slicedToArray(_ref5,2),_type=_ref6[0],array=_ref6[1];var options={chart:{type:function type(){return _type==="proc"||_type==="disk"||_type==="net";},bandwidth:function bandwidth(){return _type==="disk"||_type==="net";},fill:function fill(){return this.type()?false:true;},high:function high(){return this.type()?undefined:100;},threshold:function threshold(){return this.type()?-1:80;},height:"100px"}},lg=_this4._.language(_this4.selector.chart.container.parent+"_"+_type),tg=$("#"+lds).find("["+_this4.selector.chart.container.data+"="+_type+"]"),sr=[{name:"series-"+_type,data:array}];if(!tg.length){return;}if(array[0]&&_typeof(array[0].y)==="object"){sr=[];array[0].y.forEach(function(x,i){var data=[];array.forEach(function(n){data.push({data:{x:n.x,y:n.y[i]}});});sr.push({name:"series-"+_type+"-"+i,data:data});});}if(tg[0]&&tg[0].textContent&&cached!==3){if(cached===1){var lf=parseInt(_this4.getStoredDuration());if(lf<300||lf>3600){lf=600;}var tdata=sr,cdata=_this4["chart_"+_type].data.series,cdata_start=void 0,cdata_end=void 0,cdata_ready=new Promise(function(resolve){tdata.forEach(function(d,i,a){cdata_start=cdata[i].data[0].x||cdata[i].data[0].data.x;cdata_end=cdata[i].data[cdata[i].data.length-1].x||cdata[i].data[cdata[i].data.length-1].data.x;cdata[i].data.push(d.data[0]);if(cdata_end-cdata_start>lf){cdata[i].data.shift();}if(i===a.length-1){resolve();}});});cdata_ready.then(function(){_this4["chart_"+_type].update({series:cdata});});}}else if(cached===2||cached===3){_this4["chart_"+_type]=new _this4._.chart.Line(tg[0],{series:sr},{axisX:{type:_this4._.chart.FixedScaleAxis,divisor:12,labelInterpolationFnc:function labelInterpolationFnc(value){return _this4._.dayjs(value*1000).utcOffset(_this4._.locale.offset()).format(_this4._.locale.time);}},height:options.chart.height,showArea:options.chart.fill(),showPoint:!options.chart.fill(),high:options.chart.high(),low:0,fullWidth:true,chartPadding:{left:25},axisY:{onlyInteger:true,labelInterpolationFnc:function labelInterpolationFnc(value){if(options.chart.fill()){return value?value+"%":value;}else if(options.chart.bandwidth(value)){if(_type==="net"){return value?_this4._.convert.size(value,{fixed:0,bits:1,round:1}):value;}return value?_this4._.convert.size(value*1024,{fixed:0,round:1}):value;}else{return value;}}},plugins:[_this4._.chart.plugins.ctAxisTitle({axisY:{axisTitle:lg,axisClass:"ct-axis-title",offset:{x:0,y:9},flipTitle:true}}),_this4._.chart.plugins.ctThreshold({threshold:options.chart.threshold()})]});_this4["chart_"+_type].on("created",function(data){var ffObj=data.svg.getNode().querySelector('foreignObject');if(ffObj){var readLbl=_this4._.language("dashboard_chart_"+_type+"_read"),writeLbl=_this4._.language("dashboard_chart_"+_type+"_write");if(readLbl&&writeLbl){ffObj.setAttribute('data-label-read',"\u25AA "+readLbl);ffObj.setAttribute('data-label-write',"\u25AA "+writeLbl);}}ld.remove();});}});}});}}}; diff --git a/extensions/stats/stats.min.js.gz b/extensions/stats/stats.min.js.gz index 9e6620cb92635055e5bda4166621f288a2a65d17..3673940af36ed4ce25df17e884cd8dd5d1cae530 100644 GIT binary patch literal 3692 zcmV-y4wLa8iwFqAZyjd>19Nm?baO6kX>KlRa{#p(?Q+|=@qeE}MpK21D8`nPOphw# z$t0J#>*QKof^M&GNtcntWBu%l42G}WP zpWM3Ssw(q=L4&F3E;tGS?|anub_M`HDRN-AO7xZ*j8;yXk-shrRUn;XgYZa+;IJ#hVwX+X28QLPx)Nr zJe{g?ThD!q54ga$MI>i=4Ytvyofl?*6)xO91mX zaRzf!F?YmpNGlo77itNj5$>$y@#pDom&7VrI=n0aIo0d}cQBsrfW0`&wly*cL{6d{ z$cQVZHNtM(?!a*^0su#;tCnSP3rB@bj1G~9X)|c0YJ>+!ByL|wdg8p>s-G}9$Zr5} zd*T_0eDHqui6^R$b4*8?NUeFx`R(8%DF4T@1OWDP4iXdTAXbX6)@q=NLCUo~RV5$f zMLwo2XBlt-h8E`uXFzc`-NETmeK4nFSj(*pYK}yMQx7f>PvIHEX*aPF`2q$d|7XR^ zZID-4=E)-Y%$0tRf_hzoVcZ3qD2lQI)B`e#^qi+@f|ci-WEatdm&N&_iWfXkOTOY! zGxPv(!%G#^Qv8btFZIaJK`If>?7UzP#Uff4 zrNYxkW*-8Hz;;)$iV)B%=5q;0X|IVMJFQ9u>8xRy?G7t^y#qf7b2y6!uicBTgQXHFk2E-f)42Q$T!RcR$rxYpx$KG7PPdY+C6^MG1M~DHFTuckl!wF2yQyh7Nr=0d&|fsqXs5|`vPK6hzM8KTa@v7DPP9T`)z@44t_>uiM5)2iTWDFJ&+L)6(~g#$TkB`2AHIH&j|78w3w9~i8OMtX97q!x zn;`g^Z_%YUl)&K|DuDX_7F1HK!H;bnfOCh#e$dd6SFm*Bc2H@;gumx!ZhediihWI3 zY@*Z=z>9No)l>3Z`-amo?KZbT|K)Fl6f=fcirM&bX1GMWQej_r|J zj%^|~8r|QUJ7SUz$2BvJ!1ZmhilA(6Gbb?!D| zk987~ECe%&oHZIsKs(oK(z#!j-|%$W@Ie^B$GPQ0M@W-d4u?*67=GnuPFf&xYi6!% z3tzdgxGJk8foR_`6FuQzCeS(5xjqye0T+A&)idf4Q}SQVtCSeI;9Z+o8QSeS z0o0(o4Z9k?neLz;a+PF-!$T8(XH4xmNr6zBh3xcJ+xE9Nf}t5{lL!pJ;>BwIdu9jmKE6zlzsZ zW)NuS1`pmQVZT8@%dou%K@zwM3Fhkbh7M{*XSyS>3CSQpe0m#iQ-qG`KM-^nvbHn8 zE;{dl>Aq+@7Xb_6n_b|{60I^8FgEy#E za?OHBVfQ8n>T%%>uJggy{=UYX-GEeac)%o1mf&5Cnn45FqS%Fgng=YLLykBJ%tpsz z{lz4}S^!+(yJ|IqqDe@+QVUqy=rjTJWz?w+uTevY3%bPOvD|(ToXU6RP8*2fuzB;T zXy!nY0vPD0C5i7~SShG$7MINRW2K;mk!qVkrOIwas+Iv8ZAR=*O!qb(r0cMQm2#Ps zVol9ARQ)Uj0AEpC%9m?MbR8Bj7q3CJ0mRve1p`fR;J~vOF_%#|BWa$1G?R73+!~1?CxcX>zC9xP2lUfx`GsDgcsyCK|gPvaf}pghC-~3Rj<}YUEd> zt^CYT3nK>kwSw)<68=UtSr#tZsok#SoEoG&mqjVra0olsdrk?Nf%@o2u)w}sI=6o5 z$uYllj*dx_CRg+XHA0<1Gc=wFZ8g#n=?SXy>{s1L-T1;AqqnjyVK(`ePxvO4DcSA} zQe6D)-HL1ml}(kav#_(|HM0|(otW7v9U7uu*$IZRH|x~GBqZ!A$2nZ;*oWtMhQC4V zCr}N;03Xwxz7g7@sH@Tj-R>kXjSmU~Q0!eoG|cphC*kb6Gef3yqBEsVve^U2>xxf* zsa9D>{T`0BAjIYCcnQI7$%P7W+82-xRB%fj_Md;hW^LU^Yb9T2al)O)*Xii7w|{U7 zCFOb*bctTPjn&dGL9D4x%dkiK=!eHoN9PkaXlGm$jxqM%iRWNIT$4L-epB8x^JG`Z zdW2UsG{-QWt>wahbOCGx*YXjtVq9c`UAA}eiibaaeEY_?h;QS&H;@Bn((vn9`cQB< z)*3G88g_2m7n*p-!7KpX8B2CJw5)~UH<4=#{eApE5u^`W@>Q|nv|x2Eyri*hCxOHY zKR7(Tp3N5H>&wyO1xVoP#`QlHB6rvT8|n~^(o_>^Il%-I&SWn(EqzUCN1lRiWHTupvkt{U7j{e1tljkY&!g^*R{lv?a^s!;6>JDk+A#wcAN_NxjW9e zVo+wx;yl$kQcJL%IzsgeROTYIo0Bt?pj*4gx1;P+WKS_Xl%C?QUur z>O=HKwiG`k^(DYA{dSoYpEf*@%v%P=og+NY=H^H(s$7b>GF@Z=+O>P3>645c6D{0n zN2ss{1e*>3Zo3hvJB+H#w z$9F>h-FWpql-J^prvEr10-Vj9}9KH=PH;y-FYbXe*|@r zXIs;;(BS`%WWi33aoqWY4`3Jci~Wdz-t51F^l@z**3^l7FY@luwZ>!qK?46bLL+ZBZf}utbeGssgA2~vyOQb6AQYmo^{w=T@)!(l_ot%)^=dFq9N zOn6p-7kx+_5V|H~#CYhj>uU1!#S5r%4Fz}l4LsVQi`ec6)|92DI&+MRZVQF!AN~ti K>jsJICjbB_+aV+X literal 3687 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