From 7c0fb8c3b7859ce9c2bf953c8bf1369908e59c11 Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Fri, 6 Feb 2026 12:47:42 +0100 Subject: [PATCH 01/15] Optimized Dockerfile --- .dockerignore | 3 ++- docker-compose.yml | 1 - docker/Dockerfile | 26 +++++++++++--------------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/.dockerignore b/.dockerignore index 49a6388dd..901c21c3f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,4 +3,5 @@ node_modules www/cache www/dist userdata -!userdata/wiki \ No newline at end of file +!userdata/wiki +.git \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 02bacd4fa..84d7c61b7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.9' services: vite: build: diff --git a/docker/Dockerfile b/docker/Dockerfile index 69deb9a8b..a64678581 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,8 +1,6 @@ -ARG PHP_EXT="gd ldap imap mysqli soap zip" -ARG DEB_PKG="libc-client2007e libaom3 libavif15 libdav1d6 libfreetype6 libjpeg62-turbo libldap-common libpng16-16 libwebp7 libxpm4 libzip4" -ARG DEB_PKG_TMP="cmake gnutls-dev libaom-dev libavif-dev libbz2-dev libc-client-dev libdav1d-dev libfreetype6-dev libjpeg62-turbo-dev libkrb5-dev libldap2-dev libpng-dev libssl-dev libwebp-dev libxml2-dev libxpm-dev libzip-dev zlib1g-dev" +ARG PHP_EXT="bcmath exif gd ldap imap mysqli pcntl pdo_mysql soap zip" -FROM node:20 as frontend +FROM node:20 AS frontend WORKDIR /app COPY package.json package-lock.json vite.config.js /app/ RUN npm install @@ -11,19 +9,17 @@ COPY resources /app/resources COPY www /app/www RUN npm run build -#FROM php:8.1-fpm as fpm_server -FROM php:8.1-apache as web_server +FROM php:8.1-apache AS web_server ARG PHP_EXT -ARG DEB_PKG -ARG DEB_PKG_TMP -WORKDIR /app -RUN apt-get update && apt-get install -y ${DEB_PKG} ${DEB_PKG_TMP} && \ - docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ - docker-php-ext-install ${PHP_EXT} && \ - apt-get remove --purge -y ${DEB_PKG_TMP} && \ - mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" +COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ +RUN install-php-extensions ${PHP_EXT} && \ + a2enmod rewrite headers && \ + mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" COPY docker/php "$PHP_INI_DIR/conf.d/" -COPY --chown=www-data:www-data . /var/www/html + +FROM web_server AS openxe + +COPY --chown=www-data:www-data --exclude=userdata . /var/www/html COPY --chown=www-data:www-data --from=frontend /app/www/dist /var/www/html/www/dist \ No newline at end of file From 36f83bf7c371c494fe7541154ff980fe9cc8a24d Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Tue, 3 Mar 2026 12:17:27 +0100 Subject: [PATCH 02/15] Removed obsolete PHP classes: `PicosafeLogin`, `ChildTable`, and `Table`. --- phpwf/class.application.php | 11 +- phpwf/class.player.php | 1 + phpwf/htmltags/class.form.php | 2 +- phpwf/plugins/class.acl.php | 1 + phpwf/plugins/class.formhandler.php | 8 +- phpwf/plugins/class.picosafelogin.php | 245 -------- phpwf/plugins/class.wfmonitor.php | 8 +- phpwf/types/class.simplelist.php | 9 +- phpwf/widgets/childtable.php | 249 --------- phpwf/widgets/grouptable.php | 8 +- phpwf/widgets/table.php | 774 -------------------------- www/pages/welcome.php | 3 - xentral_autoloader.php | 1 - 13 files changed, 23 insertions(+), 1297 deletions(-) delete mode 100644 phpwf/plugins/class.picosafelogin.php delete mode 100644 phpwf/widgets/childtable.php delete mode 100644 phpwf/widgets/table.php diff --git a/phpwf/class.application.php b/phpwf/class.application.php index 7d422360c..b389d9334 100644 --- a/phpwf/class.application.php +++ b/phpwf/class.application.php @@ -1,4 +1,4 @@ - +*/ +?> Tpl = new TemplateParser($this); $this->FormHandler = new FormHandler($this); - $this->Table = new Table($this); $this->Widget = new WidgetAPI($this); $this->PageBuilder = new PageBuilder($this); $this->Page = new Page($this); diff --git a/phpwf/class.player.php b/phpwf/class.player.php index 39467ca5d..e27a82b82 100644 --- a/phpwf/class.player.php +++ b/phpwf/class.player.php @@ -149,6 +149,7 @@ public function Run($sessionObj) if($r2->isStatic()) { $allowed = $constr::AllowedVersion(); + $version_revision = ''; include(dirname(__DIR__) . '/version.php'); if((isset($allowed['max']) && ((float)$allowed['max'] < (float)$version_revision)) || diff --git a/phpwf/htmltags/class.form.php b/phpwf/htmltags/class.form.php index 3b2317fde..4ec4ebabc 100644 --- a/phpwf/htmltags/class.form.php +++ b/phpwf/htmltags/class.form.php @@ -291,7 +291,7 @@ function AddOptionsDimensionalArray($values) { foreach($values as $key=>$value) { - $this->options[] = array($value[wert],$value[schluessel]); + $this->options[] = array($value['wert'],$value['schluessel']); } } diff --git a/phpwf/plugins/class.acl.php b/phpwf/plugins/class.acl.php index 086dd676c..8b93ed221 100644 --- a/phpwf/plugins/class.acl.php +++ b/phpwf/plugins/class.acl.php @@ -557,6 +557,7 @@ public function Login() { $this->refresh_githash(); + $version_revision = ''; include dirname(__DIR__).'/../version.php'; $this->app->Tpl->Set('XENTRALVERSION',"V.".$version_revision); diff --git a/phpwf/plugins/class.formhandler.php b/phpwf/plugins/class.formhandler.php index c28d0d944..7e7cd5d10 100644 --- a/phpwf/plugins/class.formhandler.php +++ b/phpwf/plugins/class.formhandler.php @@ -1,4 +1,4 @@ - +*/ +?> value = $value; } - if(get_class($htmlobject)=="blindfield") + if(get_class($field->htmlobject)=="blindfield") $field->value=$field->htmlobject->value; diff --git a/phpwf/plugins/class.picosafelogin.php b/phpwf/plugins/class.picosafelogin.php deleted file mode 100644 index 8e43f163a..000000000 --- a/phpwf/plugins/class.picosafelogin.php +++ /dev/null @@ -1,245 +0,0 @@ - -seconds_valid_password=180; - } - - // please overload these methods - function GetUserAES() - { - // PLEASE FILL WITH YOUR DATA!! - - // 32 signs - //return "soopu9goBoay9vongooth2ooLu8keed1"; - return $this->user_aes;//"soopu9goBoay9vongooth2ooLu8keed1"; - } - - function GetUserCounter() - { - // PLEASE FILL WITH YOUR DATA!! - return $this->user_counter;//179; - } - - function GetUserDatablock() - { - // PLEASE FILL WITH YOUR DATA!! - // 10 signs - return $this->user_datablock;//"eeng5jo7th"; - } - - function SetUserLastCounter($username,$counter) - { - // PLEASE FILL WITH YOUR DATA!! - // set internal counter from user to new value givn from givenOtp - } - - function IsPicosafeLocked($username) - { - // PLEASE FILL WITH YOUR DATA!! - return false; - } - - - function GetServerTimestamp() - { - // instead of the local time function a server time or something other can be used - date_default_timezone_set("UTC"); - return time(); - } - - /************************************************/ - // or use set methods to load user values from external - - function SetUserAES($aes) - { - $this->user_aes = $aes; - } - - function SetUserDatablock($datablock) - { - $this->user_datablock = $datablock; - } - - - function SetUserCounter($counter) - { - $this->user_counter = $counter; - } - - - function GetLastValidCounter() - { - return $this->last_valid_counter; - } - - - /************************************************/ - - function LoginOTP($givenOtp)//,$aes,$datablock,$counter)//$username) - { - $aes = $this->GetUserAES(); - - // $aes = substr($server_aes, 0, 32); - // $data = substr($server_aes, 32, 10); - - $counter = $this->GetUserCounter(); - $data = $this->GetUserDatablock(); - $locked = $this->IsPicosafeLocked(); - - - // check if device is locked? perhaps the user lost his device .... - if($locked) - { - $this->error_message = "Picosafe is locked"; - return false; - } - $datablock = null; - $result = $this->ParseOTP($givenOtp,$aes,$datablock); - - //check if is the right aes for the given user - if($result['datablock']!=$datablock && $datablock!="") - { - $this->error_message = "Wrong Key to given username"; - return false; - } - - // server counter is greater than aes counter - if($result['counter'] < $counter) - { - $this->error_message = "Server counter is greater than aes counter"; - return false; - } - - // time differences - $time_diff_abs_between_aes_server = abs($this->GetServerTimestamp() - $result['timestamp']); - - if($time_diff_abs_between_aes_server > $this->seconds_valid_password) - { - $this->error_message = "Time difference between server and aes greater than ".$this->seconds_valid_password." seconds"; - return false; - } - - // Update Counter in server - //$this->SetUserLastCounter($username,$result['counter']); - $this->last_valid_counter = $result['counter']; - - return true; - } - - function ParseOTP($givenOtp,$aes,$datablock = null) - { - // base64 Kodierung des Sticks korrigieren - $givenOtp = rtrim($givenOtp); - - // Sonderzeichen in korrekte Sonderzeichen umwandeln - // (diese werden vom Stick anders vorgegeben, um von - // unterschiedl. Tastaturlayouts unabhängig zu werden) - $cgivenOtp = strlen($givenOtp); - for($i = 0; $i < $cgivenOtp; $i++) { - if($givenOtp[$i] == "!") { $givenOtp[$i] = "/"; } - elseif($givenOtp[$i] == ".") { $givenOtp[$i] = "="; } - elseif($givenOtp[$i] == "-") { $givenOtp[$i] = "+"; } - } - - // erstes Zeichen pruefen ob z oder y - // abhaengig davon alle y durch z ersetzen und umgekehrt - $z = $givenOtp[0]; - $crypted = substr($givenOtp, 1); - - if($z == "y" or $z == "Y") { - $ccrypted = strlen($crypted); - for($i = 0; $i < $ccrypted; $i++) { - if ($crypted[$i] == 'y') { $crypted[$i] = "z"; } - elseif($crypted[$i] == 'Y') { $crypted[$i] = "Z"; } - elseif($crypted[$i] == 'z') { $crypted[$i] = "y"; } - elseif($crypted[$i] == 'Z') { $crypted[$i] = "Y"; } - } - } - - if($z == "Y" or $z == "Z") { - $ccrypted = strlen($crypted); - for($i = 0; $i < $ccrypted; $i++) { - if(ctype_upper($crypted[$i])) { - $crypted[$i] = strtolower($crypted[$i]); - } else { - $crypted[$i] = strtoupper($crypted[$i]); - } - } - } - - $crypted = base64_decode($crypted); - // gegebenes One Time Passwort mit AES entschluesseln - $td = mcrypt_module_open("rijndael-128", "", "ecb", ""); - $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_URANDOM); - mcrypt_generic_init($td, $aes, $iv); - $plain = mdecrypt_generic($td, $crypted); - - - // aktueller Zaehlstand - $i = substr($plain, 0,1); - $j = substr($plain, 1,1); - $n = ord($i) + (ord($j) << 8); - $timestamp = (ord($plain[12]) << 24) + (ord($plain[13]) << 16) + (ord($plain[14]) << 8) + ord($plain[15]); - - // entschluesseltes Passwort aufteilen in - // und Datenblock - $plain = substr($plain, 2, 10); - - $result['counter']=$n; - $result['datablock']=$plain; - $result['timestamp']=$timestamp; - - - /* - echo "
"; - echo "Nummer: " . $n . "
"; - echo "Datenblock: " . $plain . " (" . $data . ")
"; - echo "Timestamp: " . $timestamp . "
"; - echo "Datetime: " . date("d.m.Y H:i:s",$timestamp) . "
"; - */ - //printf("4 Byte: %x \n", substr($plain,10)); - return $result; - } - -} - - diff --git a/phpwf/plugins/class.wfmonitor.php b/phpwf/plugins/class.wfmonitor.php index 15c7095a5..e79ab0116 100644 --- a/phpwf/plugins/class.wfmonitor.php +++ b/phpwf/plugins/class.wfmonitor.php @@ -1,4 +1,4 @@ - +*/ +?> phpWebFrame Error: $content "; diff --git a/phpwf/types/class.simplelist.php b/phpwf/types/class.simplelist.php index bf4f86922..735c4eb08 100644 --- a/phpwf/types/class.simplelist.php +++ b/phpwf/types/class.simplelist.php @@ -1,4 +1,4 @@ - +*/ +?> actual >=0 && $this->actual < $this->items) return $this->List[$this->actual]; - return FALSE; + $return = false; + return $return; } diff --git a/phpwf/widgets/childtable.php b/phpwf/widgets/childtable.php deleted file mode 100644 index 25f2b3f95..000000000 --- a/phpwf/widgets/childtable.php +++ /dev/null @@ -1,249 +0,0 @@ - - - * @author coma ag - * @author *105 - Multimediabüro - * @version 1.0 - * @since PHP 4.x - */ -class ChildTable { - - /** - * Target template to wich the table will be parsed. [Default: PAGE] - * @type string - */ - var $parsetarget; - - /** - * HTMLTable. Apply format changes to this object. - * @type Object - * @access public - */ - var $table; - - var $editdate; - var $datasetssql; - - - var $arrayuse; - - /** - * Constructor method - * - * @param $app Default application class - * - * @return Generated object ($this) - * @access public - */ - function __construct(&$app, $name, $parsetarget="PAGE",$editdate=false) { - $this->app = &$app; - $this->parsetarget=$parsetarget; - $this->name=$name; - $this->editdate = $editdate; - } // end of constructor - - - // defines all datasets - function DataSets($sql) { - $this->datasetssql = $sql; - } // end of function - - function Register($pointer, $event, $function) { - $this->events[$event] = $function; - $this->pointer = $pointer; - } // end of function - - function CatchEvents() { - $event=$this->app->Secure->GetPOST("{$this->name}_event"); - - if(is_array($event)){ - $function = $this->events[key($event)]; - $this->pointer->$function($event[key($event)]); - } // end of if - } // end of function - - - function MarkLineIfColHasValue($col,$value,$replace,$exclude) - { - $this->mark_col = $col; - $this->mark_value = $value; - $this->mark_replace = $replace; - $this->mark_exclude = $exclude; - - $this->mark = true; - } - - /* Diese Funktion dient fuer tabellen in denen die sipchildtables zeilen verschiedene bedeutungen haben - */ - - function ShowMultiRow($contentArr){ - $this->arrayuse = true; - - //$this->app->Table->CreateTable($this->datasetssql, $this->parsetarget, 400); - //$contentArr = $this->app->DB->SelectArr( $this->datasetssql ); - $this->app->Table->CreateTableFromArray($contentArr, $this->parsetarget, 450); - //$this->app->Table->FormatCondition(1, "", "%value%", array(5,6)); - - $this->Show(); - } - - function Show() { - $this->CatchEvents(); - if(!$this->arrayuse) - $this->app->Table->CreateTable($this->datasetssql, $this->parsetarget, 400); - - - $numberofdatasets = count($this->app->DB->SelectArr($this->datasetssql)); - $module = $this->app->Secure->GetGET("module"); - $id = $this->app->Secure->GetGET("id"); - - $delbutton = "name}_event[delete]\" value=\"%value%\">"; - // $editbutton = "name}_event[editdate]\" value=\"%value%\">"; - $editbutton = "name}'\" - class=\"bu_edit\" title=\"Datum bearbeiten\">"; - $downbutton = "name}_event[down]\" value=\"%value%\">"; - $upbutton = "name}_event[up]\" value=\"%value%\">"; - $addbutton = "name}'\" - class=\"bu_add\" title=\"Nach diesem Eintrag einfügen\">"; - $addfbutton = "name}'\" - class=\"bu_addf\" title=\"Nach diesem Eintrag einfügen\">"; - - - $menunew = $addbutton; - $menusingle = $delbutton.$addbutton.$addfbutton; - $menufirst = $delbutton.$addbutton.$addfbutton.$downbutton; - $menu = $delbutton.$addbutton.$addfbutton.$downbutton.$upbutton; - $menulast = $delbutton.$addbutton.$addfbutton.$upbutton; - - // falls zeit relation berarbeitet werden soll - if($this->editdate) - { - $menulast .= $editbutton; - $menu .= $editbutton; - $menufirst .= $editbutton; - $menusingle .= $editbutton; - - $header = ' - - - Nr. - Name - ID - Gültig von - bis - '; - } - else { - $header = ' - - - Nr. - Name - ID - '; - } - - - if(count($this->events)>0) - $header .= 'Aktion'; - - $header .= ' - - '; - - $this->app->Table->HeadingTop($header); - - - if($this->editdate){ - $arr = array(1, 2, 3, 4,6); - } - else{ - $arr = array(1, 2, 3, 5); - } - - // erstellen der richtigen menues - for($i=1;$i<=$numberofdatasets;$i++) { - if($numberofdatasets==1) - $this->app->Table->FormatCondition(1, 1, $menusingle, $arr); - else if($i==1) - $this->app->Table->FormatCondition(1, 1, $menufirst, $arr); - else if($i == $numberofdatasets) - $this->app->Table->FormatCondition(1, $numberofdatasets, $menulast, $arr); - else - $this->app->Table->FormatCondition(1, $i, $menu, $arr); - } // end of for - - - if(count($this->events)==0) { - if($this->editdate){ - $this->app->Table->FormatCondition(6, 0, "%value%", array(5,6)); - $this->app->Table->HideCol(6); - } - else { - $this->app->Table->FormatCondition(5, 0, "%value%", array(4, 5)); - $this->app->Table->HideCol(5); - $this->app->Table->HideCol(4); // menu ausblenden falls keine events registriert sind - } - } else { - // inaktiv zeile - if($this->editdate){ - $this->app->Table->FormatCondition(6, 0, "%value%", array(5, 6)); - $this->app->Table->HideCol(6); - } - else { - $this->app->Table->FormatCondition(5, 0, "%value%", array(4, 5)); - $this->app->Table->HideCol(5); - } - } // end of if/else - - - - if($this->mark && count($this->events)!=0) { - $this->app->Table->FormatCondition($this->mark_col, $this->mark_value, $this->mark_replace,$this->mark_exclude); - $this->app->Table->HideCol(6); - } - - - if ($numberofdatasets > 0) - $this->app->Table->Show(); - else { - $table = ' - - [TABLEHEADER] - - - - '; - - if(count($this->events)!=0) - $table .= ''; - - $table .= '
keine Elemente vorhanden'.$menunew.'
'; - //$this->app->Tpl->Set(TABLEHEADER,$header); - $this->app->Tpl->Set($this->parsetarget,$table, array('TABLEHEADER')); - } // end of if - } // end of function - -} // end of class -?> \ No newline at end of file diff --git a/phpwf/widgets/grouptable.php b/phpwf/widgets/grouptable.php index a6bc524d8..d2faecc5c 100644 --- a/phpwf/widgets/grouptable.php +++ b/phpwf/widgets/grouptable.php @@ -1,4 +1,4 @@ - +*/ +?> app->Secure->GetGET("event"); $eventid = $this->app->Secure->GetGET("eventid"); diff --git a/phpwf/widgets/table.php b/phpwf/widgets/table.php deleted file mode 100644 index a53d6049c..000000000 --- a/phpwf/widgets/table.php +++ /dev/null @@ -1,774 +0,0 @@ - - - * @author coma ag - * @author *105 - Multimediabüro - * @version 1.0 - * @since PHP 4.x - */ -class Table { - - /** - * Target template to wich the table will be parsed. [Default: PAGE] - * @type string - */ - var $parsetarget; - - /** - * HTMLTable. Apply format changes to this object. - * @type Object - * @access public - */ - var $table; - - /** - * SQL statement to fill table content. Altrnatively use CreateTableFromArray(). - * @type string - * @access private - */ - var $sql; - - /** - * Data array to fill table content. Altrnatively use CreateTableFromSQL(). - * @type string - * @access private - */ - var $contentArr; - - /** - * Indicates whether data is gathered from SQL statement od provided array - * @type bool - * @access private - */ - var $fromSQL = true; - - var $searchform=false; // normally true - var $sortheading=true; - var $html; - var $menu; - var $rowlimit=0; - - - /** - * Constructor method - * - * @param $app Default application class - * - * @return Generated object ($this) - * @access public - */ - function __construct($app) { - $this->app = $app; - $this->app->Tpl->Set('TABLEHEADER', ""); - $this->app->Tpl->Set('TABLEFOOTER', ""); - } // end of constructor - - /** - * Standard method to create a table. The data is gathered - * from provided sql statement and formatted, finally printed - * to screen. - * - *

- * NOTE: Method is deprecated. Use CreateTableFromArray() or - * CreateTableFromSQL() instead! - * - * - * @param $sql SQL stemenet (Select) to fill the table content - * @param $parsetarget Target template to where the content is parsed [Default: PAGE] - * - * @access public - */ - function CreateTable($sql, $parsetarget='PAGE',$size="") { - $this->CreateTableFromSQL($sql, $parsetarget,$size); - } // end of function - - /** - * Standard method to create a table: The data is gathered - * from provided sql statement and formatted, finally printed - * to screen. - * - * @param $sql SQL stemenet (Select) to fill the table content - * @param $parsetarget Target template to where the content is parsed [Default: PAGE] - * - * @access public - */ - function CreateTableFromSQL($sql, $parsetarget='PAGE', $size="") - { - $order=$this->app->Secure->GetGET("order"); - if($order!="") - $sql = $sql." ORDER By $order"; - - $this->parsetarget = $parsetarget; - $this->sql = $sql; - $this->contentArr = $this->app->DB->SelectArr($this->sql); - $this->html = ""; - $this->fromSQL = true; - $this->InitTable($size); - } // end of function - - /** - * Alternative method to create a table: The data is gathered - * from provided data array, then formatted and finally printed - * to screen. - * - * @param $contentArr SQL stemenet (Select) to fill the table content - * @param $parsetarget Target template to where the content is parsed [Default: PAGE] - * - * @access public - */ - function CreateTableFromArray($contentArr, $parsetarget=PAGE, $size="") - { - /* - echo "
";
-	print_r($contentArr[0]);
-  	echo "
"; - */ - - - $order=$this->app->Secure->GetGET("order"); - if($order!="") - $contentArr = $this->SortTableArray($contentArr,$order); - - $this->parsetarget = $parsetarget; - $this->contentArr = $contentArr; - $this->fromSQL = false; - $this->InitTable($size); - } // end of function - - - function SortTableArray($data,$order) - { - - // to be sure, that we have a numeric array - for ($i=0; $i$value) - { - $numarr[$i][]=$value; - } - } - $data = $numarr; - - // Obtain a list of columns - // We have an array of rows, but array_multisort() requires an array of columns, - // so we use the below code to obtain the columns, then perform the sorting. - if(count($data)>0) - foreach ($data as $key => $row) { - for($i=0;$itable = new HTMLTable("0",$size,"","0","0"); - $this->table->SetTDClass("divider"); - $this->table->ChangingRowColors('#F5F5F5', ''); - $this->Generate(); - } // end of function - - /** - * Use Array $contentArr to fill table with data - * - * @access private - */ - function Generate($fromSQL=true) { - // Check for empty array - if (count($this->contentArr) < 1) - return; - - // Build table - while (list($key, $row) = @each($this->contentArr)) { - - $this->table->NewRow(); - while (list($col, $val) = @each($row)) { - - if(count($this->cols)==0) { - $this->table->AddCol($val); - } else { - if(isset($this->cols[$col])) - $this->table->AddCol($val); - } // end of if - } // end of inner while - } // end of outer while - } // end of function - - - function DeleteAsk($colnumber,$msg,$module,$action){ - $link = " - loeschen"; - - $this->table->ReplaceCol($colnumber,$link); - } // end of function - - - function ReplaceCol($colnumber,$link) { - $this->table->ReplaceCol($colnumber,$link); - } // end of function - - - function RowMenu($col, $menu) { - $this->menu = $menu; - - switch($menu) { - case 'special': - // $this->RowMenuSpecial($col, "personenform"); - break; - - case 'personen': - $this->RowMenuGeneric($col, "personenform", true, true); - break; - - case 'formel': - $this->RowMenuGeneric($col, "formelform", false, true); - break; - - case 'produkt': - $this->RowMenuGeneric($col, "produktform", true, true); - break; - - case 'hut': - $this->RowMenuHut($col, "hutform", true, true); - break; - - case 'statistikauswertung_ordner': - $this->RowMenuAuswertung($col, "statistikauswerten"); - break; - - case 'statistikverwaltung_ordner': - $this->RowMenuVerwaltungOrdner($col, "statistikverwalten"); - break; - - case 'statistikverwaltung_formeln': - $this->RowMenuVerwaltungFormeln($col, "statistikverwaltenformel"); - break; - - default: - $this->RowMenuGeneric($col, $menu."form", true); - } // end of switch - - } // end of function - - /* spalten nummer ( von 1 gezaehlt), dann der if wert also wenn value gleich - dem aktuellen Wert in der Zelle ist, dann wird der text in der - Zeile durch replacestring ersetzt. Im replacestring muss - sich %value% befinden, an der Stelle wird der alte Wert eingefuegt. - - Falls bestimmte Spalten nicht ersetzt werden sollen, koennen diese - im array dontreplacecols angegeben werden. - */ - - function FormatCondition($col, $value, $replacestring, $dontreplacecols=array()) { - $rows = count($this->table->Table); - for($i=0;$i<$rows;$i++) { - - // check ob der wert in der spalte mit dem $value uebereinstimmt - // wenn ja ersetze jede zeile auser die aus dem array dontreplacecols - if($this->table->Table[$i][$col-1]==$value) { - - // ersetze spalten auser die in dontreplacecols - $cols = count($this->table->Table[$i]); - - for($j=0;$j<$cols;$j++) { - if(!in_array($j+1,$dontreplacecols)) { - $content = $this->table->Table[$i][$j]; - $this->table->Table[$i][$j] = str_replace("%value%", $content, $replacestring); - } // end of if - } // end of for - } // end of if - } // end of for - } // end of function - - /** - * Formats a table coolumn with SIP specific format options. - * Available options are listed below: - *
    - *
  • numeric: aligns right
  • - *
- * - * @param Int $col Column number for menu - * @param String $sipStyle use options from available list (see above) - * - * @access public - */ - function FormatColumn($col, $sipStyle) { - switch ($sipStyle){ - case "numeric": - $cssStyle = "divider alignRight"; - break; - - case "currency": - $cssStyle = "divider alignRight number"; - break; - - default: - $cssStyle = "divider"; - } // end of switch - - $this->table->FormatCol($col, $cssStyle); - } // end of function - - /** - * Creates a generic menu for each table row. - * Presets for this generic menu are: - *
    - *
  • the menu column contains the data records id (primary key)
  • - *
  • 1st column contains the same id as above
  • - *
  • 2nd column contains 0 or 1 as relevant value for activate and deactivate (zustand / active) if param $showActivate is set to true
  • - *
  • 3rd column contains 0 or 1 as relevant value for delete (deletable or not) if param $showDelete is set to true
  • - *
- * - * @param Int $col Column number for menu - * @param String $module Modulename used to build links (e.g. personenform, hutform, etc.) - * @param Bool $showActivate Show active/deactivate buttons depending on value in 2nd column - * @param Bool $showDelete Show delete button if value indicates that (value in 3rd column) - * - * @access public - */ - function RowMenuGeneric($col, $module, $showActivate=true, $showDelete=false) { - $rows = count($this->table->Table); - - for($i=0;$i<$rows;$i++) { - $cols = count($this->table->Table[$i]); - - for($j=0;$j<$cols;$j++) { - - if($j==($col-1)){ - $id = $this->table->Table[$i][$j]; - $menu = ""; - //historie - $menu .= ""; - $menu .= "\"Historie\""; - $menu .= " "; - - // bearbeiten wenn aktiv - if ($this->table->Table[$i][1] != 0) { - $menu .= ""; - $menu .= "\"bearbeiten\""; - $menu .= " "; - } // end of if - - // aktivieren wenn inaktiv, sonst deaktivieren - if (($this->table->Table[$i][1] == 0) && ($showActivate)){ - $menu .= ""; - $menu .= "\"reaktivieren\""; - $menu .= " "; - } else { - if($showActivate) { - $menu .= ""; - $menu .= "\"deaktivieren\""; - $menu .= " "; - } // end of if - } // end of if - anzeige von deaktivieren ODER aktivieren - - // l�sch button einblenden wenn delete kriterium 1 - if ($showDelete) { - // print_r($this->table->Table); - if ($this->table->Table[$i][2] == 1) { - $menu .= ""; - $menu .= "\"löschen\""; - $menu .= " "; - } // end of if - anzeige des l�schen buttons oder nicht nach wert - } // end of if - anzeige von l�schen oder nicht nach funktionsparmeter - - // wenn noch nicht verlinkt - $this->table->Table[$i][$j] = $menu; - - } // end of outer if - } // end of inner for - } // end pof outer for - } // end of function - - - - - /** - * Creates a specific form for Hut - * - * @param Int $col Column number for menu - * @param String $module Modulename used to build links (e.g. personenform, hutform, etc.) - * - * @access public - */ - function RowMenuHut($col, $module, $showActivate=true, $showDelete=false) { - $rows = count($this->table->Table); - - for($i=0;$i<$rows;$i++) { - $cols = count($this->table->Table[$i]); - - for($j=0;$j<$cols;$j++) { - - if($j==($col-1)){ - $id = $this->table->Table[$i][$j]; - $menu = ""; - //historie - $menu .= ""; - $menu .= "\"Historie\""; - $menu .= " "; - - // bearbeiten wenn aktiv - if ($this->table->Table[$i][1] != 0) { - $menu .= ""; - $menu .= "\"bearbeiten\""; - $menu .= " "; - } // end of if - - // aktivieren wenn inaktiv, sonst deaktivieren - if (($this->table->Table[$i][1] == 0) && ($showActivate)){ - $menu .= ""; - $menu .= "\"reaktivieren\""; - $menu .= " "; - } else { - if($showActivate) { - if (strlen($this->table->Table[$i][8]) == 51) { - $menu .= ""; - $menu .= "\"deaktivieren\""; - $menu .= " "; - } // end of if - } // end of if - } // end of if - anzeige von deaktivieren ODER aktivieren - - // l�sch button einblenden wenn delete kriterium 1 - if ($showDelete) { - // print_r($this->table->Table); - if ($this->table->Table[$i][2] == 1) { - $menu .= ""; - $menu .= "\"löschen\""; - $menu .= " "; - } // end of if - anzeige des l�schen buttons oder nicht nach wert - } // end of if - anzeige von l�schen oder nicht nach funktionsparmeter - - // wenn noch nicht verlinkt - $this->table->Table[$i][$j] = $menu; - - } // end of outer if - } // end of inner for - } // end pof outer for - } // end of function - - -/** - * Creates a specific form for OIC Module Statistik Auswertung / Ordner�bersicht - * - * @param Int $col Column number for menu - * @param String $module Modulename used to build links (e.g. personenform, hutform, etc.) - * - * @access public - */ - function RowMenuAuswertung($col, $module) { - $rows = count($this->table->Table); - - for($i=0;$i<$rows;$i++) { - $cols = count($this->table->Table[$i]); - - for($j=0;$j<$cols;$j++) { - - if($j==($col-1)){ - $id = $this->table->Table[$i][$j]; - $menu = ""; - - if ($this->table->Table[$i][3] != 0) { - // Detailansicht - $menu .= ""; - $menu .= "\"Detailansicht\""; - $menu .= " "; - - // Graph - $menu .= ""; - $menu .= "\"Graph\""; - $menu .= " "; - - } else { - $menu .= "keine Formeln vorhanden"; - } // end of if - nicht anzeigen wenn keine Formeln im Ordner sind - - // wenn noch nicht verlinkt - $this->table->Table[$i][$j] = $menu; - - } // end of outer if - } // end of inner for - } // end pof outer for - } // end of function - - -/** - * Creates a specific form for OIC Module Statistik Verwaltung / Ordner�bersicht - * - * @param Int $col Column number for menu - * @param String $module Modulename used to build links (e.g. personenform, hutform, etc.) - * - * @access public - */ - function RowMenuVerwaltungOrdner($col, $module) { - $rows = count($this->table->Table); - - for($i=0; $i<$rows; $i++) { - $cols = count($this->table->Table[$i]); - - for($j=0; $j<$cols; $j++) { - - if($j==($col-1)){ - $id = $this->table->Table[$i][$j]; - $menu = ""; - - // Edit - $menu .= ""; - $menu .= "\"Ordner"; - $menu .= " "; - - // Formeln bearbeiten - $menu .= ""; - $menu .= "\"Formeln"; - $menu .= " "; - - // Nach unten (wenn nicht letztes in Liste) - if ($i != $rows-1) { - $menu .= ""; - $menu .= "\"Nach"; - $menu .= " "; - } // end of if - - // Nach oben (wenn nicht erstes in Liste) - if ($i != 0) { - $menu .= ""; - $menu .= "\"Nach"; - $menu .= " "; - } // end of if - - // Delete - Wenn in Spalte 3 eine 0 steht (keine Formeln mehr im Ordner) - if ($this->table->Table[$i][3] == 0) { - $menu .= ""; - $menu .= "\"löschen\""; - $menu .= " "; - } // end of if - anzeige des l�schen buttons oder nicht nach wert - - // wenn noch nicht verlinkt - $this->table->Table[$i][$j] = $menu; - - } // end of outer if - } // end of inner for - } // end pof outer for - } // end of function - -/** - * Creates a specific form for OIC Module Statistik Verwaltung / Formel�bersicht innerhalb eines Ordners - * - * @param Int $col Column number for menu - * @param String $module Modulename used to build links (e.g. personenform, hutform, etc.) - * - * @access public - */ - function RowMenuVerwaltungFormeln($col, $module) { - $rows = count($this->table->Table); - - if ($rows == 0) { - $this->table->Table[] = Array("", "", "", "Bisher existiert kein Eintrag in dieser Liste.", "", "", "", "-1"); - $rows = count($this->table->Table); - } // end of if - - for($i=0; $i<$rows; $i++) { - $cols = count($this->table->Table[$i]); - - for($j=0; $j<$cols; $j++) { - - if($j==($col-1)){ - $id = $this->table->Table[$i][$j]; - $menu = ""; - - // Ansicht (1 oder 1/4) - if ($this->table->Table[$i][1] == 4 && $id != -1) { - $menu .= ""; - $menu .= "\"Ansicht"; - $menu .= " "; - } else if ($this->table->Table[$i][0] != "") { - $menu .= ""; - $menu .= "\"Ansicht"; - $menu .= " "; - } // end of if - Ansicht 1 oder 1/4 - - // Delete - Wenn in Spalte 3 eine 0 steht (keine Formeln mehr im Ordner) - //echo $this->table->Table[$i][1]."
"; - //if ($this->table->Table[$i][1] == 0 && $id != -1) { - if ($id != -1) { - $menu .= ""; - $menu .= "\"löschen\""; - $menu .= " "; - } // end of if - anzeige des l�schen buttons oder nicht nach wert - - // Formeln hinzuf�gen - if ($id != -1) { - $menu .= ""; - $menu .= "\"Nach"; - $menu .= " "; - } else { - $menu .= ""; - $menu .= "\"Formel"; - $menu .= " "; - } // end of if - - // Nach unten (wenn nicht letztes in Liste) - if ($i != $rows-1 && $id != -1) { - $menu .= ""; - $menu .= "\"Nach"; - $menu .= " "; - } // end of if - - // Nach oben (wenn nicht erstes in Liste) - if ($i != 0 && $id != -1) { - $menu .= ""; - $menu .= "\"Nach"; - $menu .= " "; - } // end of if - - // wenn noch nicht verlinkt - $this->table->Table[$i][$j] = $menu; - - } // end of outer if - } // end of inner for - } // end pof outer for - -/* - - 1 - Abgeschlossene Verträge - F3 - Pkt/Stk - 1 - Ansicht 1/4 löschen nach dieser hinzufügen nach unten - -*/ - - } // end of function - - - /** - * Shows the siptable - * - * @access public - */ - function Show() { - $this->html = ""; - if($this->searchform) - $this->html .= $this->SortAndSearchForm(); - - //$this->html .= $this->table->Get(" ",""); - $this->html .= $this->table->Get(" ",$this->headingtop); - $this->app->Tpl->Add($this->parsetarget, $this->html); - } // end of function - - - function RowLimit($number) { - $this->rowlimit=$number; - } - - - function Cols($fields) - { - $this->cols=array_flip($fields); - } - - function HideCol($number) - { - $this->table->HideCol($number); - } - - function HeadingTop($value) - { - $this->headingtop=$value; - - } - - function Headings($descriptions) - { - $this->table->AddRowAsHeading($descriptions); - $this->descriptions=$descriptions; - } - - function SetSortAndSearchForm($bool) - { - $this->searchform=$bool; - } - - function SetSortHeading($bool) - { - $this->sortheading=$bool; - } - - - function SortAndSearchForm() - { - $select = new HTMLSelect("sort",1); - if(count($this->cols)==0) - { - - } - else - { - while (list($col, $val) = @each($this->cols)) - { - if($this->descriptions[$col]!="") - $select->AddOption("Nach {$this->descriptions[$col]} Sortieren",$col); - else - $select->AddOption("Nach $col Sortieren",$col); - - } - } - $html = $select->Get(); - - $search = new HTMLInput("search","text","",20); - $html .= $search->Get(); - - $html .=""; - - $html .="
"; - - $alphabet = range('A', 'Z'); - $html .=""; - foreach ($alphabet as $letter) - $html .= ""; - - $html .="
$letter
"; - - - return $html; - } - -} // end of class - -?> diff --git a/www/pages/welcome.php b/www/pages/welcome.php index 7cbfddb0f..6dd8a081f 100644 --- a/www/pages/welcome.php +++ b/www/pages/welcome.php @@ -2915,9 +2915,6 @@ protected function HandleStartClickByClick() ] ] ]; - if($showExampleImport) { - $lastPage['subHeadline'] .= '
Beispieldaten einspielen'; - } $pages[] = $lastPage; diff --git a/xentral_autoloader.php b/xentral_autoloader.php index 7b0633a97..efa33c1e3 100644 --- a/xentral_autoloader.php +++ b/xentral_autoloader.php @@ -49,7 +49,6 @@ function xentral_autoloader($class) { 'HTMLCheckbox'=>__DIR__.'/phpwf/htmltags/class.form.php', 'HTMLSelect'=>__DIR__.'/phpwf/htmltags/class.form.php', 'SimpleList'=>__DIR__.'/phpwf/types/class.simplelist.php', - 'PicosafeLogin'=>__DIR__.'/phpwf/plugins/class.picosafelogin.php', 'WaWisionOTP'=>__DIR__.'/phpwf/plugins/class.wawision_otp.php', 'PDF_EPS'=>__DIR__.'/www/lib/pdf/fpdf_final.php', 'SuperFPDF'=>__DIR__.'/www/lib/dokumente/class.superfpdf.php', From b522c4600cac6b42535a35b664040cfc497c143a Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Tue, 10 Feb 2026 20:55:52 +0100 Subject: [PATCH 03/15] Removed legacy `xentral_autoloader.php` and updated Composer autoloader. --- composer.json | 31 +- cronjobs/belegeimport.php | 2 +- cronjobs/command.php | 1 - cronjobs/ebay_bulkjobs.php | 5 +- cronjobs/internetmarke.php | 1 - cronjobs/pdfarchiv_app.php | 4 +- cronjobs/produktion_berechnen.php | 4 - cronjobs/rechnungslauf.php | 2 +- cronjobs/rechnungslauf_manual.php | 2 +- cronjobs/shipment_tracking.php | 2 +- cronjobs/shop_rueckmeldungen.php | 4 +- cronjobs/shopexport_voucher.php | 5 +- cronjobs/starter.php | 5 +- cronjobs/starter2.php | 5 +- phpwf/class.application.php | 24 - refreshFileCache.php | 4 +- vendor/composer/autoload_classmap.php | 789 ++++++++++++++++++ vendor/composer/autoload_static.php | 789 ++++++++++++++++++ www/api/index.php | 1 - www/docscan/upload.php | 1 - www/eproosystem.php | 2 +- www/index.php | 7 +- www/lib/dokumente/class.anfrage.php | 13 +- www/lib/dokumente/class.angebot.php | 9 - www/lib/dokumente/class.bestellung.php | 9 - .../dokumente/class.briefpapier_custom.php | 5 + www/lib/dokumente/class.gutschrift.php | 9 - www/lib/dokumente/class.kommissionierung.php | 9 - www/lib/dokumente/class.lieferschein.php | 13 +- www/lib/dokumente/class.preisanfrage.php | 13 +- www/lib/dokumente/class.produktion.php | 9 - www/lib/dokumente/class.proformarechnung.php | 9 - www/lib/dokumente/class.rechnung.php | 9 - www/lib/dokumente/class.retoure.php | 13 +- .../dokumente/class.versandpaketschein.php | 9 - xentral_autoloader.php | 193 ----- 36 files changed, 1634 insertions(+), 378 deletions(-) create mode 100644 www/lib/dokumente/class.briefpapier_custom.php delete mode 100644 xentral_autoloader.php diff --git a/composer.json b/composer.json index 06e2a500e..6a1638158 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,36 @@ "psr-4": { "Xentral\\": "classes" }, - "classmap": ["www/lib/versandarten/"] + "classmap": [ + "conf/", + "phpwf/", + "www/docscan/", + "www/widgets/", + "www/lib/versandarten/", + "www/lib/class.navigation_edit.php", + "www/lib/class.xtea.php", + "www/lib/class.ustid.php", + "www/plugins/class.ics.php", + "www/lib/PrinterBase.php", + "www/lib/TransferBase.php", + "www/lib/ShopimporterBase.php", + "www/lib/imap.inc.php", + "www/lib/class.help.php", + "www/lib/class.printer.php", + "www/lib/class.image.php", + "www/lib/class.location.php", + "www/lib/class.remote.php", + "www/lib/class.erpapi.php", + "www/eproosystem.php", + "www/lib/class.httpclient.php", + "www/lib/pdf/fpdf_final.php", + "www/lib/dokumente/", + "www/plugins/class.wikiparser.php", + "www/plugins/php-print.php", + "www/plugins/liveimport/LiveimportBase.php", + "www/lib/class.aes2.php", + "www/lib/pdf/fpdf_3.php" + ] }, "config": { "platform": { diff --git a/cronjobs/belegeimport.php b/cronjobs/belegeimport.php index 272f9e6de..871fe3f2c 100644 --- a/cronjobs/belegeimport.php +++ b/cronjobs/belegeimport.php @@ -1,7 +1,7 @@ 0); -require_once dirname(__DIR__) . '/xentral_autoloader.php'; require_once dirname(__DIR__) . '/vendor/autoload.php'; diff --git a/cronjobs/ebay_bulkjobs.php b/cronjobs/ebay_bulkjobs.php index 5fe5c9558..d05a02143 100644 --- a/cronjobs/ebay_bulkjobs.php +++ b/cronjobs/ebay_bulkjobs.php @@ -1,9 +1,6 @@ Conf= $config; - //include dirname(__DIR__).'/phpwf/plugins/class.mysql.php'; - if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on'){ $this->http = 'https'; } diff --git a/refreshFileCache.php b/refreshFileCache.php index ce4e47d4c..84c265805 100644 --- a/refreshFileCache.php +++ b/refreshFileCache.php @@ -8,9 +8,7 @@ error_reporting(E_ERROR | E_COMPILE_ERROR | E_CORE_ERROR | E_RECOVERABLE_ERROR | E_USER_ERROR | E_PARSE); -if(file_exists(__DIR__.'/xentral_autoloader.php')){ - include_once (__DIR__.'/xentral_autoloader.php'); -} +require_once __DIR__ . '/vendor/autoload.php'; $config = new Config(); $installerCacheConfig = new InstallerCacheConfig($config->WFuserdata . '/tmp/' . $config->WFdbname); diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index c0eb26162..8a1ac8160 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -6,6 +6,17 @@ $baseDir = dirname($vendorDir); return array( + 'AES' => $baseDir . '/www/lib/class.aes2.php', + 'Acl' => $baseDir . '/phpwf/plugins/class.acl.php', + 'AdressstammblattPDF' => $baseDir . '/www/lib/dokumente/class.adressstammblatt.php', + 'AnfragePDF' => $baseDir . '/www/lib/dokumente/class.anfrage.php', + 'AngebotPDF' => $baseDir . '/www/lib/dokumente/class.angebot.php', + 'Application' => $baseDir . '/phpwf/class.application.php', + 'ApplicationCore' => $baseDir . '/phpwf/class.application_core.php', + 'ArbeitsnachweisPDF' => $baseDir . '/www/lib/dokumente/class.arbeitsnachweis.php', + 'ArbeitszeitnachweisPDF' => $baseDir . '/www/lib/dokumente/class.arbeitszeitnachweis.php', + 'ArtikelTabelle' => $baseDir . '/www/widgets/artikeltable.php', + 'AuftragPDF' => $baseDir . '/www/lib/dokumente/class.auftrag.php', 'Aura\\SqlQuery\\AbstractDmlQuery' => $vendorDir . '/aura/sqlquery/src/AbstractDmlQuery.php', 'Aura\\SqlQuery\\AbstractQuery' => $vendorDir . '/aura/sqlquery/src/AbstractQuery.php', 'Aura\\SqlQuery\\Common\\Delete' => $vendorDir . '/aura/sqlquery/src/Common/Delete.php', @@ -45,15 +56,25 @@ 'Aura\\SqlQuery\\Sqlsrv\\Update' => $vendorDir . '/aura/sqlquery/src/Sqlsrv/Update.php', 'Aws\\ACMPCA\\ACMPCAClient' => $vendorDir . '/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php', 'Aws\\ACMPCA\\Exception\\ACMPCAException' => $vendorDir . '/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php', + 'Aws\\AIOps\\AIOpsClient' => $vendorDir . '/aws/aws-sdk-php/src/AIOps/AIOpsClient.php', + 'Aws\\AIOps\\Exception\\AIOpsException' => $vendorDir . '/aws/aws-sdk-php/src/AIOps/Exception/AIOpsException.php', + 'Aws\\ARCRegionSwitch\\ARCRegionSwitchClient' => $vendorDir . '/aws/aws-sdk-php/src/ARCRegionSwitch/ARCRegionSwitchClient.php', + 'Aws\\ARCRegionSwitch\\Exception\\ARCRegionSwitchException' => $vendorDir . '/aws/aws-sdk-php/src/ARCRegionSwitch/Exception/ARCRegionSwitchException.php', + 'Aws\\ARCZonalShift\\ARCZonalShiftClient' => $vendorDir . '/aws/aws-sdk-php/src/ARCZonalShift/ARCZonalShiftClient.php', + 'Aws\\ARCZonalShift\\Exception\\ARCZonalShiftException' => $vendorDir . '/aws/aws-sdk-php/src/ARCZonalShift/Exception/ARCZonalShiftException.php', 'Aws\\AbstractConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/AbstractConfigurationProvider.php', 'Aws\\AccessAnalyzer\\AccessAnalyzerClient' => $vendorDir . '/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php', 'Aws\\AccessAnalyzer\\Exception\\AccessAnalyzerException' => $vendorDir . '/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php', + 'Aws\\Account\\AccountClient' => $vendorDir . '/aws/aws-sdk-php/src/Account/AccountClient.php', + 'Aws\\Account\\Exception\\AccountException' => $vendorDir . '/aws/aws-sdk-php/src/Account/Exception/AccountException.php', 'Aws\\Acm\\AcmClient' => $vendorDir . '/aws/aws-sdk-php/src/Acm/AcmClient.php', 'Aws\\Acm\\Exception\\AcmException' => $vendorDir . '/aws/aws-sdk-php/src/Acm/Exception/AcmException.php', 'Aws\\AlexaForBusiness\\AlexaForBusinessClient' => $vendorDir . '/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php', 'Aws\\AlexaForBusiness\\Exception\\AlexaForBusinessException' => $vendorDir . '/aws/aws-sdk-php/src/AlexaForBusiness/Exception/AlexaForBusinessException.php', 'Aws\\AmplifyBackend\\AmplifyBackendClient' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyBackend/AmplifyBackendClient.php', 'Aws\\AmplifyBackend\\Exception\\AmplifyBackendException' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyBackend/Exception/AmplifyBackendException.php', + 'Aws\\AmplifyUIBuilder\\AmplifyUIBuilderClient' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyUIBuilder/AmplifyUIBuilderClient.php', + 'Aws\\AmplifyUIBuilder\\Exception\\AmplifyUIBuilderException' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyUIBuilder/Exception/AmplifyUIBuilderException.php', 'Aws\\Amplify\\AmplifyClient' => $vendorDir . '/aws/aws-sdk-php/src/Amplify/AmplifyClient.php', 'Aws\\Amplify\\Exception\\AmplifyException' => $vendorDir . '/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php', 'Aws\\ApiGatewayManagementApi\\ApiGatewayManagementApiClient' => $vendorDir . '/aws/aws-sdk-php/src/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php', @@ -83,6 +104,7 @@ 'Aws\\Api\\Parser\\JsonParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/JsonParser.php', 'Aws\\Api\\Parser\\JsonRpcParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php', 'Aws\\Api\\Parser\\MetadataParserTrait' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php', + 'Aws\\Api\\Parser\\NonSeekableStreamDecodingEventStreamIterator' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/NonSeekableStreamDecodingEventStreamIterator.php', 'Aws\\Api\\Parser\\PayloadParserTrait' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php', 'Aws\\Api\\Parser\\QueryParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/QueryParser.php', 'Aws\\Api\\Parser\\RestJsonParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php', @@ -101,26 +123,37 @@ 'Aws\\Api\\Shape' => $vendorDir . '/aws/aws-sdk-php/src/Api/Shape.php', 'Aws\\Api\\ShapeMap' => $vendorDir . '/aws/aws-sdk-php/src/Api/ShapeMap.php', 'Aws\\Api\\StructureShape' => $vendorDir . '/aws/aws-sdk-php/src/Api/StructureShape.php', + 'Aws\\Api\\SupportedProtocols' => $vendorDir . '/aws/aws-sdk-php/src/Api/SupportedProtocols.php', 'Aws\\Api\\TimestampShape' => $vendorDir . '/aws/aws-sdk-php/src/Api/TimestampShape.php', 'Aws\\Api\\Validator' => $vendorDir . '/aws/aws-sdk-php/src/Api/Validator.php', + 'Aws\\AppConfigData\\AppConfigDataClient' => $vendorDir . '/aws/aws-sdk-php/src/AppConfigData/AppConfigDataClient.php', + 'Aws\\AppConfigData\\Exception\\AppConfigDataException' => $vendorDir . '/aws/aws-sdk-php/src/AppConfigData/Exception/AppConfigDataException.php', 'Aws\\AppConfig\\AppConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/AppConfig/AppConfigClient.php', 'Aws\\AppConfig\\Exception\\AppConfigException' => $vendorDir . '/aws/aws-sdk-php/src/AppConfig/Exception/AppConfigException.php', + 'Aws\\AppFabric\\AppFabricClient' => $vendorDir . '/aws/aws-sdk-php/src/AppFabric/AppFabricClient.php', + 'Aws\\AppFabric\\Exception\\AppFabricException' => $vendorDir . '/aws/aws-sdk-php/src/AppFabric/Exception/AppFabricException.php', 'Aws\\AppIntegrationsService\\AppIntegrationsServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/AppIntegrationsService/AppIntegrationsServiceClient.php', 'Aws\\AppIntegrationsService\\Exception\\AppIntegrationsServiceException' => $vendorDir . '/aws/aws-sdk-php/src/AppIntegrationsService/Exception/AppIntegrationsServiceException.php', 'Aws\\AppMesh\\AppMeshClient' => $vendorDir . '/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php', 'Aws\\AppMesh\\Exception\\AppMeshException' => $vendorDir . '/aws/aws-sdk-php/src/AppMesh/Exception/AppMeshException.php', 'Aws\\AppRegistry\\AppRegistryClient' => $vendorDir . '/aws/aws-sdk-php/src/AppRegistry/AppRegistryClient.php', 'Aws\\AppRegistry\\Exception\\AppRegistryException' => $vendorDir . '/aws/aws-sdk-php/src/AppRegistry/Exception/AppRegistryException.php', + 'Aws\\AppRunner\\AppRunnerClient' => $vendorDir . '/aws/aws-sdk-php/src/AppRunner/AppRunnerClient.php', + 'Aws\\AppRunner\\Exception\\AppRunnerException' => $vendorDir . '/aws/aws-sdk-php/src/AppRunner/Exception/AppRunnerException.php', 'Aws\\AppSync\\AppSyncClient' => $vendorDir . '/aws/aws-sdk-php/src/AppSync/AppSyncClient.php', 'Aws\\AppSync\\Exception\\AppSyncException' => $vendorDir . '/aws/aws-sdk-php/src/AppSync/Exception/AppSyncException.php', 'Aws\\Appflow\\AppflowClient' => $vendorDir . '/aws/aws-sdk-php/src/Appflow/AppflowClient.php', 'Aws\\Appflow\\Exception\\AppflowException' => $vendorDir . '/aws/aws-sdk-php/src/Appflow/Exception/AppflowException.php', 'Aws\\ApplicationAutoScaling\\ApplicationAutoScalingClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationAutoScaling/ApplicationAutoScalingClient.php', 'Aws\\ApplicationAutoScaling\\Exception\\ApplicationAutoScalingException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php', + 'Aws\\ApplicationCostProfiler\\ApplicationCostProfilerClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationCostProfiler/ApplicationCostProfilerClient.php', + 'Aws\\ApplicationCostProfiler\\Exception\\ApplicationCostProfilerException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationCostProfiler/Exception/ApplicationCostProfilerException.php', 'Aws\\ApplicationDiscoveryService\\ApplicationDiscoveryServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php', 'Aws\\ApplicationDiscoveryService\\Exception\\ApplicationDiscoveryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php', 'Aws\\ApplicationInsights\\ApplicationInsightsClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationInsights/ApplicationInsightsClient.php', 'Aws\\ApplicationInsights\\Exception\\ApplicationInsightsException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationInsights/Exception/ApplicationInsightsException.php', + 'Aws\\ApplicationSignals\\ApplicationSignalsClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationSignals/ApplicationSignalsClient.php', + 'Aws\\ApplicationSignals\\Exception\\ApplicationSignalsException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationSignals/Exception/ApplicationSignalsException.php', 'Aws\\Appstream\\AppstreamClient' => $vendorDir . '/aws/aws-sdk-php/src/Appstream/AppstreamClient.php', 'Aws\\Appstream\\Exception\\AppstreamException' => $vendorDir . '/aws/aws-sdk-php/src/Appstream/Exception/AppstreamException.php', 'Aws\\Arn\\AccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/AccessPointArn.php', @@ -133,15 +166,22 @@ 'Aws\\Arn\\ResourceTypeAndIdTrait' => $vendorDir . '/aws/aws-sdk-php/src/Arn/ResourceTypeAndIdTrait.php', 'Aws\\Arn\\S3\\AccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/AccessPointArn.php', 'Aws\\Arn\\S3\\BucketArnInterface' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/BucketArnInterface.php', + 'Aws\\Arn\\S3\\MultiRegionAccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/MultiRegionAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsAccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsArnInterface' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsArnInterface.php', 'Aws\\Arn\\S3\\OutpostsBucketArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsBucketArn.php', + 'Aws\\Artifact\\ArtifactClient' => $vendorDir . '/aws/aws-sdk-php/src/Artifact/ArtifactClient.php', + 'Aws\\Artifact\\Exception\\ArtifactException' => $vendorDir . '/aws/aws-sdk-php/src/Artifact/Exception/ArtifactException.php', 'Aws\\Athena\\AthenaClient' => $vendorDir . '/aws/aws-sdk-php/src/Athena/AthenaClient.php', 'Aws\\Athena\\Exception\\AthenaException' => $vendorDir . '/aws/aws-sdk-php/src/Athena/Exception/AthenaException.php', 'Aws\\AuditManager\\AuditManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/AuditManager/AuditManagerClient.php', 'Aws\\AuditManager\\Exception\\AuditManagerException' => $vendorDir . '/aws/aws-sdk-php/src/AuditManager/Exception/AuditManagerException.php', 'Aws\\AugmentedAIRuntime\\AugmentedAIRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/AugmentedAIRuntime/AugmentedAIRuntimeClient.php', 'Aws\\AugmentedAIRuntime\\Exception\\AugmentedAIRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/AugmentedAIRuntime/Exception/AugmentedAIRuntimeException.php', + 'Aws\\Auth\\AuthSchemeResolver' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolver.php', + 'Aws\\Auth\\AuthSchemeResolverInterface' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolverInterface.php', + 'Aws\\Auth\\AuthSelectionMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSelectionMiddleware.php', + 'Aws\\Auth\\Exception\\UnresolvedAuthSchemeException' => $vendorDir . '/aws/aws-sdk-php/src/Auth/Exception/UnresolvedAuthSchemeException.php', 'Aws\\AutoScalingPlans\\AutoScalingPlansClient' => $vendorDir . '/aws/aws-sdk-php/src/AutoScalingPlans/AutoScalingPlansClient.php', 'Aws\\AutoScalingPlans\\Exception\\AutoScalingPlansException' => $vendorDir . '/aws/aws-sdk-php/src/AutoScalingPlans/Exception/AutoScalingPlansException.php', 'Aws\\AutoScaling\\AutoScalingClient' => $vendorDir . '/aws/aws-sdk-php/src/AutoScaling/AutoScalingClient.php', @@ -149,17 +189,67 @@ 'Aws\\AwsClient' => $vendorDir . '/aws/aws-sdk-php/src/AwsClient.php', 'Aws\\AwsClientInterface' => $vendorDir . '/aws/aws-sdk-php/src/AwsClientInterface.php', 'Aws\\AwsClientTrait' => $vendorDir . '/aws/aws-sdk-php/src/AwsClientTrait.php', + 'Aws\\B2bi\\B2biClient' => $vendorDir . '/aws/aws-sdk-php/src/B2bi/B2biClient.php', + 'Aws\\B2bi\\Exception\\B2biException' => $vendorDir . '/aws/aws-sdk-php/src/B2bi/Exception/B2biException.php', + 'Aws\\BCMDashboards\\BCMDashboardsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMDashboards/BCMDashboardsClient.php', + 'Aws\\BCMDashboards\\Exception\\BCMDashboardsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMDashboards/Exception/BCMDashboardsException.php', + 'Aws\\BCMDataExports\\BCMDataExportsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMDataExports/BCMDataExportsClient.php', + 'Aws\\BCMDataExports\\Exception\\BCMDataExportsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMDataExports/Exception/BCMDataExportsException.php', + 'Aws\\BCMPricingCalculator\\BCMPricingCalculatorClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMPricingCalculator/BCMPricingCalculatorClient.php', + 'Aws\\BCMPricingCalculator\\Exception\\BCMPricingCalculatorException' => $vendorDir . '/aws/aws-sdk-php/src/BCMPricingCalculator/Exception/BCMPricingCalculatorException.php', + 'Aws\\BCMRecommendedActions\\BCMRecommendedActionsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMRecommendedActions/BCMRecommendedActionsClient.php', + 'Aws\\BCMRecommendedActions\\Exception\\BCMRecommendedActionsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMRecommendedActions/Exception/BCMRecommendedActionsException.php', + 'Aws\\BackupGateway\\BackupGatewayClient' => $vendorDir . '/aws/aws-sdk-php/src/BackupGateway/BackupGatewayClient.php', + 'Aws\\BackupGateway\\Exception\\BackupGatewayException' => $vendorDir . '/aws/aws-sdk-php/src/BackupGateway/Exception/BackupGatewayException.php', + 'Aws\\BackupSearch\\BackupSearchClient' => $vendorDir . '/aws/aws-sdk-php/src/BackupSearch/BackupSearchClient.php', + 'Aws\\BackupSearch\\Exception\\BackupSearchException' => $vendorDir . '/aws/aws-sdk-php/src/BackupSearch/Exception/BackupSearchException.php', 'Aws\\Backup\\BackupClient' => $vendorDir . '/aws/aws-sdk-php/src/Backup/BackupClient.php', 'Aws\\Backup\\Exception\\BackupException' => $vendorDir . '/aws/aws-sdk-php/src/Backup/Exception/BackupException.php', 'Aws\\Batch\\BatchClient' => $vendorDir . '/aws/aws-sdk-php/src/Batch/BatchClient.php', 'Aws\\Batch\\Exception\\BatchException' => $vendorDir . '/aws/aws-sdk-php/src/Batch/Exception/BatchException.php', + 'Aws\\BedrockAgentCoreControl\\BedrockAgentCoreControlClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/BedrockAgentCoreControlClient.php', + 'Aws\\BedrockAgentCoreControl\\Exception\\BedrockAgentCoreControlException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/Exception/BedrockAgentCoreControlException.php', + 'Aws\\BedrockAgentCore\\BedrockAgentCoreClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCore/BedrockAgentCoreClient.php', + 'Aws\\BedrockAgentCore\\Exception\\BedrockAgentCoreException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCore/Exception/BedrockAgentCoreException.php', + 'Aws\\BedrockAgentRuntime\\BedrockAgentRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentRuntime/BedrockAgentRuntimeClient.php', + 'Aws\\BedrockAgentRuntime\\Exception\\BedrockAgentRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentRuntime/Exception/BedrockAgentRuntimeException.php', + 'Aws\\BedrockAgent\\BedrockAgentClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgent/BedrockAgentClient.php', + 'Aws\\BedrockAgent\\Exception\\BedrockAgentException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgent/Exception/BedrockAgentException.php', + 'Aws\\BedrockDataAutomationRuntime\\BedrockDataAutomationRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.php', + 'Aws\\BedrockDataAutomationRuntime\\Exception\\BedrockDataAutomationRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/Exception/BedrockDataAutomationRuntimeException.php', + 'Aws\\BedrockDataAutomation\\BedrockDataAutomationClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomation/BedrockDataAutomationClient.php', + 'Aws\\BedrockDataAutomation\\Exception\\BedrockDataAutomationException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomation/Exception/BedrockDataAutomationException.php', + 'Aws\\BedrockRuntime\\BedrockRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockRuntime/BedrockRuntimeClient.php', + 'Aws\\BedrockRuntime\\Exception\\BedrockRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockRuntime/Exception/BedrockRuntimeException.php', + 'Aws\\Bedrock\\BedrockClient' => $vendorDir . '/aws/aws-sdk-php/src/Bedrock/BedrockClient.php', + 'Aws\\Bedrock\\Exception\\BedrockException' => $vendorDir . '/aws/aws-sdk-php/src/Bedrock/Exception/BedrockException.php', + 'Aws\\BillingConductor\\BillingConductorClient' => $vendorDir . '/aws/aws-sdk-php/src/BillingConductor/BillingConductorClient.php', + 'Aws\\BillingConductor\\Exception\\BillingConductorException' => $vendorDir . '/aws/aws-sdk-php/src/BillingConductor/Exception/BillingConductorException.php', + 'Aws\\Billing\\BillingClient' => $vendorDir . '/aws/aws-sdk-php/src/Billing/BillingClient.php', + 'Aws\\Billing\\Exception\\BillingException' => $vendorDir . '/aws/aws-sdk-php/src/Billing/Exception/BillingException.php', 'Aws\\Braket\\BraketClient' => $vendorDir . '/aws/aws-sdk-php/src/Braket/BraketClient.php', 'Aws\\Braket\\Exception\\BraketException' => $vendorDir . '/aws/aws-sdk-php/src/Braket/Exception/BraketException.php', 'Aws\\Budgets\\BudgetsClient' => $vendorDir . '/aws/aws-sdk-php/src/Budgets/BudgetsClient.php', 'Aws\\Budgets\\Exception\\BudgetsException' => $vendorDir . '/aws/aws-sdk-php/src/Budgets/Exception/BudgetsException.php', 'Aws\\CacheInterface' => $vendorDir . '/aws/aws-sdk-php/src/CacheInterface.php', + 'Aws\\Chatbot\\ChatbotClient' => $vendorDir . '/aws/aws-sdk-php/src/Chatbot/ChatbotClient.php', + 'Aws\\Chatbot\\Exception\\ChatbotException' => $vendorDir . '/aws/aws-sdk-php/src/Chatbot/Exception/ChatbotException.php', + 'Aws\\ChimeSDKIdentity\\ChimeSDKIdentityClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKIdentity/ChimeSDKIdentityClient.php', + 'Aws\\ChimeSDKIdentity\\Exception\\ChimeSDKIdentityException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKIdentity/Exception/ChimeSDKIdentityException.php', + 'Aws\\ChimeSDKMediaPipelines\\ChimeSDKMediaPipelinesClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.php', + 'Aws\\ChimeSDKMediaPipelines\\Exception\\ChimeSDKMediaPipelinesException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/Exception/ChimeSDKMediaPipelinesException.php', + 'Aws\\ChimeSDKMeetings\\ChimeSDKMeetingsClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMeetings/ChimeSDKMeetingsClient.php', + 'Aws\\ChimeSDKMeetings\\Exception\\ChimeSDKMeetingsException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMeetings/Exception/ChimeSDKMeetingsException.php', + 'Aws\\ChimeSDKMessaging\\ChimeSDKMessagingClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMessaging/ChimeSDKMessagingClient.php', + 'Aws\\ChimeSDKMessaging\\Exception\\ChimeSDKMessagingException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMessaging/Exception/ChimeSDKMessagingException.php', + 'Aws\\ChimeSDKVoice\\ChimeSDKVoiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKVoice/ChimeSDKVoiceClient.php', + 'Aws\\ChimeSDKVoice\\Exception\\ChimeSDKVoiceException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKVoice/Exception/ChimeSDKVoiceException.php', 'Aws\\Chime\\ChimeClient' => $vendorDir . '/aws/aws-sdk-php/src/Chime/ChimeClient.php', 'Aws\\Chime\\Exception\\ChimeException' => $vendorDir . '/aws/aws-sdk-php/src/Chime/Exception/ChimeException.php', + 'Aws\\CleanRoomsML\\CleanRoomsMLClient' => $vendorDir . '/aws/aws-sdk-php/src/CleanRoomsML/CleanRoomsMLClient.php', + 'Aws\\CleanRoomsML\\Exception\\CleanRoomsMLException' => $vendorDir . '/aws/aws-sdk-php/src/CleanRoomsML/Exception/CleanRoomsMLException.php', + 'Aws\\CleanRooms\\CleanRoomsClient' => $vendorDir . '/aws/aws-sdk-php/src/CleanRooms/CleanRoomsClient.php', + 'Aws\\CleanRooms\\Exception\\CleanRoomsException' => $vendorDir . '/aws/aws-sdk-php/src/CleanRooms/Exception/CleanRoomsException.php', 'Aws\\ClientResolver' => $vendorDir . '/aws/aws-sdk-php/src/ClientResolver.php', 'Aws\\ClientSideMonitoring\\AbstractMonitoringMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php', 'Aws\\ClientSideMonitoring\\ApiCallAttemptMonitoringMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php', @@ -171,10 +261,14 @@ 'Aws\\ClientSideMonitoring\\MonitoringMiddlewareInterface' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/MonitoringMiddlewareInterface.php', 'Aws\\Cloud9\\Cloud9Client' => $vendorDir . '/aws/aws-sdk-php/src/Cloud9/Cloud9Client.php', 'Aws\\Cloud9\\Exception\\Cloud9Exception' => $vendorDir . '/aws/aws-sdk-php/src/Cloud9/Exception/Cloud9Exception.php', + 'Aws\\CloudControlApi\\CloudControlApiClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudControlApi/CloudControlApiClient.php', + 'Aws\\CloudControlApi\\Exception\\CloudControlApiException' => $vendorDir . '/aws/aws-sdk-php/src/CloudControlApi/Exception/CloudControlApiException.php', 'Aws\\CloudDirectory\\CloudDirectoryClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudDirectory/CloudDirectoryClient.php', 'Aws\\CloudDirectory\\Exception\\CloudDirectoryException' => $vendorDir . '/aws/aws-sdk-php/src/CloudDirectory/Exception/CloudDirectoryException.php', 'Aws\\CloudFormation\\CloudFormationClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFormation/CloudFormationClient.php', 'Aws\\CloudFormation\\Exception\\CloudFormationException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFormation/Exception/CloudFormationException.php', + 'Aws\\CloudFrontKeyValueStore\\CloudFrontKeyValueStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.php', + 'Aws\\CloudFrontKeyValueStore\\Exception\\CloudFrontKeyValueStoreException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/Exception/CloudFrontKeyValueStoreException.php', 'Aws\\CloudFront\\CloudFrontClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/CloudFrontClient.php', 'Aws\\CloudFront\\CookieSigner' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/CookieSigner.php', 'Aws\\CloudFront\\Exception\\CloudFrontException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/Exception/CloudFrontException.php', @@ -188,6 +282,8 @@ 'Aws\\CloudSearchDomain\\Exception\\CloudSearchDomainException' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearchDomain/Exception/CloudSearchDomainException.php', 'Aws\\CloudSearch\\CloudSearchClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearch/CloudSearchClient.php', 'Aws\\CloudSearch\\Exception\\CloudSearchException' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearch/Exception/CloudSearchException.php', + 'Aws\\CloudTrailData\\CloudTrailDataClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrailData/CloudTrailDataClient.php', + 'Aws\\CloudTrailData\\Exception\\CloudTrailDataException' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrailData/Exception/CloudTrailDataException.php', 'Aws\\CloudTrail\\CloudTrailClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/CloudTrailClient.php', 'Aws\\CloudTrail\\Exception\\CloudTrailException' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/Exception/CloudTrailException.php', 'Aws\\CloudTrail\\LogFileIterator' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/LogFileIterator.php', @@ -195,22 +291,32 @@ 'Aws\\CloudTrail\\LogRecordIterator' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/LogRecordIterator.php', 'Aws\\CloudWatchEvents\\CloudWatchEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvents/CloudWatchEventsClient.php', 'Aws\\CloudWatchEvents\\Exception\\CloudWatchEventsException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvents/Exception/CloudWatchEventsException.php', + 'Aws\\CloudWatchEvidently\\CloudWatchEvidentlyClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvidently/CloudWatchEvidentlyClient.php', + 'Aws\\CloudWatchEvidently\\Exception\\CloudWatchEvidentlyException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvidently/Exception/CloudWatchEvidentlyException.php', 'Aws\\CloudWatchLogs\\CloudWatchLogsClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchLogs/CloudWatchLogsClient.php', 'Aws\\CloudWatchLogs\\Exception\\CloudWatchLogsException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchLogs/Exception/CloudWatchLogsException.php', + 'Aws\\CloudWatchRUM\\CloudWatchRUMClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchRUM/CloudWatchRUMClient.php', + 'Aws\\CloudWatchRUM\\Exception\\CloudWatchRUMException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchRUM/Exception/CloudWatchRUMException.php', 'Aws\\CloudWatch\\CloudWatchClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatch/CloudWatchClient.php', 'Aws\\CloudWatch\\Exception\\CloudWatchException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatch/Exception/CloudWatchException.php', 'Aws\\CodeArtifact\\CodeArtifactClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeArtifact/CodeArtifactClient.php', 'Aws\\CodeArtifact\\Exception\\CodeArtifactException' => $vendorDir . '/aws/aws-sdk-php/src/CodeArtifact/Exception/CodeArtifactException.php', 'Aws\\CodeBuild\\CodeBuildClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeBuild/CodeBuildClient.php', 'Aws\\CodeBuild\\Exception\\CodeBuildException' => $vendorDir . '/aws/aws-sdk-php/src/CodeBuild/Exception/CodeBuildException.php', + 'Aws\\CodeCatalyst\\CodeCatalystClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeCatalyst/CodeCatalystClient.php', + 'Aws\\CodeCatalyst\\Exception\\CodeCatalystException' => $vendorDir . '/aws/aws-sdk-php/src/CodeCatalyst/Exception/CodeCatalystException.php', 'Aws\\CodeCommit\\CodeCommitClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeCommit/CodeCommitClient.php', 'Aws\\CodeCommit\\Exception\\CodeCommitException' => $vendorDir . '/aws/aws-sdk-php/src/CodeCommit/Exception/CodeCommitException.php', + 'Aws\\CodeConnections\\CodeConnectionsClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeConnections/CodeConnectionsClient.php', + 'Aws\\CodeConnections\\Exception\\CodeConnectionsException' => $vendorDir . '/aws/aws-sdk-php/src/CodeConnections/Exception/CodeConnectionsException.php', 'Aws\\CodeDeploy\\CodeDeployClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeDeploy/CodeDeployClient.php', 'Aws\\CodeDeploy\\Exception\\CodeDeployException' => $vendorDir . '/aws/aws-sdk-php/src/CodeDeploy/Exception/CodeDeployException.php', 'Aws\\CodeGuruProfiler\\CodeGuruProfilerClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruProfiler/CodeGuruProfilerClient.php', 'Aws\\CodeGuruProfiler\\Exception\\CodeGuruProfilerException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruProfiler/Exception/CodeGuruProfilerException.php', 'Aws\\CodeGuruReviewer\\CodeGuruReviewerClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruReviewer/CodeGuruReviewerClient.php', 'Aws\\CodeGuruReviewer\\Exception\\CodeGuruReviewerException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruReviewer/Exception/CodeGuruReviewerException.php', + 'Aws\\CodeGuruSecurity\\CodeGuruSecurityClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruSecurity/CodeGuruSecurityClient.php', + 'Aws\\CodeGuruSecurity\\Exception\\CodeGuruSecurityException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruSecurity/Exception/CodeGuruSecurityException.php', 'Aws\\CodePipeline\\CodePipelineClient' => $vendorDir . '/aws/aws-sdk-php/src/CodePipeline/CodePipelineClient.php', 'Aws\\CodePipeline\\Exception\\CodePipelineException' => $vendorDir . '/aws/aws-sdk-php/src/CodePipeline/Exception/CodePipelineException.php', 'Aws\\CodeStarNotifications\\CodeStarNotificationsClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeStarNotifications/CodeStarNotificationsClient.php', @@ -233,49 +339,77 @@ 'Aws\\ComprehendMedical\\Exception\\ComprehendMedicalException' => $vendorDir . '/aws/aws-sdk-php/src/ComprehendMedical/Exception/ComprehendMedicalException.php', 'Aws\\Comprehend\\ComprehendClient' => $vendorDir . '/aws/aws-sdk-php/src/Comprehend/ComprehendClient.php', 'Aws\\Comprehend\\Exception\\ComprehendException' => $vendorDir . '/aws/aws-sdk-php/src/Comprehend/Exception/ComprehendException.php', + 'Aws\\ComputeOptimizerAutomation\\ComputeOptimizerAutomationClient' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/ComputeOptimizerAutomationClient.php', + 'Aws\\ComputeOptimizerAutomation\\Exception\\ComputeOptimizerAutomationException' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/Exception/ComputeOptimizerAutomationException.php', 'Aws\\ComputeOptimizer\\ComputeOptimizerClient' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizer/ComputeOptimizerClient.php', 'Aws\\ComputeOptimizer\\Exception\\ComputeOptimizerException' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizer/Exception/ComputeOptimizerException.php', 'Aws\\ConfigService\\ConfigServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConfigService/ConfigServiceClient.php', 'Aws\\ConfigService\\Exception\\ConfigServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConfigService/Exception/ConfigServiceException.php', 'Aws\\ConfigurationProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/ConfigurationProviderInterface.php', + 'Aws\\Configuration\\ConfigurationResolver' => $vendorDir . '/aws/aws-sdk-php/src/Configuration/ConfigurationResolver.php', + 'Aws\\ConnectCampaignService\\ConnectCampaignServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignService/ConnectCampaignServiceClient.php', + 'Aws\\ConnectCampaignService\\Exception\\ConnectCampaignServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignService/Exception/ConnectCampaignServiceException.php', + 'Aws\\ConnectCampaignsV2\\ConnectCampaignsV2Client' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignsV2/ConnectCampaignsV2Client.php', + 'Aws\\ConnectCampaignsV2\\Exception\\ConnectCampaignsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignsV2/Exception/ConnectCampaignsV2Exception.php', + 'Aws\\ConnectCases\\ConnectCasesClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCases/ConnectCasesClient.php', + 'Aws\\ConnectCases\\Exception\\ConnectCasesException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCases/Exception/ConnectCasesException.php', 'Aws\\ConnectContactLens\\ConnectContactLensClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectContactLens/ConnectContactLensClient.php', 'Aws\\ConnectContactLens\\Exception\\ConnectContactLensException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectContactLens/Exception/ConnectContactLensException.php', 'Aws\\ConnectParticipant\\ConnectParticipantClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectParticipant/ConnectParticipantClient.php', 'Aws\\ConnectParticipant\\Exception\\ConnectParticipantException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectParticipant/Exception/ConnectParticipantException.php', + 'Aws\\ConnectWisdomService\\ConnectWisdomServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectWisdomService/ConnectWisdomServiceClient.php', + 'Aws\\ConnectWisdomService\\Exception\\ConnectWisdomServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectWisdomService/Exception/ConnectWisdomServiceException.php', 'Aws\\Connect\\ConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/Connect/ConnectClient.php', 'Aws\\Connect\\Exception\\ConnectException' => $vendorDir . '/aws/aws-sdk-php/src/Connect/Exception/ConnectException.php', + 'Aws\\ControlCatalog\\ControlCatalogClient' => $vendorDir . '/aws/aws-sdk-php/src/ControlCatalog/ControlCatalogClient.php', + 'Aws\\ControlCatalog\\Exception\\ControlCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/ControlCatalog/Exception/ControlCatalogException.php', + 'Aws\\ControlTower\\ControlTowerClient' => $vendorDir . '/aws/aws-sdk-php/src/ControlTower/ControlTowerClient.php', + 'Aws\\ControlTower\\Exception\\ControlTowerException' => $vendorDir . '/aws/aws-sdk-php/src/ControlTower/Exception/ControlTowerException.php', 'Aws\\CostExplorer\\CostExplorerClient' => $vendorDir . '/aws/aws-sdk-php/src/CostExplorer/CostExplorerClient.php', 'Aws\\CostExplorer\\Exception\\CostExplorerException' => $vendorDir . '/aws/aws-sdk-php/src/CostExplorer/Exception/CostExplorerException.php', + 'Aws\\CostOptimizationHub\\CostOptimizationHubClient' => $vendorDir . '/aws/aws-sdk-php/src/CostOptimizationHub/CostOptimizationHubClient.php', + 'Aws\\CostOptimizationHub\\Exception\\CostOptimizationHubException' => $vendorDir . '/aws/aws-sdk-php/src/CostOptimizationHub/Exception/CostOptimizationHubException.php', 'Aws\\CostandUsageReportService\\CostandUsageReportServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/CostandUsageReportService/CostandUsageReportServiceClient.php', 'Aws\\CostandUsageReportService\\Exception\\CostandUsageReportServiceException' => $vendorDir . '/aws/aws-sdk-php/src/CostandUsageReportService/Exception/CostandUsageReportServiceException.php', 'Aws\\Credentials\\AssumeRoleCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/AssumeRoleCredentialProvider.php', 'Aws\\Credentials\\AssumeRoleWithWebIdentityCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/AssumeRoleWithWebIdentityCredentialProvider.php', 'Aws\\Credentials\\CredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialProvider.php', + 'Aws\\Credentials\\CredentialSources' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialSources.php', 'Aws\\Credentials\\Credentials' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/Credentials.php', 'Aws\\Credentials\\CredentialsInterface' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialsInterface.php', + 'Aws\\Credentials\\CredentialsUtils' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialsUtils.php', 'Aws\\Credentials\\EcsCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/EcsCredentialProvider.php', 'Aws\\Credentials\\InstanceProfileProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php', + 'Aws\\Credentials\\LoginCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/LoginCredentialProvider.php', 'Aws\\Crypto\\AbstractCryptoClient' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClient.php', 'Aws\\Crypto\\AbstractCryptoClientV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV2.php', + 'Aws\\Crypto\\AbstractCryptoClientV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV3.php', 'Aws\\Crypto\\AesDecryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesDecryptingStream.php', 'Aws\\Crypto\\AesEncryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesEncryptingStream.php', 'Aws\\Crypto\\AesGcmDecryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesGcmDecryptingStream.php', 'Aws\\Crypto\\AesGcmEncryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesGcmEncryptingStream.php', 'Aws\\Crypto\\AesStreamInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesStreamInterface.php', 'Aws\\Crypto\\AesStreamInterfaceV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesStreamInterfaceV2.php', + 'Aws\\Crypto\\AlgorithmConstants' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AlgorithmConstants.php', + 'Aws\\Crypto\\AlgorithmSuite' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AlgorithmSuite.php', 'Aws\\Crypto\\Cipher\\Cbc' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/Cbc.php', 'Aws\\Crypto\\Cipher\\CipherBuilderTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherBuilderTrait.php', 'Aws\\Crypto\\Cipher\\CipherMethod' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php', 'Aws\\Crypto\\DecryptionTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTrait.php', 'Aws\\Crypto\\DecryptionTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV2.php', + 'Aws\\Crypto\\DecryptionTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV3.php', 'Aws\\Crypto\\EncryptionTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTrait.php', 'Aws\\Crypto\\EncryptionTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV2.php', + 'Aws\\Crypto\\EncryptionTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV3.php', 'Aws\\Crypto\\KmsMaterialsProvider' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProvider.php', 'Aws\\Crypto\\KmsMaterialsProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV2.php', + 'Aws\\Crypto\\KmsMaterialsProviderV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV3.php', 'Aws\\Crypto\\MaterialsProvider' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProvider.php', 'Aws\\Crypto\\MaterialsProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterface.php', 'Aws\\Crypto\\MaterialsProviderInterfaceV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php', + 'Aws\\Crypto\\MaterialsProviderInterfaceV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV3.php', 'Aws\\Crypto\\MaterialsProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV2.php', + 'Aws\\Crypto\\MaterialsProviderV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV3.php', 'Aws\\Crypto\\MetadataEnvelope' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MetadataEnvelope.php', 'Aws\\Crypto\\MetadataStrategyInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MetadataStrategyInterface.php', 'Aws\\Crypto\\Polyfill\\AesGcm' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Polyfill/AesGcm.php', @@ -289,14 +423,25 @@ 'Aws\\DAX\\Exception\\DAXException' => $vendorDir . '/aws/aws-sdk-php/src/DAX/Exception/DAXException.php', 'Aws\\DLM\\DLMClient' => $vendorDir . '/aws/aws-sdk-php/src/DLM/DLMClient.php', 'Aws\\DLM\\Exception\\DLMException' => $vendorDir . '/aws/aws-sdk-php/src/DLM/Exception/DLMException.php', + 'Aws\\DSQL\\AuthTokenGenerator' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/AuthTokenGenerator.php', + 'Aws\\DSQL\\DSQLClient' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/DSQLClient.php', + 'Aws\\DSQL\\Exception\\DSQLException' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/Exception/DSQLException.php', 'Aws\\DataExchange\\DataExchangeClient' => $vendorDir . '/aws/aws-sdk-php/src/DataExchange/DataExchangeClient.php', 'Aws\\DataExchange\\Exception\\DataExchangeException' => $vendorDir . '/aws/aws-sdk-php/src/DataExchange/Exception/DataExchangeException.php', 'Aws\\DataPipeline\\DataPipelineClient' => $vendorDir . '/aws/aws-sdk-php/src/DataPipeline/DataPipelineClient.php', 'Aws\\DataPipeline\\Exception\\DataPipelineException' => $vendorDir . '/aws/aws-sdk-php/src/DataPipeline/Exception/DataPipelineException.php', 'Aws\\DataSync\\DataSyncClient' => $vendorDir . '/aws/aws-sdk-php/src/DataSync/DataSyncClient.php', 'Aws\\DataSync\\Exception\\DataSyncException' => $vendorDir . '/aws/aws-sdk-php/src/DataSync/Exception/DataSyncException.php', + 'Aws\\DataZone\\DataZoneClient' => $vendorDir . '/aws/aws-sdk-php/src/DataZone/DataZoneClient.php', + 'Aws\\DataZone\\Exception\\DataZoneException' => $vendorDir . '/aws/aws-sdk-php/src/DataZone/Exception/DataZoneException.php', 'Aws\\DatabaseMigrationService\\DatabaseMigrationServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/DatabaseMigrationService/DatabaseMigrationServiceClient.php', 'Aws\\DatabaseMigrationService\\Exception\\DatabaseMigrationServiceException' => $vendorDir . '/aws/aws-sdk-php/src/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php', + 'Aws\\Deadline\\DeadlineClient' => $vendorDir . '/aws/aws-sdk-php/src/Deadline/DeadlineClient.php', + 'Aws\\Deadline\\Exception\\DeadlineException' => $vendorDir . '/aws/aws-sdk-php/src/Deadline/Exception/DeadlineException.php', + 'Aws\\DefaultsMode\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/Configuration.php', + 'Aws\\DefaultsMode\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationInterface.php', + 'Aws\\DefaultsMode\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationProvider.php', + 'Aws\\DefaultsMode\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/Exception/ConfigurationException.php', 'Aws\\Detective\\DetectiveClient' => $vendorDir . '/aws/aws-sdk-php/src/Detective/DetectiveClient.php', 'Aws\\Detective\\Exception\\DetectiveException' => $vendorDir . '/aws/aws-sdk-php/src/Detective/Exception/DetectiveException.php', 'Aws\\DevOpsGuru\\DevOpsGuruClient' => $vendorDir . '/aws/aws-sdk-php/src/DevOpsGuru/DevOpsGuruClient.php', @@ -305,8 +450,12 @@ 'Aws\\DeviceFarm\\Exception\\DeviceFarmException' => $vendorDir . '/aws/aws-sdk-php/src/DeviceFarm/Exception/DeviceFarmException.php', 'Aws\\DirectConnect\\DirectConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectConnect/DirectConnectClient.php', 'Aws\\DirectConnect\\Exception\\DirectConnectException' => $vendorDir . '/aws/aws-sdk-php/src/DirectConnect/Exception/DirectConnectException.php', + 'Aws\\DirectoryServiceData\\DirectoryServiceDataClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryServiceData/DirectoryServiceDataClient.php', + 'Aws\\DirectoryServiceData\\Exception\\DirectoryServiceDataException' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryServiceData/Exception/DirectoryServiceDataException.php', 'Aws\\DirectoryService\\DirectoryServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryService/DirectoryServiceClient.php', 'Aws\\DirectoryService\\Exception\\DirectoryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryService/Exception/DirectoryServiceException.php', + 'Aws\\DocDBElastic\\DocDBElasticClient' => $vendorDir . '/aws/aws-sdk-php/src/DocDBElastic/DocDBElasticClient.php', + 'Aws\\DocDBElastic\\Exception\\DocDBElasticException' => $vendorDir . '/aws/aws-sdk-php/src/DocDBElastic/Exception/DocDBElasticException.php', 'Aws\\DocDB\\DocDBClient' => $vendorDir . '/aws/aws-sdk-php/src/DocDB/DocDBClient.php', 'Aws\\DocDB\\Exception\\DocDBException' => $vendorDir . '/aws/aws-sdk-php/src/DocDB/Exception/DocDBException.php', 'Aws\\DoctrineCacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/DoctrineCacheAdapter.php', @@ -330,10 +479,14 @@ 'Aws\\EC2InstanceConnect\\Exception\\EC2InstanceConnectException' => $vendorDir . '/aws/aws-sdk-php/src/EC2InstanceConnect/Exception/EC2InstanceConnectException.php', 'Aws\\ECRPublic\\ECRPublicClient' => $vendorDir . '/aws/aws-sdk-php/src/ECRPublic/ECRPublicClient.php', 'Aws\\ECRPublic\\Exception\\ECRPublicException' => $vendorDir . '/aws/aws-sdk-php/src/ECRPublic/Exception/ECRPublicException.php', + 'Aws\\EKSAuth\\EKSAuthClient' => $vendorDir . '/aws/aws-sdk-php/src/EKSAuth/EKSAuthClient.php', + 'Aws\\EKSAuth\\Exception\\EKSAuthException' => $vendorDir . '/aws/aws-sdk-php/src/EKSAuth/Exception/EKSAuthException.php', 'Aws\\EKS\\EKSClient' => $vendorDir . '/aws/aws-sdk-php/src/EKS/EKSClient.php', 'Aws\\EKS\\Exception\\EKSException' => $vendorDir . '/aws/aws-sdk-php/src/EKS/Exception/EKSException.php', 'Aws\\EMRContainers\\EMRContainersClient' => $vendorDir . '/aws/aws-sdk-php/src/EMRContainers/EMRContainersClient.php', 'Aws\\EMRContainers\\Exception\\EMRContainersException' => $vendorDir . '/aws/aws-sdk-php/src/EMRContainers/Exception/EMRContainersException.php', + 'Aws\\EMRServerless\\EMRServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/EMRServerless/EMRServerlessClient.php', + 'Aws\\EMRServerless\\Exception\\EMRServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/EMRServerless/Exception/EMRServerlessException.php', 'Aws\\Ec2\\Ec2Client' => $vendorDir . '/aws/aws-sdk-php/src/Ec2/Ec2Client.php', 'Aws\\Ec2\\Exception\\Ec2Exception' => $vendorDir . '/aws/aws-sdk-php/src/Ec2/Exception/Ec2Exception.php', 'Aws\\Ecr\\EcrClient' => $vendorDir . '/aws/aws-sdk-php/src/Ecr/EcrClient.php', @@ -365,14 +518,41 @@ 'Aws\\EndpointDiscovery\\EndpointList' => $vendorDir . '/aws/aws-sdk-php/src/EndpointDiscovery/EndpointList.php', 'Aws\\EndpointDiscovery\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/EndpointDiscovery/Exception/ConfigurationException.php', 'Aws\\EndpointParameterMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/EndpointParameterMiddleware.php', + 'Aws\\EndpointV2\\EndpointDefinitionProvider' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointDefinitionProvider.php', + 'Aws\\EndpointV2\\EndpointProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointProviderV2.php', + 'Aws\\EndpointV2\\EndpointV2Middleware' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2Middleware.php', + 'Aws\\EndpointV2\\EndpointV2SerializerTrait' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2SerializerTrait.php', + 'Aws\\EndpointV2\\Rule\\AbstractRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/AbstractRule.php', + 'Aws\\EndpointV2\\Rule\\EndpointRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/EndpointRule.php', + 'Aws\\EndpointV2\\Rule\\ErrorRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/ErrorRule.php', + 'Aws\\EndpointV2\\Rule\\RuleCreator' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php', + 'Aws\\EndpointV2\\Rule\\TreeRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/TreeRule.php', + 'Aws\\EndpointV2\\Ruleset\\Ruleset' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/Ruleset.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetEndpoint' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetEndpoint.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetParameter' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetParameter.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetStandardLibrary' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetStandardLibrary.php', 'Aws\\Endpoint\\EndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/EndpointProvider.php', 'Aws\\Endpoint\\Partition' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/Partition.php', 'Aws\\Endpoint\\PartitionEndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PartitionEndpointProvider.php', 'Aws\\Endpoint\\PartitionInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PartitionInterface.php', 'Aws\\Endpoint\\PatternEndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PatternEndpointProvider.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Configuration.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationInterface.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationProvider.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Exception/ConfigurationException.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Configuration.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationInterface.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationProvider.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Exception/ConfigurationException.php', + 'Aws\\EntityResolution\\EntityResolutionClient' => $vendorDir . '/aws/aws-sdk-php/src/EntityResolution/EntityResolutionClient.php', + 'Aws\\EntityResolution\\Exception\\EntityResolutionException' => $vendorDir . '/aws/aws-sdk-php/src/EntityResolution/Exception/EntityResolutionException.php', 'Aws\\EventBridge\\EventBridgeClient' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/EventBridgeClient.php', + 'Aws\\EventBridge\\EventBridgeEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/EventBridgeEndpointMiddleware.php', 'Aws\\EventBridge\\Exception\\EventBridgeException' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/Exception/EventBridgeException.php', + 'Aws\\Evs\\EvsClient' => $vendorDir . '/aws/aws-sdk-php/src/Evs/EvsClient.php', + 'Aws\\Evs\\Exception\\EvsException' => $vendorDir . '/aws/aws-sdk-php/src/Evs/Exception/EvsException.php', 'Aws\\Exception\\AwsException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/AwsException.php', + 'Aws\\Exception\\CommonRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CommonRuntimeException.php', 'Aws\\Exception\\CouldNotCreateChecksumException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php', 'Aws\\Exception\\CredentialsException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CredentialsException.php', 'Aws\\Exception\\CryptoException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CryptoException.php', @@ -382,6 +562,7 @@ 'Aws\\Exception\\InvalidJsonException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/InvalidJsonException.php', 'Aws\\Exception\\InvalidRegionException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/InvalidRegionException.php', 'Aws\\Exception\\MultipartUploadException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/MultipartUploadException.php', + 'Aws\\Exception\\TokenException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/TokenException.php', 'Aws\\Exception\\UnresolvedApiException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedApiException.php', 'Aws\\Exception\\UnresolvedEndpointException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedEndpointException.php', 'Aws\\Exception\\UnresolvedSignatureException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedSignatureException.php', @@ -391,6 +572,8 @@ 'Aws\\FMS\\FMSClient' => $vendorDir . '/aws/aws-sdk-php/src/FMS/FMSClient.php', 'Aws\\FSx\\Exception\\FSxException' => $vendorDir . '/aws/aws-sdk-php/src/FSx/Exception/FSxException.php', 'Aws\\FSx\\FSxClient' => $vendorDir . '/aws/aws-sdk-php/src/FSx/FSxClient.php', + 'Aws\\FinSpaceData\\Exception\\FinSpaceDataException' => $vendorDir . '/aws/aws-sdk-php/src/FinSpaceData/Exception/FinSpaceDataException.php', + 'Aws\\FinSpaceData\\FinSpaceDataClient' => $vendorDir . '/aws/aws-sdk-php/src/FinSpaceData/FinSpaceDataClient.php', 'Aws\\Firehose\\Exception\\FirehoseException' => $vendorDir . '/aws/aws-sdk-php/src/Firehose/Exception/FirehoseException.php', 'Aws\\Firehose\\FirehoseClient' => $vendorDir . '/aws/aws-sdk-php/src/Firehose/FirehoseClient.php', 'Aws\\ForecastQueryService\\Exception\\ForecastQueryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ForecastQueryService/Exception/ForecastQueryServiceException.php', @@ -399,8 +582,18 @@ 'Aws\\ForecastService\\ForecastServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ForecastService/ForecastServiceClient.php', 'Aws\\FraudDetector\\Exception\\FraudDetectorException' => $vendorDir . '/aws/aws-sdk-php/src/FraudDetector/Exception/FraudDetectorException.php', 'Aws\\FraudDetector\\FraudDetectorClient' => $vendorDir . '/aws/aws-sdk-php/src/FraudDetector/FraudDetectorClient.php', + 'Aws\\FreeTier\\Exception\\FreeTierException' => $vendorDir . '/aws/aws-sdk-php/src/FreeTier/Exception/FreeTierException.php', + 'Aws\\FreeTier\\FreeTierClient' => $vendorDir . '/aws/aws-sdk-php/src/FreeTier/FreeTierClient.php', + 'Aws\\GameLiftStreams\\Exception\\GameLiftStreamsException' => $vendorDir . '/aws/aws-sdk-php/src/GameLiftStreams/Exception/GameLiftStreamsException.php', + 'Aws\\GameLiftStreams\\GameLiftStreamsClient' => $vendorDir . '/aws/aws-sdk-php/src/GameLiftStreams/GameLiftStreamsClient.php', 'Aws\\GameLift\\Exception\\GameLiftException' => $vendorDir . '/aws/aws-sdk-php/src/GameLift/Exception/GameLiftException.php', 'Aws\\GameLift\\GameLiftClient' => $vendorDir . '/aws/aws-sdk-php/src/GameLift/GameLiftClient.php', + 'Aws\\GeoMaps\\Exception\\GeoMapsException' => $vendorDir . '/aws/aws-sdk-php/src/GeoMaps/Exception/GeoMapsException.php', + 'Aws\\GeoMaps\\GeoMapsClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoMaps/GeoMapsClient.php', + 'Aws\\GeoPlaces\\Exception\\GeoPlacesException' => $vendorDir . '/aws/aws-sdk-php/src/GeoPlaces/Exception/GeoPlacesException.php', + 'Aws\\GeoPlaces\\GeoPlacesClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoPlaces/GeoPlacesClient.php', + 'Aws\\GeoRoutes\\Exception\\GeoRoutesException' => $vendorDir . '/aws/aws-sdk-php/src/GeoRoutes/Exception/GeoRoutesException.php', + 'Aws\\GeoRoutes\\GeoRoutesClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoRoutes/GeoRoutesClient.php', 'Aws\\Glacier\\Exception\\GlacierException' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/Exception/GlacierException.php', 'Aws\\Glacier\\GlacierClient' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/GlacierClient.php', 'Aws\\Glacier\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/MultipartUploader.php', @@ -424,6 +617,7 @@ 'Aws\\Handler\\GuzzleV5\\GuzzleStream' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV5/GuzzleStream.php', 'Aws\\Handler\\GuzzleV5\\PsrStream' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV5/PsrStream.php', 'Aws\\Handler\\GuzzleV6\\GuzzleHandler' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php', + 'Aws\\Handler\\Guzzle\\GuzzleHandler' => $vendorDir . '/aws/aws-sdk-php/src/Handler/Guzzle/GuzzleHandler.php', 'Aws\\HasDataTrait' => $vendorDir . '/aws/aws-sdk-php/src/HasDataTrait.php', 'Aws\\HasMonitoringEventsTrait' => $vendorDir . '/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php', 'Aws\\HashInterface' => $vendorDir . '/aws/aws-sdk-php/src/HashInterface.php', @@ -435,6 +629,8 @@ 'Aws\\History' => $vendorDir . '/aws/aws-sdk-php/src/History.php', 'Aws\\Honeycode\\Exception\\HoneycodeException' => $vendorDir . '/aws/aws-sdk-php/src/Honeycode/Exception/HoneycodeException.php', 'Aws\\Honeycode\\HoneycodeClient' => $vendorDir . '/aws/aws-sdk-php/src/Honeycode/HoneycodeClient.php', + 'Aws\\IVSRealTime\\Exception\\IVSRealTimeException' => $vendorDir . '/aws/aws-sdk-php/src/IVSRealTime/Exception/IVSRealTimeException.php', + 'Aws\\IVSRealTime\\IVSRealTimeClient' => $vendorDir . '/aws/aws-sdk-php/src/IVSRealTime/IVSRealTimeClient.php', 'Aws\\IVS\\Exception\\IVSException' => $vendorDir . '/aws/aws-sdk-php/src/IVS/Exception/IVSException.php', 'Aws\\IVS\\IVSClient' => $vendorDir . '/aws/aws-sdk-php/src/IVS/IVSClient.php', 'Aws\\Iam\\Exception\\IamException' => $vendorDir . '/aws/aws-sdk-php/src/Iam/Exception/IamException.php', @@ -442,11 +638,24 @@ 'Aws\\IdempotencyTokenMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/IdempotencyTokenMiddleware.php', 'Aws\\IdentityStore\\Exception\\IdentityStoreException' => $vendorDir . '/aws/aws-sdk-php/src/IdentityStore/Exception/IdentityStoreException.php', 'Aws\\IdentityStore\\IdentityStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/IdentityStore/IdentityStoreClient.php', + 'Aws\\Identity\\AwsCredentialIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/AwsCredentialIdentity.php', + 'Aws\\Identity\\BearerTokenIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/BearerTokenIdentity.php', + 'Aws\\Identity\\IdentityInterface' => $vendorDir . '/aws/aws-sdk-php/src/Identity/IdentityInterface.php', + 'Aws\\Identity\\S3\\S3ExpressIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentity.php', + 'Aws\\Identity\\S3\\S3ExpressIdentityProvider' => $vendorDir . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentityProvider.php', 'Aws\\ImportExport\\Exception\\ImportExportException' => $vendorDir . '/aws/aws-sdk-php/src/ImportExport/Exception/ImportExportException.php', 'Aws\\ImportExport\\ImportExportClient' => $vendorDir . '/aws/aws-sdk-php/src/ImportExport/ImportExportClient.php', 'Aws\\InputValidationMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/InputValidationMiddleware.php', + 'Aws\\Inspector2\\Exception\\Inspector2Exception' => $vendorDir . '/aws/aws-sdk-php/src/Inspector2/Exception/Inspector2Exception.php', + 'Aws\\Inspector2\\Inspector2Client' => $vendorDir . '/aws/aws-sdk-php/src/Inspector2/Inspector2Client.php', + 'Aws\\InspectorScan\\Exception\\InspectorScanException' => $vendorDir . '/aws/aws-sdk-php/src/InspectorScan/Exception/InspectorScanException.php', + 'Aws\\InspectorScan\\InspectorScanClient' => $vendorDir . '/aws/aws-sdk-php/src/InspectorScan/InspectorScanClient.php', 'Aws\\Inspector\\Exception\\InspectorException' => $vendorDir . '/aws/aws-sdk-php/src/Inspector/Exception/InspectorException.php', 'Aws\\Inspector\\InspectorClient' => $vendorDir . '/aws/aws-sdk-php/src/Inspector/InspectorClient.php', + 'Aws\\InternetMonitor\\Exception\\InternetMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/InternetMonitor/Exception/InternetMonitorException.php', + 'Aws\\InternetMonitor\\InternetMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/InternetMonitor/InternetMonitorClient.php', + 'Aws\\Invoicing\\Exception\\InvoicingException' => $vendorDir . '/aws/aws-sdk-php/src/Invoicing/Exception/InvoicingException.php', + 'Aws\\Invoicing\\InvoicingClient' => $vendorDir . '/aws/aws-sdk-php/src/Invoicing/InvoicingClient.php', 'Aws\\IoT1ClickDevicesService\\Exception\\IoT1ClickDevicesServiceException' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php', 'Aws\\IoT1ClickDevicesService\\IoT1ClickDevicesServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php', 'Aws\\IoT1ClickProjects\\Exception\\IoT1ClickProjectsException' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php', @@ -461,14 +670,20 @@ 'Aws\\IoTEvents\\IoTEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTEvents/IoTEventsClient.php', 'Aws\\IoTFleetHub\\Exception\\IoTFleetHubException' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetHub/Exception/IoTFleetHubException.php', 'Aws\\IoTFleetHub\\IoTFleetHubClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetHub/IoTFleetHubClient.php', + 'Aws\\IoTFleetWise\\Exception\\IoTFleetWiseException' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetWise/Exception/IoTFleetWiseException.php', + 'Aws\\IoTFleetWise\\IoTFleetWiseClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetWise/IoTFleetWiseClient.php', 'Aws\\IoTJobsDataPlane\\Exception\\IoTJobsDataPlaneException' => $vendorDir . '/aws/aws-sdk-php/src/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php', 'Aws\\IoTJobsDataPlane\\IoTJobsDataPlaneClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTJobsDataPlane/IoTJobsDataPlaneClient.php', + 'Aws\\IoTManagedIntegrations\\Exception\\IoTManagedIntegrationsException' => $vendorDir . '/aws/aws-sdk-php/src/IoTManagedIntegrations/Exception/IoTManagedIntegrationsException.php', + 'Aws\\IoTManagedIntegrations\\IoTManagedIntegrationsClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTManagedIntegrations/IoTManagedIntegrationsClient.php', 'Aws\\IoTSecureTunneling\\Exception\\IoTSecureTunnelingException' => $vendorDir . '/aws/aws-sdk-php/src/IoTSecureTunneling/Exception/IoTSecureTunnelingException.php', 'Aws\\IoTSecureTunneling\\IoTSecureTunnelingClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTSecureTunneling/IoTSecureTunnelingClient.php', 'Aws\\IoTSiteWise\\Exception\\IoTSiteWiseException' => $vendorDir . '/aws/aws-sdk-php/src/IoTSiteWise/Exception/IoTSiteWiseException.php', 'Aws\\IoTSiteWise\\IoTSiteWiseClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTSiteWise/IoTSiteWiseClient.php', 'Aws\\IoTThingsGraph\\Exception\\IoTThingsGraphException' => $vendorDir . '/aws/aws-sdk-php/src/IoTThingsGraph/Exception/IoTThingsGraphException.php', 'Aws\\IoTThingsGraph\\IoTThingsGraphClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTThingsGraph/IoTThingsGraphClient.php', + 'Aws\\IoTTwinMaker\\Exception\\IoTTwinMakerException' => $vendorDir . '/aws/aws-sdk-php/src/IoTTwinMaker/Exception/IoTTwinMakerException.php', + 'Aws\\IoTTwinMaker\\IoTTwinMakerClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTTwinMaker/IoTTwinMakerClient.php', 'Aws\\IoTWireless\\Exception\\IoTWirelessException' => $vendorDir . '/aws/aws-sdk-php/src/IoTWireless/Exception/IoTWirelessException.php', 'Aws\\IoTWireless\\IoTWirelessClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTWireless/IoTWirelessClient.php', 'Aws\\IotDataPlane\\Exception\\IotDataPlaneException' => $vendorDir . '/aws/aws-sdk-php/src/IotDataPlane/Exception/IotDataPlaneException.php', @@ -476,8 +691,16 @@ 'Aws\\Iot\\Exception\\IotException' => $vendorDir . '/aws/aws-sdk-php/src/Iot/Exception/IotException.php', 'Aws\\Iot\\IotClient' => $vendorDir . '/aws/aws-sdk-php/src/Iot/IotClient.php', 'Aws\\JsonCompiler' => $vendorDir . '/aws/aws-sdk-php/src/JsonCompiler.php', + 'Aws\\KafkaConnect\\Exception\\KafkaConnectException' => $vendorDir . '/aws/aws-sdk-php/src/KafkaConnect/Exception/KafkaConnectException.php', + 'Aws\\KafkaConnect\\KafkaConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/KafkaConnect/KafkaConnectClient.php', 'Aws\\Kafka\\Exception\\KafkaException' => $vendorDir . '/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php', 'Aws\\Kafka\\KafkaClient' => $vendorDir . '/aws/aws-sdk-php/src/Kafka/KafkaClient.php', + 'Aws\\KendraRanking\\Exception\\KendraRankingException' => $vendorDir . '/aws/aws-sdk-php/src/KendraRanking/Exception/KendraRankingException.php', + 'Aws\\KendraRanking\\KendraRankingClient' => $vendorDir . '/aws/aws-sdk-php/src/KendraRanking/KendraRankingClient.php', + 'Aws\\KeyspacesStreams\\Exception\\KeyspacesStreamsException' => $vendorDir . '/aws/aws-sdk-php/src/KeyspacesStreams/Exception/KeyspacesStreamsException.php', + 'Aws\\KeyspacesStreams\\KeyspacesStreamsClient' => $vendorDir . '/aws/aws-sdk-php/src/KeyspacesStreams/KeyspacesStreamsClient.php', + 'Aws\\Keyspaces\\Exception\\KeyspacesException' => $vendorDir . '/aws/aws-sdk-php/src/Keyspaces/Exception/KeyspacesException.php', + 'Aws\\Keyspaces\\KeyspacesClient' => $vendorDir . '/aws/aws-sdk-php/src/Keyspaces/KeyspacesClient.php', 'Aws\\KinesisAnalyticsV2\\Exception\\KinesisAnalyticsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php', 'Aws\\KinesisAnalyticsV2\\KinesisAnalyticsV2Client' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php', 'Aws\\KinesisAnalytics\\Exception\\KinesisAnalyticsException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalytics/Exception/KinesisAnalyticsException.php', @@ -488,6 +711,8 @@ 'Aws\\KinesisVideoMedia\\KinesisVideoMediaClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoMedia/KinesisVideoMediaClient.php', 'Aws\\KinesisVideoSignalingChannels\\Exception\\KinesisVideoSignalingChannelsException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/Exception/KinesisVideoSignalingChannelsException.php', 'Aws\\KinesisVideoSignalingChannels\\KinesisVideoSignalingChannelsClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/KinesisVideoSignalingChannelsClient.php', + 'Aws\\KinesisVideoWebRTCStorage\\Exception\\KinesisVideoWebRTCStorageException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/Exception/KinesisVideoWebRTCStorageException.php', + 'Aws\\KinesisVideoWebRTCStorage\\KinesisVideoWebRTCStorageClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.php', 'Aws\\KinesisVideo\\Exception\\KinesisVideoException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideo/Exception/KinesisVideoException.php', 'Aws\\KinesisVideo\\KinesisVideoClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideo/KinesisVideoClient.php', 'Aws\\Kinesis\\Exception\\KinesisException' => $vendorDir . '/aws/aws-sdk-php/src/Kinesis/Exception/KinesisException.php', @@ -498,6 +723,8 @@ 'Aws\\LakeFormation\\LakeFormationClient' => $vendorDir . '/aws/aws-sdk-php/src/LakeFormation/LakeFormationClient.php', 'Aws\\Lambda\\Exception\\LambdaException' => $vendorDir . '/aws/aws-sdk-php/src/Lambda/Exception/LambdaException.php', 'Aws\\Lambda\\LambdaClient' => $vendorDir . '/aws/aws-sdk-php/src/Lambda/LambdaClient.php', + 'Aws\\LaunchWizard\\Exception\\LaunchWizardException' => $vendorDir . '/aws/aws-sdk-php/src/LaunchWizard/Exception/LaunchWizardException.php', + 'Aws\\LaunchWizard\\LaunchWizardClient' => $vendorDir . '/aws/aws-sdk-php/src/LaunchWizard/LaunchWizardClient.php', 'Aws\\LexModelBuildingService\\Exception\\LexModelBuildingServiceException' => $vendorDir . '/aws/aws-sdk-php/src/LexModelBuildingService/Exception/LexModelBuildingServiceException.php', 'Aws\\LexModelBuildingService\\LexModelBuildingServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LexModelBuildingService/LexModelBuildingServiceClient.php', 'Aws\\LexModelsV2\\Exception\\LexModelsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/LexModelsV2/Exception/LexModelsV2Exception.php', @@ -506,19 +733,29 @@ 'Aws\\LexRuntimeService\\LexRuntimeServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeService/LexRuntimeServiceClient.php', 'Aws\\LexRuntimeV2\\Exception\\LexRuntimeV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeV2/Exception/LexRuntimeV2Exception.php', 'Aws\\LexRuntimeV2\\LexRuntimeV2Client' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeV2/LexRuntimeV2Client.php', + 'Aws\\LicenseManagerLinuxSubscriptions\\Exception\\LicenseManagerLinuxSubscriptionsException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/Exception/LicenseManagerLinuxSubscriptionsException.php', + 'Aws\\LicenseManagerLinuxSubscriptions\\LicenseManagerLinuxSubscriptionsClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.php', + 'Aws\\LicenseManagerUserSubscriptions\\Exception\\LicenseManagerUserSubscriptionsException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/Exception/LicenseManagerUserSubscriptionsException.php', + 'Aws\\LicenseManagerUserSubscriptions\\LicenseManagerUserSubscriptionsClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.php', 'Aws\\LicenseManager\\Exception\\LicenseManagerException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php', 'Aws\\LicenseManager\\LicenseManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManager/LicenseManagerClient.php', 'Aws\\Lightsail\\Exception\\LightsailException' => $vendorDir . '/aws/aws-sdk-php/src/Lightsail/Exception/LightsailException.php', 'Aws\\Lightsail\\LightsailClient' => $vendorDir . '/aws/aws-sdk-php/src/Lightsail/LightsailClient.php', 'Aws\\LocationService\\Exception\\LocationServiceException' => $vendorDir . '/aws/aws-sdk-php/src/LocationService/Exception/LocationServiceException.php', 'Aws\\LocationService\\LocationServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LocationService/LocationServiceClient.php', + 'Aws\\LookoutEquipment\\Exception\\LookoutEquipmentException' => $vendorDir . '/aws/aws-sdk-php/src/LookoutEquipment/Exception/LookoutEquipmentException.php', + 'Aws\\LookoutEquipment\\LookoutEquipmentClient' => $vendorDir . '/aws/aws-sdk-php/src/LookoutEquipment/LookoutEquipmentClient.php', 'Aws\\LookoutforVision\\Exception\\LookoutforVisionException' => $vendorDir . '/aws/aws-sdk-php/src/LookoutforVision/Exception/LookoutforVisionException.php', 'Aws\\LookoutforVision\\LookoutforVisionClient' => $vendorDir . '/aws/aws-sdk-php/src/LookoutforVision/LookoutforVisionClient.php', 'Aws\\LruArrayCache' => $vendorDir . '/aws/aws-sdk-php/src/LruArrayCache.php', + 'Aws\\MPA\\Exception\\MPAException' => $vendorDir . '/aws/aws-sdk-php/src/MPA/Exception/MPAException.php', + 'Aws\\MPA\\MPAClient' => $vendorDir . '/aws/aws-sdk-php/src/MPA/MPAClient.php', 'Aws\\MQ\\Exception\\MQException' => $vendorDir . '/aws/aws-sdk-php/src/MQ/Exception/MQException.php', 'Aws\\MQ\\MQClient' => $vendorDir . '/aws/aws-sdk-php/src/MQ/MQClient.php', 'Aws\\MTurk\\Exception\\MTurkException' => $vendorDir . '/aws/aws-sdk-php/src/MTurk/Exception/MTurkException.php', 'Aws\\MTurk\\MTurkClient' => $vendorDir . '/aws/aws-sdk-php/src/MTurk/MTurkClient.php', + 'Aws\\MWAAServerless\\Exception\\MWAAServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/MWAAServerless/Exception/MWAAServerlessException.php', + 'Aws\\MWAAServerless\\MWAAServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/MWAAServerless/MWAAServerlessClient.php', 'Aws\\MWAA\\Exception\\MWAAException' => $vendorDir . '/aws/aws-sdk-php/src/MWAA/Exception/MWAAException.php', 'Aws\\MWAA\\MWAAClient' => $vendorDir . '/aws/aws-sdk-php/src/MWAA/MWAAClient.php', 'Aws\\MachineLearning\\Exception\\MachineLearningException' => $vendorDir . '/aws/aws-sdk-php/src/MachineLearning/Exception/MachineLearningException.php', @@ -527,22 +764,38 @@ 'Aws\\Macie2\\Macie2Client' => $vendorDir . '/aws/aws-sdk-php/src/Macie2/Macie2Client.php', 'Aws\\Macie\\Exception\\MacieException' => $vendorDir . '/aws/aws-sdk-php/src/Macie/Exception/MacieException.php', 'Aws\\Macie\\MacieClient' => $vendorDir . '/aws/aws-sdk-php/src/Macie/MacieClient.php', + 'Aws\\MailManager\\Exception\\MailManagerException' => $vendorDir . '/aws/aws-sdk-php/src/MailManager/Exception/MailManagerException.php', + 'Aws\\MailManager\\MailManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/MailManager/MailManagerClient.php', + 'Aws\\MainframeModernization\\Exception\\MainframeModernizationException' => $vendorDir . '/aws/aws-sdk-php/src/MainframeModernization/Exception/MainframeModernizationException.php', + 'Aws\\MainframeModernization\\MainframeModernizationClient' => $vendorDir . '/aws/aws-sdk-php/src/MainframeModernization/MainframeModernizationClient.php', + 'Aws\\ManagedBlockchainQuery\\Exception\\ManagedBlockchainQueryException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/Exception/ManagedBlockchainQueryException.php', + 'Aws\\ManagedBlockchainQuery\\ManagedBlockchainQueryClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/ManagedBlockchainQueryClient.php', 'Aws\\ManagedBlockchain\\Exception\\ManagedBlockchainException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchain/Exception/ManagedBlockchainException.php', 'Aws\\ManagedBlockchain\\ManagedBlockchainClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchain/ManagedBlockchainClient.php', + 'Aws\\ManagedGrafana\\Exception\\ManagedGrafanaException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedGrafana/Exception/ManagedGrafanaException.php', + 'Aws\\ManagedGrafana\\ManagedGrafanaClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedGrafana/ManagedGrafanaClient.php', + 'Aws\\MarketplaceAgreement\\Exception\\MarketplaceAgreementException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceAgreement/Exception/MarketplaceAgreementException.php', + 'Aws\\MarketplaceAgreement\\MarketplaceAgreementClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceAgreement/MarketplaceAgreementClient.php', 'Aws\\MarketplaceCatalog\\Exception\\MarketplaceCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCatalog/Exception/MarketplaceCatalogException.php', 'Aws\\MarketplaceCatalog\\MarketplaceCatalogClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCatalog/MarketplaceCatalogClient.php', 'Aws\\MarketplaceCommerceAnalytics\\Exception\\MarketplaceCommerceAnalyticsException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php', 'Aws\\MarketplaceCommerceAnalytics\\MarketplaceCommerceAnalyticsClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php', + 'Aws\\MarketplaceDeployment\\Exception\\MarketplaceDeploymentException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceDeployment/Exception/MarketplaceDeploymentException.php', + 'Aws\\MarketplaceDeployment\\MarketplaceDeploymentClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceDeployment/MarketplaceDeploymentClient.php', 'Aws\\MarketplaceEntitlementService\\Exception\\MarketplaceEntitlementServiceException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php', 'Aws\\MarketplaceEntitlementService\\MarketplaceEntitlementServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php', 'Aws\\MarketplaceMetering\\Exception\\MarketplaceMeteringException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceMetering/Exception/MarketplaceMeteringException.php', 'Aws\\MarketplaceMetering\\MarketplaceMeteringClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceMetering/MarketplaceMeteringClient.php', + 'Aws\\MarketplaceReporting\\Exception\\MarketplaceReportingException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceReporting/Exception/MarketplaceReportingException.php', + 'Aws\\MarketplaceReporting\\MarketplaceReportingClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceReporting/MarketplaceReportingClient.php', 'Aws\\MediaConnect\\Exception\\MediaConnectException' => $vendorDir . '/aws/aws-sdk-php/src/MediaConnect/Exception/MediaConnectException.php', 'Aws\\MediaConnect\\MediaConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaConnect/MediaConnectClient.php', 'Aws\\MediaConvert\\Exception\\MediaConvertException' => $vendorDir . '/aws/aws-sdk-php/src/MediaConvert/Exception/MediaConvertException.php', 'Aws\\MediaConvert\\MediaConvertClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaConvert/MediaConvertClient.php', 'Aws\\MediaLive\\Exception\\MediaLiveException' => $vendorDir . '/aws/aws-sdk-php/src/MediaLive/Exception/MediaLiveException.php', 'Aws\\MediaLive\\MediaLiveClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaLive/MediaLiveClient.php', + 'Aws\\MediaPackageV2\\Exception\\MediaPackageV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageV2/Exception/MediaPackageV2Exception.php', + 'Aws\\MediaPackageV2\\MediaPackageV2Client' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageV2/MediaPackageV2Client.php', 'Aws\\MediaPackageVod\\Exception\\MediaPackageVodException' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageVod/Exception/MediaPackageVodException.php', 'Aws\\MediaPackageVod\\MediaPackageVodClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageVod/MediaPackageVodClient.php', 'Aws\\MediaPackage\\Exception\\MediaPackageException' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackage/Exception/MediaPackageException.php', @@ -553,9 +806,20 @@ 'Aws\\MediaStore\\MediaStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaStore/MediaStoreClient.php', 'Aws\\MediaTailor\\Exception\\MediaTailorException' => $vendorDir . '/aws/aws-sdk-php/src/MediaTailor/Exception/MediaTailorException.php', 'Aws\\MediaTailor\\MediaTailorClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaTailor/MediaTailorClient.php', + 'Aws\\MedicalImaging\\Exception\\MedicalImagingException' => $vendorDir . '/aws/aws-sdk-php/src/MedicalImaging/Exception/MedicalImagingException.php', + 'Aws\\MedicalImaging\\MedicalImagingClient' => $vendorDir . '/aws/aws-sdk-php/src/MedicalImaging/MedicalImagingClient.php', + 'Aws\\MemoryDB\\Exception\\MemoryDBException' => $vendorDir . '/aws/aws-sdk-php/src/MemoryDB/Exception/MemoryDBException.php', + 'Aws\\MemoryDB\\MemoryDBClient' => $vendorDir . '/aws/aws-sdk-php/src/MemoryDB/MemoryDBClient.php', + 'Aws\\MetricsBuilder' => $vendorDir . '/aws/aws-sdk-php/src/MetricsBuilder.php', 'Aws\\Middleware' => $vendorDir . '/aws/aws-sdk-php/src/Middleware.php', 'Aws\\MigrationHubConfig\\Exception\\MigrationHubConfigException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubConfig/Exception/MigrationHubConfigException.php', 'Aws\\MigrationHubConfig\\MigrationHubConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubConfig/MigrationHubConfigClient.php', + 'Aws\\MigrationHubOrchestrator\\Exception\\MigrationHubOrchestratorException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/Exception/MigrationHubOrchestratorException.php', + 'Aws\\MigrationHubOrchestrator\\MigrationHubOrchestratorClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/MigrationHubOrchestratorClient.php', + 'Aws\\MigrationHubRefactorSpaces\\Exception\\MigrationHubRefactorSpacesException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/Exception/MigrationHubRefactorSpacesException.php', + 'Aws\\MigrationHubRefactorSpaces\\MigrationHubRefactorSpacesClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.php', + 'Aws\\MigrationHubStrategyRecommendations\\Exception\\MigrationHubStrategyRecommendationsException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/Exception/MigrationHubStrategyRecommendationsException.php', + 'Aws\\MigrationHubStrategyRecommendations\\MigrationHubStrategyRecommendationsClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/MigrationHubStrategyRecommendationsClient.php', 'Aws\\MigrationHub\\Exception\\MigrationHubException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHub/Exception/MigrationHubException.php', 'Aws\\MigrationHub\\MigrationHubClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHub/MigrationHubClient.php', 'Aws\\Mobile\\Exception\\MobileException' => $vendorDir . '/aws/aws-sdk-php/src/Mobile/Exception/MobileException.php', @@ -566,12 +830,40 @@ 'Aws\\Multipart\\AbstractUploadManager' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/AbstractUploadManager.php', 'Aws\\Multipart\\AbstractUploader' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/AbstractUploader.php', 'Aws\\Multipart\\UploadState' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/UploadState.php', + 'Aws\\NeptuneGraph\\Exception\\NeptuneGraphException' => $vendorDir . '/aws/aws-sdk-php/src/NeptuneGraph/Exception/NeptuneGraphException.php', + 'Aws\\NeptuneGraph\\NeptuneGraphClient' => $vendorDir . '/aws/aws-sdk-php/src/NeptuneGraph/NeptuneGraphClient.php', 'Aws\\Neptune\\Exception\\NeptuneException' => $vendorDir . '/aws/aws-sdk-php/src/Neptune/Exception/NeptuneException.php', 'Aws\\Neptune\\NeptuneClient' => $vendorDir . '/aws/aws-sdk-php/src/Neptune/NeptuneClient.php', + 'Aws\\Neptunedata\\Exception\\NeptunedataException' => $vendorDir . '/aws/aws-sdk-php/src/Neptunedata/Exception/NeptunedataException.php', + 'Aws\\Neptunedata\\NeptunedataClient' => $vendorDir . '/aws/aws-sdk-php/src/Neptunedata/NeptunedataClient.php', 'Aws\\NetworkFirewall\\Exception\\NetworkFirewallException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFirewall/Exception/NetworkFirewallException.php', 'Aws\\NetworkFirewall\\NetworkFirewallClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFirewall/NetworkFirewallClient.php', + 'Aws\\NetworkFlowMonitor\\Exception\\NetworkFlowMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFlowMonitor/Exception/NetworkFlowMonitorException.php', + 'Aws\\NetworkFlowMonitor\\NetworkFlowMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFlowMonitor/NetworkFlowMonitorClient.php', 'Aws\\NetworkManager\\Exception\\NetworkManagerException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkManager/Exception/NetworkManagerException.php', 'Aws\\NetworkManager\\NetworkManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkManager/NetworkManagerClient.php', + 'Aws\\NetworkMonitor\\Exception\\NetworkMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkMonitor/Exception/NetworkMonitorException.php', + 'Aws\\NetworkMonitor\\NetworkMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkMonitor/NetworkMonitorClient.php', + 'Aws\\NotificationsContacts\\Exception\\NotificationsContactsException' => $vendorDir . '/aws/aws-sdk-php/src/NotificationsContacts/Exception/NotificationsContactsException.php', + 'Aws\\NotificationsContacts\\NotificationsContactsClient' => $vendorDir . '/aws/aws-sdk-php/src/NotificationsContacts/NotificationsContactsClient.php', + 'Aws\\Notifications\\Exception\\NotificationsException' => $vendorDir . '/aws/aws-sdk-php/src/Notifications/Exception/NotificationsException.php', + 'Aws\\Notifications\\NotificationsClient' => $vendorDir . '/aws/aws-sdk-php/src/Notifications/NotificationsClient.php', + 'Aws\\NovaAct\\Exception\\NovaActException' => $vendorDir . '/aws/aws-sdk-php/src/NovaAct/Exception/NovaActException.php', + 'Aws\\NovaAct\\NovaActClient' => $vendorDir . '/aws/aws-sdk-php/src/NovaAct/NovaActClient.php', + 'Aws\\OAM\\Exception\\OAMException' => $vendorDir . '/aws/aws-sdk-php/src/OAM/Exception/OAMException.php', + 'Aws\\OAM\\OAMClient' => $vendorDir . '/aws/aws-sdk-php/src/OAM/OAMClient.php', + 'Aws\\OSIS\\Exception\\OSISException' => $vendorDir . '/aws/aws-sdk-php/src/OSIS/Exception/OSISException.php', + 'Aws\\OSIS\\OSISClient' => $vendorDir . '/aws/aws-sdk-php/src/OSIS/OSISClient.php', + 'Aws\\ObservabilityAdmin\\Exception\\ObservabilityAdminException' => $vendorDir . '/aws/aws-sdk-php/src/ObservabilityAdmin/Exception/ObservabilityAdminException.php', + 'Aws\\ObservabilityAdmin\\ObservabilityAdminClient' => $vendorDir . '/aws/aws-sdk-php/src/ObservabilityAdmin/ObservabilityAdminClient.php', + 'Aws\\Odb\\Exception\\OdbException' => $vendorDir . '/aws/aws-sdk-php/src/Odb/Exception/OdbException.php', + 'Aws\\Odb\\OdbClient' => $vendorDir . '/aws/aws-sdk-php/src/Odb/OdbClient.php', + 'Aws\\Omics\\Exception\\OmicsException' => $vendorDir . '/aws/aws-sdk-php/src/Omics/Exception/OmicsException.php', + 'Aws\\Omics\\OmicsClient' => $vendorDir . '/aws/aws-sdk-php/src/Omics/OmicsClient.php', + 'Aws\\OpenSearchServerless\\Exception\\OpenSearchServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchServerless/Exception/OpenSearchServerlessException.php', + 'Aws\\OpenSearchServerless\\OpenSearchServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchServerless/OpenSearchServerlessClient.php', + 'Aws\\OpenSearchService\\Exception\\OpenSearchServiceException' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchService/Exception/OpenSearchServiceException.php', + 'Aws\\OpenSearchService\\OpenSearchServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchService/OpenSearchServiceClient.php', 'Aws\\OpsWorksCM\\Exception\\OpsWorksCMException' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorksCM/Exception/OpsWorksCMException.php', 'Aws\\OpsWorksCM\\OpsWorksCMClient' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorksCM/OpsWorksCMClient.php', 'Aws\\OpsWorks\\Exception\\OpsWorksException' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorks/Exception/OpsWorksException.php', @@ -580,8 +872,28 @@ 'Aws\\Organizations\\OrganizationsClient' => $vendorDir . '/aws/aws-sdk-php/src/Organizations/OrganizationsClient.php', 'Aws\\Outposts\\Exception\\OutpostsException' => $vendorDir . '/aws/aws-sdk-php/src/Outposts/Exception/OutpostsException.php', 'Aws\\Outposts\\OutpostsClient' => $vendorDir . '/aws/aws-sdk-php/src/Outposts/OutpostsClient.php', + 'Aws\\PCS\\Exception\\PCSException' => $vendorDir . '/aws/aws-sdk-php/src/PCS/Exception/PCSException.php', + 'Aws\\PCS\\PCSClient' => $vendorDir . '/aws/aws-sdk-php/src/PCS/PCSClient.php', 'Aws\\PI\\Exception\\PIException' => $vendorDir . '/aws/aws-sdk-php/src/PI/Exception/PIException.php', 'Aws\\PI\\PIClient' => $vendorDir . '/aws/aws-sdk-php/src/PI/PIClient.php', + 'Aws\\Panorama\\Exception\\PanoramaException' => $vendorDir . '/aws/aws-sdk-php/src/Panorama/Exception/PanoramaException.php', + 'Aws\\Panorama\\PanoramaClient' => $vendorDir . '/aws/aws-sdk-php/src/Panorama/PanoramaClient.php', + 'Aws\\PartnerCentralAccount\\Exception\\PartnerCentralAccountException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralAccount/Exception/PartnerCentralAccountException.php', + 'Aws\\PartnerCentralAccount\\PartnerCentralAccountClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralAccount/PartnerCentralAccountClient.php', + 'Aws\\PartnerCentralBenefits\\Exception\\PartnerCentralBenefitsException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralBenefits/Exception/PartnerCentralBenefitsException.php', + 'Aws\\PartnerCentralBenefits\\PartnerCentralBenefitsClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralBenefits/PartnerCentralBenefitsClient.php', + 'Aws\\PartnerCentralChannel\\Exception\\PartnerCentralChannelException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralChannel/Exception/PartnerCentralChannelException.php', + 'Aws\\PartnerCentralChannel\\PartnerCentralChannelClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralChannel/PartnerCentralChannelClient.php', + 'Aws\\PartnerCentralSelling\\Exception\\PartnerCentralSellingException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralSelling/Exception/PartnerCentralSellingException.php', + 'Aws\\PartnerCentralSelling\\PartnerCentralSellingClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralSelling/PartnerCentralSellingClient.php', + 'Aws\\PaymentCryptographyData\\Exception\\PaymentCryptographyDataException' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptographyData/Exception/PaymentCryptographyDataException.php', + 'Aws\\PaymentCryptographyData\\PaymentCryptographyDataClient' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptographyData/PaymentCryptographyDataClient.php', + 'Aws\\PaymentCryptography\\Exception\\PaymentCryptographyException' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptography/Exception/PaymentCryptographyException.php', + 'Aws\\PaymentCryptography\\PaymentCryptographyClient' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptography/PaymentCryptographyClient.php', + 'Aws\\PcaConnectorAd\\Exception\\PcaConnectorAdException' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorAd/Exception/PcaConnectorAdException.php', + 'Aws\\PcaConnectorAd\\PcaConnectorAdClient' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorAd/PcaConnectorAdClient.php', + 'Aws\\PcaConnectorScep\\Exception\\PcaConnectorScepException' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorScep/Exception/PcaConnectorScepException.php', + 'Aws\\PcaConnectorScep\\PcaConnectorScepClient' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorScep/PcaConnectorScepClient.php', 'Aws\\PersonalizeEvents\\Exception\\PersonalizeEventsException' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeEvents/Exception/PersonalizeEventsException.php', 'Aws\\PersonalizeEvents\\PersonalizeEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeEvents/PersonalizeEventsClient.php', 'Aws\\PersonalizeRuntime\\Exception\\PersonalizeRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeRuntime/Exception/PersonalizeRuntimeException.php', @@ -591,10 +903,14 @@ 'Aws\\PhpHash' => $vendorDir . '/aws/aws-sdk-php/src/PhpHash.php', 'Aws\\PinpointEmail\\Exception\\PinpointEmailException' => $vendorDir . '/aws/aws-sdk-php/src/PinpointEmail/Exception/PinpointEmailException.php', 'Aws\\PinpointEmail\\PinpointEmailClient' => $vendorDir . '/aws/aws-sdk-php/src/PinpointEmail/PinpointEmailClient.php', + 'Aws\\PinpointSMSVoiceV2\\Exception\\PinpointSMSVoiceV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/Exception/PinpointSMSVoiceV2Exception.php', + 'Aws\\PinpointSMSVoiceV2\\PinpointSMSVoiceV2Client' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/PinpointSMSVoiceV2Client.php', 'Aws\\PinpointSMSVoice\\Exception\\PinpointSMSVoiceException' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php', 'Aws\\PinpointSMSVoice\\PinpointSMSVoiceClient' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoice/PinpointSMSVoiceClient.php', 'Aws\\Pinpoint\\Exception\\PinpointException' => $vendorDir . '/aws/aws-sdk-php/src/Pinpoint/Exception/PinpointException.php', 'Aws\\Pinpoint\\PinpointClient' => $vendorDir . '/aws/aws-sdk-php/src/Pinpoint/PinpointClient.php', + 'Aws\\Pipes\\Exception\\PipesException' => $vendorDir . '/aws/aws-sdk-php/src/Pipes/Exception/PipesException.php', + 'Aws\\Pipes\\PipesClient' => $vendorDir . '/aws/aws-sdk-php/src/Pipes/PipesClient.php', 'Aws\\Polly\\Exception\\PollyException' => $vendorDir . '/aws/aws-sdk-php/src/Polly/Exception/PollyException.php', 'Aws\\Polly\\PollyClient' => $vendorDir . '/aws/aws-sdk-php/src/Polly/PollyClient.php', 'Aws\\PresignUrlMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/PresignUrlMiddleware.php', @@ -602,27 +918,49 @@ 'Aws\\Pricing\\PricingClient' => $vendorDir . '/aws/aws-sdk-php/src/Pricing/PricingClient.php', 'Aws\\PrometheusService\\Exception\\PrometheusServiceException' => $vendorDir . '/aws/aws-sdk-php/src/PrometheusService/Exception/PrometheusServiceException.php', 'Aws\\PrometheusService\\PrometheusServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/PrometheusService/PrometheusServiceClient.php', + 'Aws\\Proton\\Exception\\ProtonException' => $vendorDir . '/aws/aws-sdk-php/src/Proton/Exception/ProtonException.php', + 'Aws\\Proton\\ProtonClient' => $vendorDir . '/aws/aws-sdk-php/src/Proton/ProtonClient.php', 'Aws\\Psr16CacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/Psr16CacheAdapter.php', 'Aws\\PsrCacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/PsrCacheAdapter.php', + 'Aws\\QApps\\Exception\\QAppsException' => $vendorDir . '/aws/aws-sdk-php/src/QApps/Exception/QAppsException.php', + 'Aws\\QApps\\QAppsClient' => $vendorDir . '/aws/aws-sdk-php/src/QApps/QAppsClient.php', + 'Aws\\QBusiness\\Exception\\QBusinessException' => $vendorDir . '/aws/aws-sdk-php/src/QBusiness/Exception/QBusinessException.php', + 'Aws\\QBusiness\\QBusinessClient' => $vendorDir . '/aws/aws-sdk-php/src/QBusiness/QBusinessClient.php', + 'Aws\\QConnect\\Exception\\QConnectException' => $vendorDir . '/aws/aws-sdk-php/src/QConnect/Exception/QConnectException.php', + 'Aws\\QConnect\\QConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/QConnect/QConnectClient.php', 'Aws\\QLDBSession\\Exception\\QLDBSessionException' => $vendorDir . '/aws/aws-sdk-php/src/QLDBSession/Exception/QLDBSessionException.php', 'Aws\\QLDBSession\\QLDBSessionClient' => $vendorDir . '/aws/aws-sdk-php/src/QLDBSession/QLDBSessionClient.php', 'Aws\\QLDB\\Exception\\QLDBException' => $vendorDir . '/aws/aws-sdk-php/src/QLDB/Exception/QLDBException.php', 'Aws\\QLDB\\QLDBClient' => $vendorDir . '/aws/aws-sdk-php/src/QLDB/QLDBClient.php', + 'Aws\\QueryCompatibleInputMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/QueryCompatibleInputMiddleware.php', 'Aws\\QuickSight\\Exception\\QuickSightException' => $vendorDir . '/aws/aws-sdk-php/src/QuickSight/Exception/QuickSightException.php', 'Aws\\QuickSight\\QuickSightClient' => $vendorDir . '/aws/aws-sdk-php/src/QuickSight/QuickSightClient.php', 'Aws\\RAM\\Exception\\RAMException' => $vendorDir . '/aws/aws-sdk-php/src/RAM/Exception/RAMException.php', 'Aws\\RAM\\RAMClient' => $vendorDir . '/aws/aws-sdk-php/src/RAM/RAMClient.php', 'Aws\\RDSDataService\\Exception\\RDSDataServiceException' => $vendorDir . '/aws/aws-sdk-php/src/RDSDataService/Exception/RDSDataServiceException.php', 'Aws\\RDSDataService\\RDSDataServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/RDSDataService/RDSDataServiceClient.php', + 'Aws\\RTBFabric\\Exception\\RTBFabricException' => $vendorDir . '/aws/aws-sdk-php/src/RTBFabric/Exception/RTBFabricException.php', + 'Aws\\RTBFabric\\RTBFabricClient' => $vendorDir . '/aws/aws-sdk-php/src/RTBFabric/RTBFabricClient.php', 'Aws\\Rds\\AuthTokenGenerator' => $vendorDir . '/aws/aws-sdk-php/src/Rds/AuthTokenGenerator.php', 'Aws\\Rds\\Exception\\RdsException' => $vendorDir . '/aws/aws-sdk-php/src/Rds/Exception/RdsException.php', 'Aws\\Rds\\RdsClient' => $vendorDir . '/aws/aws-sdk-php/src/Rds/RdsClient.php', + 'Aws\\RecycleBin\\Exception\\RecycleBinException' => $vendorDir . '/aws/aws-sdk-php/src/RecycleBin/Exception/RecycleBinException.php', + 'Aws\\RecycleBin\\RecycleBinClient' => $vendorDir . '/aws/aws-sdk-php/src/RecycleBin/RecycleBinClient.php', 'Aws\\RedshiftDataAPIService\\Exception\\RedshiftDataAPIServiceException' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftDataAPIService/Exception/RedshiftDataAPIServiceException.php', 'Aws\\RedshiftDataAPIService\\RedshiftDataAPIServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftDataAPIService/RedshiftDataAPIServiceClient.php', + 'Aws\\RedshiftServerless\\Exception\\RedshiftServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftServerless/Exception/RedshiftServerlessException.php', + 'Aws\\RedshiftServerless\\RedshiftServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftServerless/RedshiftServerlessClient.php', 'Aws\\Redshift\\Exception\\RedshiftException' => $vendorDir . '/aws/aws-sdk-php/src/Redshift/Exception/RedshiftException.php', 'Aws\\Redshift\\RedshiftClient' => $vendorDir . '/aws/aws-sdk-php/src/Redshift/RedshiftClient.php', 'Aws\\Rekognition\\Exception\\RekognitionException' => $vendorDir . '/aws/aws-sdk-php/src/Rekognition/Exception/RekognitionException.php', 'Aws\\Rekognition\\RekognitionClient' => $vendorDir . '/aws/aws-sdk-php/src/Rekognition/RekognitionClient.php', + 'Aws\\Repostspace\\Exception\\RepostspaceException' => $vendorDir . '/aws/aws-sdk-php/src/Repostspace/Exception/RepostspaceException.php', + 'Aws\\Repostspace\\RepostspaceClient' => $vendorDir . '/aws/aws-sdk-php/src/Repostspace/RepostspaceClient.php', + 'Aws\\RequestCompressionMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/RequestCompressionMiddleware.php', + 'Aws\\ResilienceHub\\Exception\\ResilienceHubException' => $vendorDir . '/aws/aws-sdk-php/src/ResilienceHub/Exception/ResilienceHubException.php', + 'Aws\\ResilienceHub\\ResilienceHubClient' => $vendorDir . '/aws/aws-sdk-php/src/ResilienceHub/ResilienceHubClient.php', + 'Aws\\ResourceExplorer2\\Exception\\ResourceExplorer2Exception' => $vendorDir . '/aws/aws-sdk-php/src/ResourceExplorer2/Exception/ResourceExplorer2Exception.php', + 'Aws\\ResourceExplorer2\\ResourceExplorer2Client' => $vendorDir . '/aws/aws-sdk-php/src/ResourceExplorer2/ResourceExplorer2Client.php', 'Aws\\ResourceGroupsTaggingAPI\\Exception\\ResourceGroupsTaggingAPIException' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php', 'Aws\\ResourceGroupsTaggingAPI\\ResourceGroupsTaggingAPIClient' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php', 'Aws\\ResourceGroups\\Exception\\ResourceGroupsException' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroups/Exception/ResourceGroupsException.php', @@ -642,8 +980,20 @@ 'Aws\\Retry\\RetryHelperTrait' => $vendorDir . '/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php', 'Aws\\RoboMaker\\Exception\\RoboMakerException' => $vendorDir . '/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php', 'Aws\\RoboMaker\\RoboMakerClient' => $vendorDir . '/aws/aws-sdk-php/src/RoboMaker/RoboMakerClient.php', + 'Aws\\RolesAnywhere\\Exception\\RolesAnywhereException' => $vendorDir . '/aws/aws-sdk-php/src/RolesAnywhere/Exception/RolesAnywhereException.php', + 'Aws\\RolesAnywhere\\RolesAnywhereClient' => $vendorDir . '/aws/aws-sdk-php/src/RolesAnywhere/RolesAnywhereClient.php', 'Aws\\Route53Domains\\Exception\\Route53DomainsException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Domains/Exception/Route53DomainsException.php', 'Aws\\Route53Domains\\Route53DomainsClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Domains/Route53DomainsClient.php', + 'Aws\\Route53GlobalResolver\\Exception\\Route53GlobalResolverException' => $vendorDir . '/aws/aws-sdk-php/src/Route53GlobalResolver/Exception/Route53GlobalResolverException.php', + 'Aws\\Route53GlobalResolver\\Route53GlobalResolverClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53GlobalResolver/Route53GlobalResolverClient.php', + 'Aws\\Route53Profiles\\Exception\\Route53ProfilesException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Profiles/Exception/Route53ProfilesException.php', + 'Aws\\Route53Profiles\\Route53ProfilesClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Profiles/Route53ProfilesClient.php', + 'Aws\\Route53RecoveryCluster\\Exception\\Route53RecoveryClusterException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Exception/Route53RecoveryClusterException.php', + 'Aws\\Route53RecoveryCluster\\Route53RecoveryClusterClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Route53RecoveryClusterClient.php', + 'Aws\\Route53RecoveryControlConfig\\Exception\\Route53RecoveryControlConfigException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Exception/Route53RecoveryControlConfigException.php', + 'Aws\\Route53RecoveryControlConfig\\Route53RecoveryControlConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Route53RecoveryControlConfigClient.php', + 'Aws\\Route53RecoveryReadiness\\Exception\\Route53RecoveryReadinessException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Exception/Route53RecoveryReadinessException.php', + 'Aws\\Route53RecoveryReadiness\\Route53RecoveryReadinessClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Route53RecoveryReadinessClient.php', 'Aws\\Route53Resolver\\Exception\\Route53ResolverException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Resolver/Exception/Route53ResolverException.php', 'Aws\\Route53Resolver\\Route53ResolverClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Resolver/Route53ResolverClient.php', 'Aws\\Route53\\Exception\\Route53Exception' => $vendorDir . '/aws/aws-sdk-php/src/Route53/Exception/Route53Exception.php', @@ -654,31 +1004,44 @@ 'Aws\\S3Control\\S3ControlEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php', 'Aws\\S3Outposts\\Exception\\S3OutpostsException' => $vendorDir . '/aws/aws-sdk-php/src/S3Outposts/Exception/S3OutpostsException.php', 'Aws\\S3Outposts\\S3OutpostsClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Outposts/S3OutpostsClient.php', + 'Aws\\S3Tables\\Exception\\S3TablesException' => $vendorDir . '/aws/aws-sdk-php/src/S3Tables/Exception/S3TablesException.php', + 'Aws\\S3Tables\\S3TablesClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Tables/S3TablesClient.php', + 'Aws\\S3Vectors\\Exception\\S3VectorsException' => $vendorDir . '/aws/aws-sdk-php/src/S3Vectors/Exception/S3VectorsException.php', + 'Aws\\S3Vectors\\S3VectorsClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Vectors/S3VectorsClient.php', 'Aws\\S3\\AmbiguousSuccessParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/AmbiguousSuccessParser.php', 'Aws\\S3\\ApplyChecksumMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php', 'Aws\\S3\\BatchDelete' => $vendorDir . '/aws/aws-sdk-php/src/S3/BatchDelete.php', 'Aws\\S3\\BucketEndpointArnMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/BucketEndpointArnMiddleware.php', 'Aws\\S3\\BucketEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/BucketEndpointMiddleware.php', + 'Aws\\S3\\CalculatesChecksumTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/CalculatesChecksumTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV2.php', + 'Aws\\S3\\Crypto\\CryptoParamsTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV3.php', 'Aws\\S3\\Crypto\\HeadersMetadataStrategy' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/HeadersMetadataStrategy.php', 'Aws\\S3\\Crypto\\InstructionFileMetadataStrategy' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/InstructionFileMetadataStrategy.php', 'Aws\\S3\\Crypto\\S3EncryptionClient' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClient.php', 'Aws\\S3\\Crypto\\S3EncryptionClientV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV2.php', + 'Aws\\S3\\Crypto\\S3EncryptionClientV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV3.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploader.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV2.php', + 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV3.php', 'Aws\\S3\\Crypto\\UserAgentTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/UserAgentTrait.php', 'Aws\\S3\\EndpointRegionHelperTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/EndpointRegionHelperTrait.php', 'Aws\\S3\\Exception\\DeleteMultipleObjectsException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php', 'Aws\\S3\\Exception\\PermanentRedirectException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php', 'Aws\\S3\\Exception\\S3Exception' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/S3Exception.php', 'Aws\\S3\\Exception\\S3MultipartUploadException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php', + 'Aws\\S3\\ExpiresParsingMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php', 'Aws\\S3\\GetBucketLocationParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/GetBucketLocationParser.php', 'Aws\\S3\\MultipartCopy' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartCopy.php', 'Aws\\S3\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartUploader.php', 'Aws\\S3\\MultipartUploadingTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartUploadingTrait.php', 'Aws\\S3\\ObjectCopier' => $vendorDir . '/aws/aws-sdk-php/src/S3/ObjectCopier.php', 'Aws\\S3\\ObjectUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/ObjectUploader.php', + 'Aws\\S3\\Parser\\GetBucketLocationResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/GetBucketLocationResultMutator.php', + 'Aws\\S3\\Parser\\S3Parser' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/S3Parser.php', + 'Aws\\S3\\Parser\\S3ResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/S3ResultMutator.php', + 'Aws\\S3\\Parser\\ValidateResponseChecksumResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/ValidateResponseChecksumResultMutator.php', 'Aws\\S3\\PermanentRedirectMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php', 'Aws\\S3\\PostObject' => $vendorDir . '/aws/aws-sdk-php/src/S3/PostObject.php', 'Aws\\S3\\PostObjectV4' => $vendorDir . '/aws/aws-sdk-php/src/S3/PostObjectV4.php', @@ -693,6 +1056,43 @@ 'Aws\\S3\\S3ClientTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3ClientTrait.php', 'Aws\\S3\\S3EndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3EndpointMiddleware.php', 'Aws\\S3\\S3MultiRegionClient' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php', + 'Aws\\S3\\S3Transfer\\AbstractMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\AbstractMultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartUploader.php', + 'Aws\\S3\\S3Transfer\\Exception\\FileDownloadException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/FileDownloadException.php', + 'Aws\\S3\\S3Transfer\\Exception\\ProgressTrackerException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/ProgressTrackerException.php', + 'Aws\\S3\\S3Transfer\\Exception\\S3TransferException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/S3TransferException.php', + 'Aws\\S3\\S3Transfer\\Models\\AbstractTransferRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/AbstractTransferRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryResult.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadFileRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadFileRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadResult.php', + 'Aws\\S3\\S3Transfer\\Models\\S3TransferManagerConfig' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/S3TransferManagerConfig.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryResult.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadResult.php', + 'Aws\\S3\\S3Transfer\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/MultipartUploader.php', + 'Aws\\S3\\S3Transfer\\PartGetMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/PartGetMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\Progress\\AbstractProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\AbstractTransferListener' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractTransferListener.php', + 'Aws\\S3\\S3Transfer\\Progress\\ColoredTransferProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ColoredTransferProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\ConsoleProgressBar' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ConsoleProgressBar.php', + 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressTracker' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressTracker.php', + 'Aws\\S3\\S3Transfer\\Progress\\PlainProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/PlainProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarFactoryInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarFactoryInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressTrackerInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressTrackerInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\SingleProgressTracker' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/SingleProgressTracker.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferListenerNotifier' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferListenerNotifier.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressSnapshot' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressSnapshot.php', + 'Aws\\S3\\S3Transfer\\RangeGetMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/RangeGetMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\S3TransferManager' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/S3TransferManager.php', + 'Aws\\S3\\S3Transfer\\Utils\\AbstractDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/AbstractDownloadHandler.php', + 'Aws\\S3\\S3Transfer\\Utils\\FileDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/FileDownloadHandler.php', + 'Aws\\S3\\S3Transfer\\Utils\\StreamDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/StreamDownloadHandler.php', 'Aws\\S3\\S3UriParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3UriParser.php', 'Aws\\S3\\SSECMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/SSECMiddleware.php', 'Aws\\S3\\StreamWrapper' => $vendorDir . '/aws/aws-sdk-php/src/S3/StreamWrapper.php', @@ -701,6 +1101,15 @@ 'Aws\\S3\\UseArnRegion\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationInterface.php', 'Aws\\S3\\UseArnRegion\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationProvider.php', 'Aws\\S3\\UseArnRegion\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/Exception/ConfigurationException.php', + 'Aws\\S3\\ValidateResponseChecksumParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/ValidateResponseChecksumParser.php', + 'Aws\\SSMContacts\\Exception\\SSMContactsException' => $vendorDir . '/aws/aws-sdk-php/src/SSMContacts/Exception/SSMContactsException.php', + 'Aws\\SSMContacts\\SSMContactsClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMContacts/SSMContactsClient.php', + 'Aws\\SSMGuiConnect\\Exception\\SSMGuiConnectException' => $vendorDir . '/aws/aws-sdk-php/src/SSMGuiConnect/Exception/SSMGuiConnectException.php', + 'Aws\\SSMGuiConnect\\SSMGuiConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMGuiConnect/SSMGuiConnectClient.php', + 'Aws\\SSMIncidents\\Exception\\SSMIncidentsException' => $vendorDir . '/aws/aws-sdk-php/src/SSMIncidents/Exception/SSMIncidentsException.php', + 'Aws\\SSMIncidents\\SSMIncidentsClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMIncidents/SSMIncidentsClient.php', + 'Aws\\SSMQuickSetup\\Exception\\SSMQuickSetupException' => $vendorDir . '/aws/aws-sdk-php/src/SSMQuickSetup/Exception/SSMQuickSetupException.php', + 'Aws\\SSMQuickSetup\\SSMQuickSetupClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMQuickSetup/SSMQuickSetupClient.php', 'Aws\\SSOAdmin\\Exception\\SSOAdminException' => $vendorDir . '/aws/aws-sdk-php/src/SSOAdmin/Exception/SSOAdminException.php', 'Aws\\SSOAdmin\\SSOAdminClient' => $vendorDir . '/aws/aws-sdk-php/src/SSOAdmin/SSOAdminClient.php', 'Aws\\SSOOIDC\\Exception\\SSOOIDCException' => $vendorDir . '/aws/aws-sdk-php/src/SSOOIDC/Exception/SSOOIDCException.php', @@ -709,6 +1118,10 @@ 'Aws\\SSO\\SSOClient' => $vendorDir . '/aws/aws-sdk-php/src/SSO/SSOClient.php', 'Aws\\SageMakerFeatureStoreRuntime\\Exception\\SageMakerFeatureStoreRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/Exception/SageMakerFeatureStoreRuntimeException.php', 'Aws\\SageMakerFeatureStoreRuntime\\SageMakerFeatureStoreRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.php', + 'Aws\\SageMakerGeospatial\\Exception\\SageMakerGeospatialException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerGeospatial/Exception/SageMakerGeospatialException.php', + 'Aws\\SageMakerGeospatial\\SageMakerGeospatialClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerGeospatial/SageMakerGeospatialClient.php', + 'Aws\\SageMakerMetrics\\Exception\\SageMakerMetricsException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerMetrics/Exception/SageMakerMetricsException.php', + 'Aws\\SageMakerMetrics\\SageMakerMetricsClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerMetrics/SageMakerMetricsClient.php', 'Aws\\SageMakerRuntime\\Exception\\SageMakerRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerRuntime/Exception/SageMakerRuntimeException.php', 'Aws\\SageMakerRuntime\\SageMakerRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerRuntime/SageMakerRuntimeClient.php', 'Aws\\SageMaker\\Exception\\SageMakerException' => $vendorDir . '/aws/aws-sdk-php/src/SageMaker/Exception/SageMakerException.php', @@ -717,13 +1130,20 @@ 'Aws\\SagemakerEdgeManager\\SagemakerEdgeManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/SagemakerEdgeManager/SagemakerEdgeManagerClient.php', 'Aws\\SavingsPlans\\Exception\\SavingsPlansException' => $vendorDir . '/aws/aws-sdk-php/src/SavingsPlans/Exception/SavingsPlansException.php', 'Aws\\SavingsPlans\\SavingsPlansClient' => $vendorDir . '/aws/aws-sdk-php/src/SavingsPlans/SavingsPlansClient.php', + 'Aws\\Scheduler\\Exception\\SchedulerException' => $vendorDir . '/aws/aws-sdk-php/src/Scheduler/Exception/SchedulerException.php', + 'Aws\\Scheduler\\SchedulerClient' => $vendorDir . '/aws/aws-sdk-php/src/Scheduler/SchedulerClient.php', 'Aws\\Schemas\\Exception\\SchemasException' => $vendorDir . '/aws/aws-sdk-php/src/Schemas/Exception/SchemasException.php', 'Aws\\Schemas\\SchemasClient' => $vendorDir . '/aws/aws-sdk-php/src/Schemas/SchemasClient.php', + 'Aws\\Script\\Composer\\Composer' => $vendorDir . '/aws/aws-sdk-php/src/Script/Composer/Composer.php', 'Aws\\Sdk' => $vendorDir . '/aws/aws-sdk-php/src/Sdk.php', 'Aws\\SecretsManager\\Exception\\SecretsManagerException' => $vendorDir . '/aws/aws-sdk-php/src/SecretsManager/Exception/SecretsManagerException.php', 'Aws\\SecretsManager\\SecretsManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/SecretsManager/SecretsManagerClient.php', 'Aws\\SecurityHub\\Exception\\SecurityHubException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php', 'Aws\\SecurityHub\\SecurityHubClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityHub/SecurityHubClient.php', + 'Aws\\SecurityIR\\Exception\\SecurityIRException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityIR/Exception/SecurityIRException.php', + 'Aws\\SecurityIR\\SecurityIRClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityIR/SecurityIRClient.php', + 'Aws\\SecurityLake\\Exception\\SecurityLakeException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityLake/Exception/SecurityLakeException.php', + 'Aws\\SecurityLake\\SecurityLakeClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityLake/SecurityLakeClient.php', 'Aws\\ServerlessApplicationRepository\\Exception\\ServerlessApplicationRepositoryException' => $vendorDir . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php', 'Aws\\ServerlessApplicationRepository\\ServerlessApplicationRepositoryClient' => $vendorDir . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php', 'Aws\\ServiceCatalog\\Exception\\ServiceCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/ServiceCatalog/Exception/ServiceCatalogException.php', @@ -741,19 +1161,31 @@ 'Aws\\Shield\\Exception\\ShieldException' => $vendorDir . '/aws/aws-sdk-php/src/Shield/Exception/ShieldException.php', 'Aws\\Shield\\ShieldClient' => $vendorDir . '/aws/aws-sdk-php/src/Shield/ShieldClient.php', 'Aws\\Signature\\AnonymousSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/AnonymousSignature.php', + 'Aws\\Signature\\DpopSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/DpopSignature.php', + 'Aws\\Signature\\S3ExpressSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/S3ExpressSignature.php', 'Aws\\Signature\\S3SignatureV4' => $vendorDir . '/aws/aws-sdk-php/src/Signature/S3SignatureV4.php', 'Aws\\Signature\\SignatureInterface' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureInterface.php', 'Aws\\Signature\\SignatureProvider' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureProvider.php', 'Aws\\Signature\\SignatureTrait' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureTrait.php', 'Aws\\Signature\\SignatureV4' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureV4.php', + 'Aws\\Signin\\Exception\\SigninException' => $vendorDir . '/aws/aws-sdk-php/src/Signin/Exception/SigninException.php', + 'Aws\\Signin\\SigninClient' => $vendorDir . '/aws/aws-sdk-php/src/Signin/SigninClient.php', + 'Aws\\SimSpaceWeaver\\Exception\\SimSpaceWeaverException' => $vendorDir . '/aws/aws-sdk-php/src/SimSpaceWeaver/Exception/SimSpaceWeaverException.php', + 'Aws\\SimSpaceWeaver\\SimSpaceWeaverClient' => $vendorDir . '/aws/aws-sdk-php/src/SimSpaceWeaver/SimSpaceWeaverClient.php', 'Aws\\Sms\\Exception\\SmsException' => $vendorDir . '/aws/aws-sdk-php/src/Sms/Exception/SmsException.php', 'Aws\\Sms\\SmsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sms/SmsClient.php', 'Aws\\SnowBall\\Exception\\SnowBallException' => $vendorDir . '/aws/aws-sdk-php/src/SnowBall/Exception/SnowBallException.php', 'Aws\\SnowBall\\SnowBallClient' => $vendorDir . '/aws/aws-sdk-php/src/SnowBall/SnowBallClient.php', + 'Aws\\SnowDeviceManagement\\Exception\\SnowDeviceManagementException' => $vendorDir . '/aws/aws-sdk-php/src/SnowDeviceManagement/Exception/SnowDeviceManagementException.php', + 'Aws\\SnowDeviceManagement\\SnowDeviceManagementClient' => $vendorDir . '/aws/aws-sdk-php/src/SnowDeviceManagement/SnowDeviceManagementClient.php', 'Aws\\Sns\\Exception\\SnsException' => $vendorDir . '/aws/aws-sdk-php/src/Sns/Exception/SnsException.php', 'Aws\\Sns\\SnsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sns/SnsClient.php', + 'Aws\\SocialMessaging\\Exception\\SocialMessagingException' => $vendorDir . '/aws/aws-sdk-php/src/SocialMessaging/Exception/SocialMessagingException.php', + 'Aws\\SocialMessaging\\SocialMessagingClient' => $vendorDir . '/aws/aws-sdk-php/src/SocialMessaging/SocialMessagingClient.php', 'Aws\\Sqs\\Exception\\SqsException' => $vendorDir . '/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php', 'Aws\\Sqs\\SqsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sqs/SqsClient.php', + 'Aws\\SsmSap\\Exception\\SsmSapException' => $vendorDir . '/aws/aws-sdk-php/src/SsmSap/Exception/SsmSapException.php', + 'Aws\\SsmSap\\SsmSapClient' => $vendorDir . '/aws/aws-sdk-php/src/SsmSap/SsmSapClient.php', 'Aws\\Ssm\\Exception\\SsmException' => $vendorDir . '/aws/aws-sdk-php/src/Ssm/Exception/SsmException.php', 'Aws\\Ssm\\SsmClient' => $vendorDir . '/aws/aws-sdk-php/src/Ssm/SsmClient.php', 'Aws\\StorageGateway\\Exception\\StorageGatewayException' => $vendorDir . '/aws/aws-sdk-php/src/StorageGateway/Exception/StorageGatewayException.php', @@ -765,18 +1197,39 @@ 'Aws\\Sts\\RegionalEndpoints\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/ConfigurationProvider.php', 'Aws\\Sts\\RegionalEndpoints\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/Exception/ConfigurationException.php', 'Aws\\Sts\\StsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sts/StsClient.php', + 'Aws\\SupplyChain\\Exception\\SupplyChainException' => $vendorDir . '/aws/aws-sdk-php/src/SupplyChain/Exception/SupplyChainException.php', + 'Aws\\SupplyChain\\SupplyChainClient' => $vendorDir . '/aws/aws-sdk-php/src/SupplyChain/SupplyChainClient.php', + 'Aws\\SupportApp\\Exception\\SupportAppException' => $vendorDir . '/aws/aws-sdk-php/src/SupportApp/Exception/SupportAppException.php', + 'Aws\\SupportApp\\SupportAppClient' => $vendorDir . '/aws/aws-sdk-php/src/SupportApp/SupportAppClient.php', 'Aws\\Support\\Exception\\SupportException' => $vendorDir . '/aws/aws-sdk-php/src/Support/Exception/SupportException.php', 'Aws\\Support\\SupportClient' => $vendorDir . '/aws/aws-sdk-php/src/Support/SupportClient.php', 'Aws\\Swf\\Exception\\SwfException' => $vendorDir . '/aws/aws-sdk-php/src/Swf/Exception/SwfException.php', 'Aws\\Swf\\SwfClient' => $vendorDir . '/aws/aws-sdk-php/src/Swf/SwfClient.php', 'Aws\\Synthetics\\Exception\\SyntheticsException' => $vendorDir . '/aws/aws-sdk-php/src/Synthetics/Exception/SyntheticsException.php', 'Aws\\Synthetics\\SyntheticsClient' => $vendorDir . '/aws/aws-sdk-php/src/Synthetics/SyntheticsClient.php', + 'Aws\\TaxSettings\\Exception\\TaxSettingsException' => $vendorDir . '/aws/aws-sdk-php/src/TaxSettings/Exception/TaxSettingsException.php', + 'Aws\\TaxSettings\\TaxSettingsClient' => $vendorDir . '/aws/aws-sdk-php/src/TaxSettings/TaxSettingsClient.php', 'Aws\\Textract\\Exception\\TextractException' => $vendorDir . '/aws/aws-sdk-php/src/Textract/Exception/TextractException.php', 'Aws\\Textract\\TextractClient' => $vendorDir . '/aws/aws-sdk-php/src/Textract/TextractClient.php', + 'Aws\\TimestreamInfluxDB\\Exception\\TimestreamInfluxDBException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamInfluxDB/Exception/TimestreamInfluxDBException.php', + 'Aws\\TimestreamInfluxDB\\TimestreamInfluxDBClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamInfluxDB/TimestreamInfluxDBClient.php', 'Aws\\TimestreamQuery\\Exception\\TimestreamQueryException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamQuery/Exception/TimestreamQueryException.php', 'Aws\\TimestreamQuery\\TimestreamQueryClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamQuery/TimestreamQueryClient.php', 'Aws\\TimestreamWrite\\Exception\\TimestreamWriteException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamWrite/Exception/TimestreamWriteException.php', 'Aws\\TimestreamWrite\\TimestreamWriteClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamWrite/TimestreamWriteClient.php', + 'Aws\\Tnb\\Exception\\TnbException' => $vendorDir . '/aws/aws-sdk-php/src/Tnb/Exception/TnbException.php', + 'Aws\\Tnb\\TnbClient' => $vendorDir . '/aws/aws-sdk-php/src/Tnb/TnbClient.php', + 'Aws\\Token\\BearerTokenAuthorization' => $vendorDir . '/aws/aws-sdk-php/src/Token/BearerTokenAuthorization.php', + 'Aws\\Token\\BedrockTokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/BedrockTokenProvider.php', + 'Aws\\Token\\ParsesIniTrait' => $vendorDir . '/aws/aws-sdk-php/src/Token/ParsesIniTrait.php', + 'Aws\\Token\\RefreshableTokenProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/Token/RefreshableTokenProviderInterface.php', + 'Aws\\Token\\SsoToken' => $vendorDir . '/aws/aws-sdk-php/src/Token/SsoToken.php', + 'Aws\\Token\\SsoTokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/SsoTokenProvider.php', + 'Aws\\Token\\Token' => $vendorDir . '/aws/aws-sdk-php/src/Token/Token.php', + 'Aws\\Token\\TokenAuthorization' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenAuthorization.php', + 'Aws\\Token\\TokenInterface' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenInterface.php', + 'Aws\\Token\\TokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenProvider.php', + 'Aws\\Token\\TokenSource' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenSource.php', 'Aws\\TraceMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/TraceMiddleware.php', 'Aws\\TranscribeService\\Exception\\TranscribeServiceException' => $vendorDir . '/aws/aws-sdk-php/src/TranscribeService/Exception/TranscribeServiceException.php', 'Aws\\TranscribeService\\TranscribeServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php', @@ -784,6 +1237,15 @@ 'Aws\\Transfer\\TransferClient' => $vendorDir . '/aws/aws-sdk-php/src/Transfer/TransferClient.php', 'Aws\\Translate\\Exception\\TranslateException' => $vendorDir . '/aws/aws-sdk-php/src/Translate/Exception/TranslateException.php', 'Aws\\Translate\\TranslateClient' => $vendorDir . '/aws/aws-sdk-php/src/Translate/TranslateClient.php', + 'Aws\\TrustedAdvisor\\Exception\\TrustedAdvisorException' => $vendorDir . '/aws/aws-sdk-php/src/TrustedAdvisor/Exception/TrustedAdvisorException.php', + 'Aws\\TrustedAdvisor\\TrustedAdvisorClient' => $vendorDir . '/aws/aws-sdk-php/src/TrustedAdvisor/TrustedAdvisorClient.php', + 'Aws\\UserAgentMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/UserAgentMiddleware.php', + 'Aws\\VPCLattice\\Exception\\VPCLatticeException' => $vendorDir . '/aws/aws-sdk-php/src/VPCLattice/Exception/VPCLatticeException.php', + 'Aws\\VPCLattice\\VPCLatticeClient' => $vendorDir . '/aws/aws-sdk-php/src/VPCLattice/VPCLatticeClient.php', + 'Aws\\VerifiedPermissions\\Exception\\VerifiedPermissionsException' => $vendorDir . '/aws/aws-sdk-php/src/VerifiedPermissions/Exception/VerifiedPermissionsException.php', + 'Aws\\VerifiedPermissions\\VerifiedPermissionsClient' => $vendorDir . '/aws/aws-sdk-php/src/VerifiedPermissions/VerifiedPermissionsClient.php', + 'Aws\\VoiceID\\Exception\\VoiceIDException' => $vendorDir . '/aws/aws-sdk-php/src/VoiceID/Exception/VoiceIDException.php', + 'Aws\\VoiceID\\VoiceIDClient' => $vendorDir . '/aws/aws-sdk-php/src/VoiceID/VoiceIDClient.php', 'Aws\\WAFV2\\Exception\\WAFV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/WAFV2/Exception/WAFV2Exception.php', 'Aws\\WAFV2\\WAFV2Client' => $vendorDir . '/aws/aws-sdk-php/src/WAFV2/WAFV2Client.php', 'Aws\\WafRegional\\Exception\\WafRegionalException' => $vendorDir . '/aws/aws-sdk-php/src/WafRegional/Exception/WafRegionalException.php', @@ -793,6 +1255,8 @@ 'Aws\\Waiter' => $vendorDir . '/aws/aws-sdk-php/src/Waiter.php', 'Aws\\WellArchitected\\Exception\\WellArchitectedException' => $vendorDir . '/aws/aws-sdk-php/src/WellArchitected/Exception/WellArchitectedException.php', 'Aws\\WellArchitected\\WellArchitectedClient' => $vendorDir . '/aws/aws-sdk-php/src/WellArchitected/WellArchitectedClient.php', + 'Aws\\Wickr\\Exception\\WickrException' => $vendorDir . '/aws/aws-sdk-php/src/Wickr/Exception/WickrException.php', + 'Aws\\Wickr\\WickrClient' => $vendorDir . '/aws/aws-sdk-php/src/Wickr/WickrClient.php', 'Aws\\WorkDocs\\Exception\\WorkDocsException' => $vendorDir . '/aws/aws-sdk-php/src/WorkDocs/Exception/WorkDocsException.php', 'Aws\\WorkDocs\\WorkDocsClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php', 'Aws\\WorkLink\\Exception\\WorkLinkException' => $vendorDir . '/aws/aws-sdk-php/src/WorkLink/Exception/WorkLinkException.php', @@ -801,18 +1265,41 @@ 'Aws\\WorkMailMessageFlow\\WorkMailMessageFlowClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkMailMessageFlow/WorkMailMessageFlowClient.php', 'Aws\\WorkMail\\Exception\\WorkMailException' => $vendorDir . '/aws/aws-sdk-php/src/WorkMail/Exception/WorkMailException.php', 'Aws\\WorkMail\\WorkMailClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkMail/WorkMailClient.php', + 'Aws\\WorkSpacesThinClient\\Exception\\WorkSpacesThinClientException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesThinClient/Exception/WorkSpacesThinClientException.php', + 'Aws\\WorkSpacesThinClient\\WorkSpacesThinClientClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesThinClient/WorkSpacesThinClientClient.php', + 'Aws\\WorkSpacesWeb\\Exception\\WorkSpacesWebException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesWeb/Exception/WorkSpacesWebException.php', + 'Aws\\WorkSpacesWeb\\WorkSpacesWebClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesWeb/WorkSpacesWebClient.php', 'Aws\\WorkSpaces\\Exception\\WorkSpacesException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpaces/Exception/WorkSpacesException.php', 'Aws\\WorkSpaces\\WorkSpacesClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php', + 'Aws\\WorkspacesInstances\\Exception\\WorkspacesInstancesException' => $vendorDir . '/aws/aws-sdk-php/src/WorkspacesInstances/Exception/WorkspacesInstancesException.php', + 'Aws\\WorkspacesInstances\\WorkspacesInstancesClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkspacesInstances/WorkspacesInstancesClient.php', 'Aws\\WrappedHttpHandler' => $vendorDir . '/aws/aws-sdk-php/src/WrappedHttpHandler.php', 'Aws\\XRay\\Exception\\XRayException' => $vendorDir . '/aws/aws-sdk-php/src/XRay/Exception/XRayException.php', 'Aws\\XRay\\XRayClient' => $vendorDir . '/aws/aws-sdk-php/src/XRay/XRayClient.php', + 'Aws\\drs\\Exception\\drsException' => $vendorDir . '/aws/aws-sdk-php/src/drs/Exception/drsException.php', + 'Aws\\drs\\drsClient' => $vendorDir . '/aws/aws-sdk-php/src/drs/drsClient.php', + 'Aws\\finspace\\Exception\\finspaceException' => $vendorDir . '/aws/aws-sdk-php/src/finspace/Exception/finspaceException.php', + 'Aws\\finspace\\finspaceClient' => $vendorDir . '/aws/aws-sdk-php/src/finspace/finspaceClient.php', 'Aws\\imagebuilder\\Exception\\imagebuilderException' => $vendorDir . '/aws/aws-sdk-php/src/imagebuilder/Exception/imagebuilderException.php', 'Aws\\imagebuilder\\imagebuilderClient' => $vendorDir . '/aws/aws-sdk-php/src/imagebuilder/imagebuilderClient.php', + 'Aws\\ivschat\\Exception\\ivschatException' => $vendorDir . '/aws/aws-sdk-php/src/ivschat/Exception/ivschatException.php', + 'Aws\\ivschat\\ivschatClient' => $vendorDir . '/aws/aws-sdk-php/src/ivschat/ivschatClient.php', 'Aws\\kendra\\Exception\\kendraException' => $vendorDir . '/aws/aws-sdk-php/src/kendra/Exception/kendraException.php', 'Aws\\kendra\\kendraClient' => $vendorDir . '/aws/aws-sdk-php/src/kendra/kendraClient.php', + 'Aws\\mgn\\Exception\\mgnException' => $vendorDir . '/aws/aws-sdk-php/src/mgn/Exception/mgnException.php', + 'Aws\\mgn\\mgnClient' => $vendorDir . '/aws/aws-sdk-php/src/mgn/mgnClient.php', 'Aws\\signer\\Exception\\signerException' => $vendorDir . '/aws/aws-sdk-php/src/signer/Exception/signerException.php', 'Aws\\signer\\signerClient' => $vendorDir . '/aws/aws-sdk-php/src/signer/signerClient.php', + 'BestellungPDF' => $baseDir . '/www/lib/dokumente/class.bestellung.php', + 'BlindField' => $baseDir . '/phpwf/htmltags/class.form.php', + 'BriefPDF' => $baseDir . '/www/lib/dokumente/class.brief.php', + 'Briefpapier' => $baseDir . '/www/lib/dokumente/class.briefpapier.php', + 'BriefpapierCustom' => $baseDir . '/www/lib/dokumente/class.briefpapier_custom.php', + 'CallbackEntry' => $baseDir . '/phpwf/plugins/class.formhandler.php', + 'Chart' => $baseDir . '/phpwf/widgets/chart.php', 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', + 'Config' => $baseDir . '/conf/main.conf.php', + 'DB' => $baseDir . '/phpwf/plugins/class.mysql.php', 'Datamatrix' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', 'Datto\\JsonRpc\\Client' => $vendorDir . '/datto/json-rpc/src/Client.php', 'Datto\\JsonRpc\\Evaluator' => $vendorDir . '/datto/json-rpc/src/Evaluator.php', @@ -832,6 +1319,18 @@ 'Datto\\JsonRpc\\Responses\\Response' => $vendorDir . '/datto/json-rpc/src/Responses/Response.php', 'Datto\\JsonRpc\\Responses\\ResultResponse' => $vendorDir . '/datto/json-rpc/src/Responses/ResultResponse.php', 'Datto\\JsonRpc\\Server' => $vendorDir . '/datto/json-rpc/src/Server.php', + 'DocscanAuth' => $baseDir . '/www/docscan/classes/DocscanAuth.php', + 'DocscanDir' => $baseDir . '/www/docscan/classes/DocscanDir.php', + 'DocscanFile' => $baseDir . '/www/docscan/classes/DocscanFile.php', + 'DocscanRoot' => $baseDir . '/www/docscan/classes/DocscanRoot.php', + 'DokuArbeitszeit' => $baseDir . '/www/lib/dokumente/class.dokuarbeitszeit.php', + 'Dokumentenvorlage' => $baseDir . '/www/lib/dokumente/class.dokumentenvorlage.php', + 'DownloadSpoolerTable' => $baseDir . '/phpwf/widgets/downloadspoolertable.php', + 'EasyCalendar' => $baseDir . '/phpwf/widgets/easycalendar.php', + 'EasyTable' => $baseDir . '/phpwf/widgets/easytable.php', + 'Etikett' => $baseDir . '/www/lib/dokumente/class.etikett.php', + 'EtikettenPDF' => $baseDir . '/www/lib/dokumente/class.etiketten.php', + 'FPDFWAWISION' => $baseDir . '/www/lib/pdf/fpdf_3.php', 'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php', 'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php', 'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php', @@ -849,6 +1348,7 @@ 'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php', 'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php', 'FastRoute\\RouteParser\\Std' => $vendorDir . '/nikic/fast-route/src/RouteParser/Std.php', + 'FileTable' => $baseDir . '/phpwf/widgets/filetable.php', 'FiskalyClient\\FiskalyClient' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/FiskalyClient.php', 'FiskalyClient\\errors\\FiskalyErrorHandler' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/errors/FiskalyErrorHandler.php', 'FiskalyClient\\errors\\exceptions\\FiskalyClientException' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/errors/exceptions/FiskalyClientException.php', @@ -859,8 +1359,17 @@ 'FiskalyClient\\responses\\RequestResponse' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/responses/RequestResponse.php', 'FiskalyClient\\responses\\SelfTestResponse' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/responses/SelfTestResponse.php', 'FiskalyClient\\responses\\VersionResponse' => $vendorDir . '/fiskaly/fiskaly-sdk-php/src/responses/VersionResponse.php', + 'FormActionHandler' => $baseDir . '/phpwf/plugins/class.formhandler.php', + 'FormHandler' => $baseDir . '/phpwf/plugins/class.formhandler.php', + 'FormHandlerField' => $baseDir . '/phpwf/plugins/class.formhandler.php', + 'Geschaeftsbrief' => $baseDir . '/www/lib/dokumente/class.geschaeftsbrief.php', + 'GroupTable' => $baseDir . '/phpwf/widgets/grouptable.php', + 'GutschriftPDF' => $baseDir . '/www/lib/dokumente/class.gutschrift.php', + 'GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php', 'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php', 'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -882,10 +1391,12 @@ 'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php', 'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php', 'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php', 'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -909,8 +1420,10 @@ 'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php', 'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php', 'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php', 'GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php', 'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php', 'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php', 'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php', @@ -940,6 +1453,10 @@ 'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php', 'GuzzleHttp\\UriTemplate' => $vendorDir . '/guzzlehttp/guzzle/src/UriTemplate.php', 'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php', + 'HTMLCheckbox' => $baseDir . '/phpwf/htmltags/class.form.php', + 'HTMLForm' => $baseDir . '/phpwf/htmltags/class.form.php', + 'HTMLInput' => $baseDir . '/phpwf/htmltags/class.form.php', + 'HTMLListEntry' => $baseDir . '/phpwf/plugins/class.formhandler.php', 'HTMLPurifier' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.php', 'HTMLPurifier_Arborize' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php', 'HTMLPurifier_AttrCollections' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php', @@ -1170,6 +1687,15 @@ 'HTMLPurifier_VarParser_Flexible' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php', 'HTMLPurifier_VarParser_Native' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php', 'HTMLPurifier_Zipper' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php', + 'HTMLSelect' => $baseDir . '/phpwf/htmltags/class.form.php', + 'HTMLTable' => $baseDir . '/phpwf/htmltags/class.table.php', + 'HTMLTextarea' => $baseDir . '/phpwf/htmltags/class.form.php', + 'Help' => $baseDir . '/www/lib/class.help.php', + 'HttpClient' => $baseDir . '/www/lib/class.httpclient.php', + 'ICS' => $baseDir . '/www/plugins/class.ics.php', + 'IMAP' => $baseDir . '/www/lib/imap.inc.php', + 'ImageManipulator' => $baseDir . '/www/lib/class.image.php', + 'IndexPoint' => $baseDir . '/www/plugins/class.wikiparser.php', 'JmesPath\\AstRuntime' => $vendorDir . '/mtdowling/jmespath.php/src/AstRuntime.php', 'JmesPath\\CompilerRuntime' => $vendorDir . '/mtdowling/jmespath.php/src/CompilerRuntime.php', 'JmesPath\\DebugRuntime' => $vendorDir . '/mtdowling/jmespath.php/src/DebugRuntime.php', @@ -1181,6 +1707,11 @@ 'JmesPath\\TreeCompiler' => $vendorDir . '/mtdowling/jmespath.php/src/TreeCompiler.php', 'JmesPath\\TreeInterpreter' => $vendorDir . '/mtdowling/jmespath.php/src/TreeInterpreter.php', 'JmesPath\\Utils' => $vendorDir . '/mtdowling/jmespath.php/src/Utils.php', + 'KalkulationPDF' => $baseDir . '/www/lib/dokumente/class.kalkulation.php', + 'KatalogPDF' => $baseDir . '/www/lib/dokumente/class.katalog.php', + 'KommissionierungPDF' => $baseDir . '/www/lib/dokumente/class.kommissionierung.php', + 'KorrespondenzPDF' => $baseDir . '/www/lib/dokumente/class.korrespondenz.php', + 'LagermindestmengenPDF' => $baseDir . '/www/lib/dokumente/class.lagermindestmengen.php', 'Laminas\\Loader\\AutoloaderFactory' => $vendorDir . '/laminas/laminas-loader/src/AutoloaderFactory.php', 'Laminas\\Loader\\ClassMapAutoloader' => $vendorDir . '/laminas/laminas-loader/src/ClassMapAutoloader.php', 'Laminas\\Loader\\Exception\\BadMethodCallException' => $vendorDir . '/laminas/laminas-loader/src/Exception/BadMethodCallException.php', @@ -1505,6 +2036,7 @@ 'Laminas\\Validator\\ValidatorPluginManagerAwareInterface' => $vendorDir . '/laminas/laminas-validator/src/ValidatorPluginManagerAwareInterface.php', 'Laminas\\Validator\\ValidatorPluginManagerFactory' => $vendorDir . '/laminas/laminas-validator/src/ValidatorPluginManagerFactory.php', 'Laminas\\Validator\\ValidatorProviderInterface' => $vendorDir . '/laminas/laminas-validator/src/ValidatorProviderInterface.php', + 'LayoutvorlagenPDF' => $baseDir . '/www/lib/dokumente/class.layoutvorlagen.php', 'League\\ColorExtractor\\Color' => $vendorDir . '/league/color-extractor/src/League/ColorExtractor/Color.php', 'League\\ColorExtractor\\ColorExtractor' => $vendorDir . '/league/color-extractor/src/League/ColorExtractor/ColorExtractor.php', 'League\\ColorExtractor\\Palette' => $vendorDir . '/league/color-extractor/src/League/ColorExtractor/Palette.php', @@ -1590,13 +2122,34 @@ 'League\\OAuth1\\Client\\Signature\\RsaSha1Signature' => $vendorDir . '/league/oauth1-client/src/Signature/RsaSha1Signature.php', 'League\\OAuth1\\Client\\Signature\\Signature' => $vendorDir . '/league/oauth1-client/src/Signature/Signature.php', 'League\\OAuth1\\Client\\Signature\\SignatureInterface' => $vendorDir . '/league/oauth1-client/src/Signature/SignatureInterface.php', + 'LieferscheinPDF' => $baseDir . '/www/lib/dokumente/class.lieferschein.php', + 'LiveimportBase' => $baseDir . '/www/plugins/liveimport/LiveimportBase.php', + 'Location' => $baseDir . '/www/lib/class.location.php', + 'MahnwesenPDF' => $baseDir . '/www/lib/dokumente/class.mahnwesen.php', + 'MandatoryEntry' => $baseDir . '/phpwf/plugins/class.formhandler.php', + 'ModuleScriptCache' => $baseDir . '/phpwf/plugins/class.modulescriptcache.php', + 'Navigation' => $baseDir . '/www/lib/class.navigation_edit.php', 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', + 'ObjectAPI' => $baseDir . '/phpwf/plugins/class.objectapi.php', 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'PDF_EPS' => $baseDir . '/www/lib/pdf/fpdf_final.php', + 'PHPMailer\\PHPMailer\\DSNConfigurator' => $vendorDir . '/phpmailer/phpmailer/src/DSNConfigurator.php', 'PHPMailer\\PHPMailer\\Exception' => $vendorDir . '/phpmailer/phpmailer/src/Exception.php', 'PHPMailer\\PHPMailer\\OAuth' => $vendorDir . '/phpmailer/phpmailer/src/OAuth.php', + 'PHPMailer\\PHPMailer\\OAuthTokenProvider' => $vendorDir . '/phpmailer/phpmailer/src/OAuthTokenProvider.php', 'PHPMailer\\PHPMailer\\PHPMailer' => $vendorDir . '/phpmailer/phpmailer/src/PHPMailer.php', 'PHPMailer\\PHPMailer\\POP3' => $vendorDir . '/phpmailer/phpmailer/src/POP3.php', 'PHPMailer\\PHPMailer\\SMTP' => $vendorDir . '/phpmailer/phpmailer/src/SMTP.php', + 'Page' => $baseDir . '/phpwf/plugins/class.page.php', + 'PageBuilder' => $baseDir . '/phpwf/plugins/class.pagebuilder.php', + 'Player' => $baseDir . '/phpwf/class.player.php', + 'PreisanfragePDF' => $baseDir . '/www/lib/dokumente/class.preisanfrage.php', + 'Printer' => $baseDir . '/www/lib/class.printer.php', + 'PrinterBase' => $baseDir . '/www/lib/PrinterBase.php', + 'ProduktionPDF' => $baseDir . '/www/lib/dokumente/class.produktion.php', + 'ProformarechnungPDF' => $baseDir . '/www/lib/dokumente/class.proformarechnung.php', + 'ProjektPDF' => $baseDir . '/www/lib/dokumente/class.projekt.php', + 'ProvisionsgutschriftPDF' => $baseDir . '/www/lib/dokumente/class.provisionsgutschrift.php', 'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php', 'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', @@ -1670,6 +2223,10 @@ 'Rakit\\Validation\\Rules\\Url' => $vendorDir . '/rakit/validation/src/Rules/Url.php', 'Rakit\\Validation\\Validation' => $vendorDir . '/rakit/validation/src/Validation.php', 'Rakit\\Validation\\Validator' => $vendorDir . '/rakit/validation/src/Validator.php', + 'RechnungPDF' => $baseDir . '/www/lib/dokumente/class.rechnung.php', + 'ReisekostenPDF' => $baseDir . '/www/lib/dokumente/class.reisekosten.php', + 'Remote' => $baseDir . '/www/lib/class.remote.php', + 'RetourePDF' => $baseDir . '/www/lib/dokumente/class.retoure.php', 'Sabre\\CalDAV\\Backend\\AbstractBackend' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php', 'Sabre\\CalDAV\\Backend\\BackendInterface' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/BackendInterface.php', 'Sabre\\CalDAV\\Backend\\NotificationSupport' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php', @@ -2010,6 +2567,11 @@ 'Sabre\\Xml\\Writer' => $vendorDir . '/sabre/xml/lib/Writer.php', 'Sabre\\Xml\\XmlDeserializable' => $vendorDir . '/sabre/xml/lib/XmlDeserializable.php', 'Sabre\\Xml\\XmlSerializable' => $vendorDir . '/sabre/xml/lib/XmlSerializable.php', + 'Secure' => $baseDir . '/phpwf/plugins/class.secure.php', + 'SepaMandat' => $baseDir . '/www/lib/dokumente/class.sepamandat.php', + 'Session' => $baseDir . '/phpwf/class.session.php', + 'ShopimporterBase' => $baseDir . '/www/lib/ShopimporterBase.php', + 'SimpleList' => $baseDir . '/phpwf/types/class.simplelist.php', 'Smarty' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php', 'SmartyBC' => $vendorDir . '/smarty/smarty/libs/SmartyBC.class.php', 'SmartyCompilerException' => $vendorDir . '/smarty/smarty/libs/sysplugins/smartycompilerexception.php', @@ -2181,6 +2743,9 @@ 'Smarty_Template_Source' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_template_source.php', 'Smarty_Undefined_Variable' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_undefined_variable.php', 'Smarty_Variable' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_variable.php', + 'SpeditionPDF' => $baseDir . '/www/lib/dokumente/class.spedition.php', + 'StringCleaner' => $baseDir . '/phpwf/plugins/class.stringcleaner.php', + 'SuperFPDF' => $baseDir . '/www/lib/dokumente/class.superfpdf.php', 'SwissPaymentSlip\\SwissPaymentSlipFpdf\\PaymentSlipFpdf' => $vendorDir . '/swiss-payment-slip/swiss-payment-slip-fpdf/src/PaymentSlipFpdf.php', 'SwissPaymentSlip\\SwissPaymentSlipPdf\\PaymentSlipPdf' => $vendorDir . '/swiss-payment-slip/swiss-payment-slip-pdf/src/PaymentSlipPdf.php', 'SwissPaymentSlip\\SwissPaymentSlip\\Exception\\DisabledDataException' => $vendorDir . '/swiss-payment-slip/swiss-payment-slip/src/Exception/DisabledDataException.php', @@ -2208,13 +2773,231 @@ 'TCPDF_STATIC' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_static.php', 'TPC_yyStackEntry' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_internal_configfileparser.php', 'TP_yyStackEntry' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php', + 'TemplateParser' => $baseDir . '/phpwf/plugins/class.templateparser.php', + 'ThemeTemplate' => $baseDir . '/phpwf/plugins/class.templateparser.php', + 'TransferBase' => $baseDir . '/www/lib/TransferBase.php', + 'USTID' => $baseDir . '/www/lib/class.ustid.php', + 'User' => $baseDir . '/phpwf/plugins/class.user.php', 'Versandart_dhl' => $baseDir . '/www/lib/versandarten/dhl.php', 'Versandart_dpddepot' => $baseDir . '/www/lib/versandarten/dpddepot.php', 'Versandart_go' => $baseDir . '/www/lib/versandarten/go.php', 'Versandart_sendcloud' => $baseDir . '/www/lib/versandarten/sendcloud.php', + 'VersandpaketscheinPDF' => $baseDir . '/www/lib/dokumente/class.versandpaketschein.php', + 'WFMonitor' => $baseDir . '/phpwf/plugins/class.wfmonitor.php', + 'WaWisionOTP' => $baseDir . '/phpwf/plugins/class.wawision_otp.php', + 'WawiString' => $baseDir . '/phpwf/plugins/class.string.php', 'Webmozart\\Assert\\Assert' => $vendorDir . '/webmozart/assert/src/Assert.php', 'Webmozart\\Assert\\InvalidArgumentException' => $vendorDir . '/webmozart/assert/src/InvalidArgumentException.php', 'Webmozart\\Assert\\Mixin' => $vendorDir . '/webmozart/assert/src/Mixin.php', + 'WidgetAPI' => $baseDir . '/phpwf/plugins/class.widgetapi.php', + 'WidgetAbrechnungsartikel' => $baseDir . '/www/widgets/widget.abrechnungsartikel.php', + 'WidgetAdapterbox' => $baseDir . '/www/widgets/widget.adapterbox.php', + 'WidgetAdresse' => $baseDir . '/www/widgets/widget.adresse.php', + 'WidgetAdresse_accounts' => $baseDir . '/www/widgets/widget.adresse_accounts.php', + 'WidgetAdresse_rolle' => $baseDir . '/www/widgets/widget.adresse_rolle.php', + 'WidgetAdresse_typ' => $baseDir . '/www/widgets/widget.adresse_typ.php', + 'WidgetAktionscode_liste' => $baseDir . '/www/widgets/widget.aktionscode_liste.php', + 'WidgetAnfrage' => $baseDir . '/www/widgets/widget.anfrage.php', + 'WidgetAnfrage_position' => $baseDir . '/www/widgets/widget.anfrage_position.php', + 'WidgetAngebot' => $baseDir . '/www/widgets/widget.angebot.php', + 'WidgetAngebot_position' => $baseDir . '/www/widgets/widget.angebot_position.php', + 'WidgetAnsprechpartner' => $baseDir . '/www/widgets/widget.ansprechpartner.php', + 'WidgetArbeitsfreietage' => $baseDir . '/www/widgets/widget.arbeitsfreietage.php', + 'WidgetArbeitsnachweis' => $baseDir . '/www/widgets/widget.arbeitsnachweis.php', + 'WidgetArbeitsnachweis_position' => $baseDir . '/www/widgets/widget.arbeitsnachweis_position.php', + 'WidgetArbeitspaket' => $baseDir . '/www/widgets/widget.arbeitspaket.php', + 'WidgetArtikel' => $baseDir . '/www/widgets/widget.artikel.php', + 'WidgetArtikeleigenschaften' => $baseDir . '/www/widgets/widget.artikeleigenschaften.php', + 'WidgetArtikeleinheit' => $baseDir . '/www/widgets/widget.artikeleinheit.php', + 'WidgetArtikelgruppen' => $baseDir . '/www/widgets/widget.artikelgruppen.php', + 'WidgetArtikelkategorien' => $baseDir . '/www/widgets/widget.artikelkategorien.php', + 'WidgetArtikeloptionengruppe' => $baseDir . '/www/widgets/widget.artikeloptionengruppe.php', + 'WidgetAufgabe' => $baseDir . '/www/widgets/widget.aufgabe.php', + 'WidgetAuftrag' => $baseDir . '/www/widgets/widget.auftrag.php', + 'WidgetAuftrag_artikel' => $baseDir . '/www/widgets/widget.auftrag_artikel.php', + 'WidgetAuftrag_position' => $baseDir . '/www/widgets/widget.auftrag_position.php', + 'WidgetBerichte' => $baseDir . '/www/widgets/widget.berichte.php', + 'WidgetBestellung' => $baseDir . '/www/widgets/widget.bestellung.php', + 'WidgetBestellung_position' => $baseDir . '/www/widgets/widget.bestellung_position.php', + 'WidgetBrief' => $baseDir . '/www/widgets/widget.brief.php', + 'WidgetDrucker' => $baseDir . '/www/widgets/widget.drucker.php', + 'WidgetEinkaufspreise' => $baseDir . '/www/widgets/widget.einkaufspreise.php', + 'WidgetEmail' => $baseDir . '/www/widgets/widget.email.php', + 'WidgetEtiketten' => $baseDir . '/www/widgets/widget.etiketten.php', + 'WidgetExportvorlage' => $baseDir . '/www/widgets/widget.exportvorlage.php', + 'WidgetGenabrechnungsartikel' => $baseDir . '/www/widgets/_gen/widget.gen.abrechnungsartikel.php', + 'WidgetGenadapterbox' => $baseDir . '/www/widgets/_gen/widget.gen.adapterbox.php', + 'WidgetGenadresse' => $baseDir . '/www/widgets/_gen/widget.gen.adresse.php', + 'WidgetGenadresse_accounts' => $baseDir . '/www/widgets/_gen/widget.gen.adresse_accounts.php', + 'WidgetGenadresse_onchange' => $baseDir . '/www/widgets/_gen/widget.gen.adresse_onchange.php', + 'WidgetGenadresse_rolle' => $baseDir . '/www/widgets/_gen/widget.gen.adresse_rolle.php', + 'WidgetGenadresse_typ' => $baseDir . '/www/widgets/_gen/widget.gen.adresse_typ.php', + 'WidgetGenaktionscode_liste' => $baseDir . '/www/widgets/_gen/widget.gen.aktionscode_liste.php', + 'WidgetGenanfrage' => $baseDir . '/www/widgets/_gen/widget.gen.anfrage.php', + 'WidgetGenanfrage_position' => $baseDir . '/www/widgets/_gen/widget.gen.anfrage_position.php', + 'WidgetGenangebot' => $baseDir . '/www/widgets/_gen/widget.gen.angebot.php', + 'WidgetGenangebot_position' => $baseDir . '/www/widgets/_gen/widget.gen.angebot_position.php', + 'WidgetGenansprechpartner' => $baseDir . '/www/widgets/_gen/widget.gen.ansprechpartner.php', + 'WidgetGenarbeitsfreietage' => $baseDir . '/www/widgets/_gen/widget.gen.arbeitsfreietage.php', + 'WidgetGenarbeitsnachweis' => $baseDir . '/www/widgets/_gen/widget.gen.arbeitsnachweis.php', + 'WidgetGenarbeitsnachweis_position' => $baseDir . '/www/widgets/_gen/widget.gen.arbeitsnachweis_position.php', + 'WidgetGenarbeitspaket' => $baseDir . '/www/widgets/_gen/widget.gen.arbeitspaket.php', + 'WidgetGenartikel' => $baseDir . '/www/widgets/_gen/widget.gen.artikel.php', + 'WidgetGenartikeleigenschaften' => $baseDir . '/www/widgets/_gen/widget.gen.artikeleigenschaften.php', + 'WidgetGenartikeleinheit' => $baseDir . '/www/widgets/_gen/widget.gen.artikeleinheit.php', + 'WidgetGenartikelgruppen' => $baseDir . '/www/widgets/_gen/widget.gen.artikelgruppen.php', + 'WidgetGenartikelkategorien' => $baseDir . '/www/widgets/_gen/widget.gen.artikelkategorien.php', + 'WidgetGenartikeloptionengruppe' => $baseDir . '/www/widgets/_gen/widget.gen.artikeloptionengruppe.php', + 'WidgetGenaufgabe' => $baseDir . '/www/widgets/_gen/widget.gen.aufgabe.php', + 'WidgetGenauftrag' => $baseDir . '/www/widgets/_gen/widget.gen.auftrag.php', + 'WidgetGenauftrag_artikel' => $baseDir . '/www/widgets/_gen/widget.gen.auftrag_artikel.php', + 'WidgetGenauftrag_position' => $baseDir . '/www/widgets/_gen/widget.gen.auftrag_position.php', + 'WidgetGenauftragsannahme' => $baseDir . '/www/widgets/_gen/widget.gen.auftragsannahme.php', + 'WidgetGenbackupserver' => $baseDir . '/www/widgets/_gen/widget.gen.backupserver.php', + 'WidgetGenberichte' => $baseDir . '/www/widgets/_gen/widget.gen.berichte.php', + 'WidgetGenbestellung' => $baseDir . '/www/widgets/_gen/widget.gen.bestellung.php', + 'WidgetGenbestellung_position' => $baseDir . '/www/widgets/_gen/widget.gen.bestellung_position.php', + 'WidgetGenbrief' => $baseDir . '/www/widgets/_gen/widget.gen.brief.php', + 'WidgetGenchargen' => $baseDir . '/www/widgets/_gen/widget.gen.chargen.php', + 'WidgetGencluster' => $baseDir . '/www/widgets/_gen/widget.gen.cluster.php', + 'WidgetGendatei_stichwortvorlagen' => $baseDir . '/www/widgets/_gen/widget.gen.datei_stichwortvorlagen.php', + 'WidgetGendrucker' => $baseDir . '/www/widgets/_gen/widget.gen.drucker.php', + 'WidgetGeneigenschaften' => $baseDir . '/www/widgets/_gen/widget.gen.eigenschaften.php', + 'WidgetGeneinkaufspreise' => $baseDir . '/www/widgets/_gen/widget.gen.einkaufspreise.php', + 'WidgetGenemail' => $baseDir . '/www/widgets/_gen/widget.gen.email.php', + 'WidgetGenemailbackup' => $baseDir . '/www/widgets/_gen/widget.gen.emailbackup.php', + 'WidgetGenetiketten' => $baseDir . '/www/widgets/_gen/widget.gen.etiketten.php', + 'WidgetGenexportvorlage' => $baseDir . '/www/widgets/_gen/widget.gen.exportvorlage.php', + 'WidgetGenfahrtenbuch' => $baseDir . '/www/widgets/_gen/widget.gen.fahrtenbuch.php', + 'WidgetGengeraeteverwaltung' => $baseDir . '/www/widgets/_gen/widget.gen.geraeteverwaltung.php', + 'WidgetGengeschaeftsbrief_vorlagen' => $baseDir . '/www/widgets/_gen/widget.gen.geschaeftsbrief_vorlagen.php', + 'WidgetGengeschaeftsfall' => $baseDir . '/www/widgets/_gen/widget.gen.geschaeftsfall.php', + 'WidgetGengruppen' => $baseDir . '/www/widgets/_gen/widget.gen.gruppen.php', + 'WidgetGengruppen_kategorien' => $baseDir . '/www/widgets/_gen/widget.gen.gruppen_kategorien.php', + 'WidgetGengutschrift' => $baseDir . '/www/widgets/_gen/widget.gen.gutschrift.php', + 'WidgetGengutschrift_position' => $baseDir . '/www/widgets/_gen/widget.gen.gutschrift_position.php', + 'WidgetGenimportvorlage' => $baseDir . '/www/widgets/_gen/widget.gen.importvorlage.php', + 'WidgetGeninhalt' => $baseDir . '/www/widgets/_gen/widget.gen.inhalt.php', + 'WidgetGeninventur' => $baseDir . '/www/widgets/_gen/widget.gen.inventur.php', + 'WidgetGeninventur_position' => $baseDir . '/www/widgets/_gen/widget.gen.inventur_position.php', + 'WidgetGenkalkulation' => $baseDir . '/www/widgets/_gen/widget.gen.kalkulation.php', + 'WidgetGenkalkulation_position' => $baseDir . '/www/widgets/_gen/widget.gen.kalkulation_position.php', + 'WidgetGenkasse' => $baseDir . '/www/widgets/_gen/widget.gen.kasse.php', + 'WidgetGenkontorahmen' => $baseDir . '/www/widgets/_gen/widget.gen.kontorahmen.php', + 'WidgetGenkostenstellen' => $baseDir . '/www/widgets/_gen/widget.gen.kostenstellen.php', + 'WidgetGenkundevorlage' => $baseDir . '/www/widgets/_gen/widget.gen.kundevorlage.php', + 'WidgetGenlager' => $baseDir . '/www/widgets/_gen/widget.gen.lager.php', + 'WidgetGenlieferadressen' => $baseDir . '/www/widgets/_gen/widget.gen.lieferadressen.php', + 'WidgetGenlieferantvorlage' => $baseDir . '/www/widgets/_gen/widget.gen.lieferantvorlage.php', + 'WidgetGenlieferbedingungen' => $baseDir . '/www/widgets/_gen/widget.gen.lieferbedingungen.php', + 'WidgetGenlieferschein' => $baseDir . '/www/widgets/_gen/widget.gen.lieferschein.php', + 'WidgetGenlieferschein_position' => $baseDir . '/www/widgets/_gen/widget.gen.lieferschein_position.php', + 'WidgetGenpartner' => $baseDir . '/www/widgets/_gen/widget.gen.partner.php', + 'WidgetGenpos_kassierer' => $baseDir . '/www/widgets/_gen/widget.gen.pos_kassierer.php', + 'WidgetGenpreisanfrage' => $baseDir . '/www/widgets/_gen/widget.gen.preisanfrage.php', + 'WidgetGenpreisanfrage_position' => $baseDir . '/www/widgets/_gen/widget.gen.preisanfrage_position.php', + 'WidgetGenproduktion' => $baseDir . '/www/widgets/_gen/widget.gen.produktion.php', + 'WidgetGenproduktion_position' => $baseDir . '/www/widgets/_gen/widget.gen.produktion_position.php', + 'WidgetGenproformarechnung' => $baseDir . '/www/widgets/_gen/widget.gen.proformarechnung.php', + 'WidgetGenproformarechnung_position' => $baseDir . '/www/widgets/_gen/widget.gen.proformarechnung_position.php', + 'WidgetGenprojekt' => $baseDir . '/www/widgets/_gen/widget.gen.projekt.php', + 'WidgetGenprozessstarter' => $baseDir . '/www/widgets/_gen/widget.gen.prozessstarter.php', + 'WidgetGenrechnung' => $baseDir . '/www/widgets/_gen/widget.gen.rechnung.php', + 'WidgetGenrechnung_position' => $baseDir . '/www/widgets/_gen/widget.gen.rechnung_position.php', + 'WidgetGenreisekosten' => $baseDir . '/www/widgets/_gen/widget.gen.reisekosten.php', + 'WidgetGenreisekosten_position' => $baseDir . '/www/widgets/_gen/widget.gen.reisekosten_position.php', + 'WidgetGenreisekosten_positionen' => $baseDir . '/www/widgets/_gen/widget.gen.reisekosten_positionen.php', + 'WidgetGenreisekostenart' => $baseDir . '/www/widgets/_gen/widget.gen.reisekostenart.php', + 'WidgetGenremotezugang' => $baseDir . '/www/widgets/_gen/widget.gen.remotezugang.php', + 'WidgetGenretoure' => $baseDir . '/www/widgets/_gen/widget.gen.retoure.php', + 'WidgetGenretoure_position' => $baseDir . '/www/widgets/_gen/widget.gen.retoure_position.php', + 'WidgetGenrohstoffe' => $baseDir . '/www/widgets/_gen/widget.gen.rohstoffe.php', + 'WidgetGenseriennummern' => $baseDir . '/www/widgets/_gen/widget.gen.seriennummern.php', + 'WidgetGenservice' => $baseDir . '/www/widgets/_gen/widget.gen.service.php', + 'WidgetGenshopexport' => $baseDir . '/www/widgets/_gen/widget.gen.shopexport.php', + 'WidgetGenshopexport_kampange' => $baseDir . '/www/widgets/_gen/widget.gen.shopexport_kampange.php', + 'WidgetGenspedition' => $baseDir . '/www/widgets/_gen/widget.gen.spedition.php', + 'WidgetGenspedition_avi' => $baseDir . '/www/widgets/_gen/widget.gen.spedition_avi.php', + 'WidgetGenstation' => $baseDir . '/www/widgets/_gen/widget.gen.station.php', + 'WidgetGenstueckliste' => $baseDir . '/www/widgets/_gen/widget.gen.stueckliste.php', + 'WidgetGensupportapp' => $baseDir . '/www/widgets/_gen/widget.gen.supportapp.php', + 'WidgetGenterminals' => $baseDir . '/www/widgets/_gen/widget.gen.terminals.php', + 'WidgetGenticket' => $baseDir . '/www/widgets/_gen/widget.gen.ticket.php', + 'WidgetGenticket_vorlage' => $baseDir . '/www/widgets/_gen/widget.gen.ticket_vorlage.php', + 'WidgetGenuebersetzung' => $baseDir . '/www/widgets/_gen/widget.gen.uebersetzung.php', + 'WidgetGenuser' => $baseDir . '/www/widgets/_gen/widget.gen.user.php', + 'WidgetGenuservorlage' => $baseDir . '/www/widgets/_gen/widget.gen.uservorlage.php', + 'WidgetGenverbindlichkeit' => $baseDir . '/www/widgets/_gen/widget.gen.verbindlichkeit.php', + 'WidgetGenverbindlichkeit_position' => $baseDir . '/www/widgets/_gen/widget.gen.verbindlichkeit_position.php', + 'WidgetGenverkaufspreise' => $baseDir . '/www/widgets/_gen/widget.gen.verkaufspreise.php', + 'WidgetGenverrechnungsart' => $baseDir . '/www/widgets/_gen/widget.gen.verrechnungsart.php', + 'WidgetGenversandarten' => $baseDir . '/www/widgets/_gen/widget.gen.versandarten.php', + 'WidgetGenvorlage' => $baseDir . '/www/widgets/_gen/widget.gen.vorlage.php', + 'WidgetGenwaage_artikel' => $baseDir . '/www/widgets/_gen/widget.gen.waage_artikel.php', + 'WidgetGenwarteschlangen' => $baseDir . '/www/widgets/_gen/widget.gen.warteschlangen.php', + 'WidgetGenwawisioneinrichtung' => $baseDir . '/www/widgets/_gen/widget.gen.wawisioneinrichtung.php', + 'WidgetGenwebmail' => $baseDir . '/www/widgets/_gen/widget.gen.webmail.php', + 'WidgetGenwebmail_mails' => $baseDir . '/www/widgets/_gen/widget.gen.webmail_mails.php', + 'WidgetGenwebmail_zuordnung' => $baseDir . '/www/widgets/_gen/widget.gen.webmail_zuordnung.php', + 'WidgetGenwiedervorlage' => $baseDir . '/www/widgets/_gen/widget.gen.wiedervorlage.php', + 'WidgetGenwissensdatenbank' => $baseDir . '/www/widgets/_gen/widget.gen.wissensdatenbank.php', + 'WidgetGenzahlungsweisen' => $baseDir . '/www/widgets/_gen/widget.gen.zahlungsweisen.php', + 'WidgetGenzeiterfassungvorlage' => $baseDir . '/www/widgets/_gen/widget.gen.zeiterfassungvorlage.php', + 'WidgetGenzolltarifnummer' => $baseDir . '/www/widgets/_gen/widget.gen.zolltarifnummer.php', + 'WidgetGenzugangstoken' => $baseDir . '/www/widgets/_gen/widget.gen.zugangstoken.php', + 'WidgetGeschaeftsbrief_vorlagen' => $baseDir . '/www/widgets/widget.geschaeftsbrief_vorlagen.php', + 'WidgetGutschrift' => $baseDir . '/www/widgets/widget.gutschrift.php', + 'WidgetGutschrift_position' => $baseDir . '/www/widgets/widget.gutschrift_position.php', + 'WidgetImportvorlage' => $baseDir . '/www/widgets/widget.importvorlage.php', + 'WidgetInhalt' => $baseDir . '/www/widgets/widget.inhalt.php', + 'WidgetInventur' => $baseDir . '/www/widgets/widget.inventur.php', + 'WidgetInventur_position' => $baseDir . '/www/widgets/widget.inventur_position.php', + 'WidgetKalkulation' => $baseDir . '/www/widgets/widget.kalkulation.php', + 'WidgetKalkulation_position' => $baseDir . '/www/widgets/widget.kalkulation_position.php', + 'WidgetKostenstellen' => $baseDir . '/www/widgets/widget.kostenstellen.php', + 'WidgetKundevorlage' => $baseDir . '/www/widgets/widget.kundevorlage.php', + 'WidgetLager' => $baseDir . '/www/widgets/widget.lager.php', + 'WidgetLieferadressen' => $baseDir . '/www/widgets/widget.lieferadressen.php', + 'WidgetLieferantvorlage' => $baseDir . '/www/widgets/widget.lieferantvorlage.php', + 'WidgetLieferschein' => $baseDir . '/www/widgets/widget.lieferschein.php', + 'WidgetLieferschein_position' => $baseDir . '/www/widgets/widget.lieferschein_position.php', + 'WidgetPreisanfrage' => $baseDir . '/www/widgets/widget.preisanfrage.php', + 'WidgetPreisanfrage_position' => $baseDir . '/www/widgets/widget.preisanfrage_position.php', + 'WidgetProformarechnung' => $baseDir . '/www/widgets/widget.proformarechnung.php', + 'WidgetProformarechnung_position' => $baseDir . '/www/widgets/widget.proformarechnung_position.php', + 'WidgetProjekt' => $baseDir . '/www/widgets/widget.projekt.php', + 'WidgetProzessstarter' => $baseDir . '/www/widgets/widget.prozessstarter.php', + 'WidgetRechnung' => $baseDir . '/www/widgets/widget.rechnung.php', + 'WidgetRechnung_position' => $baseDir . '/www/widgets/widget.rechnung_position.php', + 'WidgetReisekosten' => $baseDir . '/www/widgets/widget.reisekosten.php', + 'WidgetReisekosten_position' => $baseDir . '/www/widgets/widget.reisekosten_position.php', + 'WidgetReisekostenart' => $baseDir . '/www/widgets/widget.reisekostenart.php', + 'WidgetRetoure' => $baseDir . '/www/widgets/widget.retoure.php', + 'WidgetRetoure_position' => $baseDir . '/www/widgets/widget.retoure_position.php', + 'WidgetRohstoffe' => $baseDir . '/www/widgets/widget.rohstoffe.php', + 'WidgetShopexport' => $baseDir . '/www/widgets/widget.shopexport.php', + 'WidgetShopexport_kampange' => $baseDir . '/www/widgets/widget.shopexport_kampange.php', + 'WidgetStueckliste' => $baseDir . '/www/widgets/widget.stueckliste.php', + 'WidgetUebersetzung' => $baseDir . '/www/widgets/widget.uebersetzung.php', + 'WidgetUser' => $baseDir . '/www/widgets/widget.user.php', + 'WidgetUservorlage' => $baseDir . '/www/widgets/widget.uservorlage.php', + 'WidgetVerbindlichkeit' => $baseDir . '/www/widgets/widget.verbindlichkeit.php', + 'WidgetVerbindlichkeit_position' => $baseDir . '/www/widgets/widget.verbindlichkeit_position.php', + 'WidgetVerkaufspreise' => $baseDir . '/www/widgets/widget.verkaufspreise.php', + 'WidgetVerrechnungsart' => $baseDir . '/www/widgets/widget.verrechnungsart.php', + 'WidgetVersandarten' => $baseDir . '/www/widgets/widget.versandarten.php', + 'WidgetVorlage' => $baseDir . '/www/widgets/widget.vorlage.php', + 'WidgetWawisioneinrichtung' => $baseDir . '/www/widgets/widget.wawisioneinrichtung.php', + 'WidgetWebmail_mails' => $baseDir . '/www/widgets/widget.webmail_mails.php', + 'WidgetWiedervorlage' => $baseDir . '/www/widgets/widget.wiedervorlage.php', + 'WidgetWissensdatenbank' => $baseDir . '/www/widgets/widget.wissensdatenbank.php', + 'WidgetZahlungsweisen' => $baseDir . '/www/widgets/widget.zahlungsweisen.php', + 'WidgetZeiterfassungvorlage' => $baseDir . '/www/widgets/widget.zeiterfassungvorlage.php', + 'WidgetZolltarifnummer' => $baseDir . '/www/widgets/widget.zolltarifnummer.php', + 'Widgetgruppen' => $baseDir . '/www/widgets/widget.gruppen.php', + 'Widgetgruppen_kategorien' => $baseDir . '/www/widgets/widget.gruppen_kategorien.php', + 'WikiParser' => $baseDir . '/www/plugins/class.wikiparser.php', + 'XTEA' => $baseDir . '/www/lib/class.xtea.php', 'Xentral\\Carrier\\Dhl\\Data\\Bank' => $baseDir . '/classes/Carrier/Dhl/Data/Bank.php', 'Xentral\\Carrier\\Dhl\\Data\\Communication' => $baseDir . '/classes/Carrier/Dhl/Data/Communication.php', 'Xentral\\Carrier\\Dhl\\Data\\Contact' => $baseDir . '/classes/Carrier/Dhl/Data/Contact.php', @@ -3808,7 +4591,13 @@ 'Xentral\\Widgets\\SuperSearch\\Result\\ResultGroup' => $baseDir . '/classes/Widgets/SuperSearch/Result/ResultGroup.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultItem' => $baseDir . '/classes/Widgets/SuperSearch/Result/ResultItem.php', 'Y0lk\\OAuth1\\Client\\Server\\Etsy' => $vendorDir . '/y0lk/oauth1-etsy/src/Etsy.php', + 'YUI' => $baseDir . '/phpwf/plugins/class.yui.php', + 'erpAPI' => $baseDir . '/www/lib/class.erpapi.php', + 'erpooSystem' => $baseDir . '/www/eproosystem.php', + 'image' => $baseDir . '/www/lib/class.image.php', 'lfkeitel\\phptotp\\Base32' => $vendorDir . '/lfkeitel/phptotp/src/Base32.php', 'lfkeitel\\phptotp\\Hotp' => $vendorDir . '/lfkeitel/phptotp/src/Hotp.php', 'lfkeitel\\phptotp\\Totp' => $vendorDir . '/lfkeitel/phptotp/src/Totp.php', + 'phpWFAPI' => $baseDir . '/phpwf/plugins/class.phpwfapi.php', + 'phpprint' => $baseDir . '/www/plugins/php-print.php', ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 449b91726..d64134650 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -308,6 +308,17 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee ); public static $classMap = array ( + 'AES' => __DIR__ . '/../..' . '/www/lib/class.aes2.php', + 'Acl' => __DIR__ . '/../..' . '/phpwf/plugins/class.acl.php', + 'AdressstammblattPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.adressstammblatt.php', + 'AnfragePDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.anfrage.php', + 'AngebotPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.angebot.php', + 'Application' => __DIR__ . '/../..' . '/phpwf/class.application.php', + 'ApplicationCore' => __DIR__ . '/../..' . '/phpwf/class.application_core.php', + 'ArbeitsnachweisPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.arbeitsnachweis.php', + 'ArbeitszeitnachweisPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.arbeitszeitnachweis.php', + 'ArtikelTabelle' => __DIR__ . '/../..' . '/www/widgets/artikeltable.php', + 'AuftragPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.auftrag.php', 'Aura\\SqlQuery\\AbstractDmlQuery' => __DIR__ . '/..' . '/aura/sqlquery/src/AbstractDmlQuery.php', 'Aura\\SqlQuery\\AbstractQuery' => __DIR__ . '/..' . '/aura/sqlquery/src/AbstractQuery.php', 'Aura\\SqlQuery\\Common\\Delete' => __DIR__ . '/..' . '/aura/sqlquery/src/Common/Delete.php', @@ -347,15 +358,25 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aura\\SqlQuery\\Sqlsrv\\Update' => __DIR__ . '/..' . '/aura/sqlquery/src/Sqlsrv/Update.php', 'Aws\\ACMPCA\\ACMPCAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php', 'Aws\\ACMPCA\\Exception\\ACMPCAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php', + 'Aws\\AIOps\\AIOpsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AIOps/AIOpsClient.php', + 'Aws\\AIOps\\Exception\\AIOpsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AIOps/Exception/AIOpsException.php', + 'Aws\\ARCRegionSwitch\\ARCRegionSwitchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCRegionSwitch/ARCRegionSwitchClient.php', + 'Aws\\ARCRegionSwitch\\Exception\\ARCRegionSwitchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCRegionSwitch/Exception/ARCRegionSwitchException.php', + 'Aws\\ARCZonalShift\\ARCZonalShiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCZonalShift/ARCZonalShiftClient.php', + 'Aws\\ARCZonalShift\\Exception\\ARCZonalShiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCZonalShift/Exception/ARCZonalShiftException.php', 'Aws\\AbstractConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AbstractConfigurationProvider.php', 'Aws\\AccessAnalyzer\\AccessAnalyzerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php', 'Aws\\AccessAnalyzer\\Exception\\AccessAnalyzerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php', + 'Aws\\Account\\AccountClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Account/AccountClient.php', + 'Aws\\Account\\Exception\\AccountException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Account/Exception/AccountException.php', 'Aws\\Acm\\AcmClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Acm/AcmClient.php', 'Aws\\Acm\\Exception\\AcmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Acm/Exception/AcmException.php', 'Aws\\AlexaForBusiness\\AlexaForBusinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php', 'Aws\\AlexaForBusiness\\Exception\\AlexaForBusinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AlexaForBusiness/Exception/AlexaForBusinessException.php', 'Aws\\AmplifyBackend\\AmplifyBackendClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyBackend/AmplifyBackendClient.php', 'Aws\\AmplifyBackend\\Exception\\AmplifyBackendException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyBackend/Exception/AmplifyBackendException.php', + 'Aws\\AmplifyUIBuilder\\AmplifyUIBuilderClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyUIBuilder/AmplifyUIBuilderClient.php', + 'Aws\\AmplifyUIBuilder\\Exception\\AmplifyUIBuilderException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyUIBuilder/Exception/AmplifyUIBuilderException.php', 'Aws\\Amplify\\AmplifyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Amplify/AmplifyClient.php', 'Aws\\Amplify\\Exception\\AmplifyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php', 'Aws\\ApiGatewayManagementApi\\ApiGatewayManagementApiClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php', @@ -385,6 +406,7 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Api\\Parser\\JsonParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/JsonParser.php', 'Aws\\Api\\Parser\\JsonRpcParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php', 'Aws\\Api\\Parser\\MetadataParserTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php', + 'Aws\\Api\\Parser\\NonSeekableStreamDecodingEventStreamIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/NonSeekableStreamDecodingEventStreamIterator.php', 'Aws\\Api\\Parser\\PayloadParserTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php', 'Aws\\Api\\Parser\\QueryParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/QueryParser.php', 'Aws\\Api\\Parser\\RestJsonParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php', @@ -403,26 +425,37 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Api\\Shape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Shape.php', 'Aws\\Api\\ShapeMap' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/ShapeMap.php', 'Aws\\Api\\StructureShape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/StructureShape.php', + 'Aws\\Api\\SupportedProtocols' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/SupportedProtocols.php', 'Aws\\Api\\TimestampShape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/TimestampShape.php', 'Aws\\Api\\Validator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Validator.php', + 'Aws\\AppConfigData\\AppConfigDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfigData/AppConfigDataClient.php', + 'Aws\\AppConfigData\\Exception\\AppConfigDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfigData/Exception/AppConfigDataException.php', 'Aws\\AppConfig\\AppConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfig/AppConfigClient.php', 'Aws\\AppConfig\\Exception\\AppConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfig/Exception/AppConfigException.php', + 'Aws\\AppFabric\\AppFabricClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppFabric/AppFabricClient.php', + 'Aws\\AppFabric\\Exception\\AppFabricException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppFabric/Exception/AppFabricException.php', 'Aws\\AppIntegrationsService\\AppIntegrationsServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppIntegrationsService/AppIntegrationsServiceClient.php', 'Aws\\AppIntegrationsService\\Exception\\AppIntegrationsServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppIntegrationsService/Exception/AppIntegrationsServiceException.php', 'Aws\\AppMesh\\AppMeshClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php', 'Aws\\AppMesh\\Exception\\AppMeshException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppMesh/Exception/AppMeshException.php', 'Aws\\AppRegistry\\AppRegistryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRegistry/AppRegistryClient.php', 'Aws\\AppRegistry\\Exception\\AppRegistryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRegistry/Exception/AppRegistryException.php', + 'Aws\\AppRunner\\AppRunnerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRunner/AppRunnerClient.php', + 'Aws\\AppRunner\\Exception\\AppRunnerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRunner/Exception/AppRunnerException.php', 'Aws\\AppSync\\AppSyncClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppSync/AppSyncClient.php', 'Aws\\AppSync\\Exception\\AppSyncException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppSync/Exception/AppSyncException.php', 'Aws\\Appflow\\AppflowClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appflow/AppflowClient.php', 'Aws\\Appflow\\Exception\\AppflowException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appflow/Exception/AppflowException.php', 'Aws\\ApplicationAutoScaling\\ApplicationAutoScalingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationAutoScaling/ApplicationAutoScalingClient.php', 'Aws\\ApplicationAutoScaling\\Exception\\ApplicationAutoScalingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php', + 'Aws\\ApplicationCostProfiler\\ApplicationCostProfilerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationCostProfiler/ApplicationCostProfilerClient.php', + 'Aws\\ApplicationCostProfiler\\Exception\\ApplicationCostProfilerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationCostProfiler/Exception/ApplicationCostProfilerException.php', 'Aws\\ApplicationDiscoveryService\\ApplicationDiscoveryServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php', 'Aws\\ApplicationDiscoveryService\\Exception\\ApplicationDiscoveryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php', 'Aws\\ApplicationInsights\\ApplicationInsightsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationInsights/ApplicationInsightsClient.php', 'Aws\\ApplicationInsights\\Exception\\ApplicationInsightsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationInsights/Exception/ApplicationInsightsException.php', + 'Aws\\ApplicationSignals\\ApplicationSignalsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationSignals/ApplicationSignalsClient.php', + 'Aws\\ApplicationSignals\\Exception\\ApplicationSignalsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationSignals/Exception/ApplicationSignalsException.php', 'Aws\\Appstream\\AppstreamClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appstream/AppstreamClient.php', 'Aws\\Appstream\\Exception\\AppstreamException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appstream/Exception/AppstreamException.php', 'Aws\\Arn\\AccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/AccessPointArn.php', @@ -435,15 +468,22 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Arn\\ResourceTypeAndIdTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/ResourceTypeAndIdTrait.php', 'Aws\\Arn\\S3\\AccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/AccessPointArn.php', 'Aws\\Arn\\S3\\BucketArnInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/BucketArnInterface.php', + 'Aws\\Arn\\S3\\MultiRegionAccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/MultiRegionAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsAccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsArnInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsArnInterface.php', 'Aws\\Arn\\S3\\OutpostsBucketArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsBucketArn.php', + 'Aws\\Artifact\\ArtifactClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Artifact/ArtifactClient.php', + 'Aws\\Artifact\\Exception\\ArtifactException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Artifact/Exception/ArtifactException.php', 'Aws\\Athena\\AthenaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Athena/AthenaClient.php', 'Aws\\Athena\\Exception\\AthenaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Athena/Exception/AthenaException.php', 'Aws\\AuditManager\\AuditManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AuditManager/AuditManagerClient.php', 'Aws\\AuditManager\\Exception\\AuditManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AuditManager/Exception/AuditManagerException.php', 'Aws\\AugmentedAIRuntime\\AugmentedAIRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AugmentedAIRuntime/AugmentedAIRuntimeClient.php', 'Aws\\AugmentedAIRuntime\\Exception\\AugmentedAIRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AugmentedAIRuntime/Exception/AugmentedAIRuntimeException.php', + 'Aws\\Auth\\AuthSchemeResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolver.php', + 'Aws\\Auth\\AuthSchemeResolverInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolverInterface.php', + 'Aws\\Auth\\AuthSelectionMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSelectionMiddleware.php', + 'Aws\\Auth\\Exception\\UnresolvedAuthSchemeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/Exception/UnresolvedAuthSchemeException.php', 'Aws\\AutoScalingPlans\\AutoScalingPlansClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScalingPlans/AutoScalingPlansClient.php', 'Aws\\AutoScalingPlans\\Exception\\AutoScalingPlansException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScalingPlans/Exception/AutoScalingPlansException.php', 'Aws\\AutoScaling\\AutoScalingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScaling/AutoScalingClient.php', @@ -451,17 +491,67 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\AwsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClient.php', 'Aws\\AwsClientInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClientInterface.php', 'Aws\\AwsClientTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClientTrait.php', + 'Aws\\B2bi\\B2biClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/B2bi/B2biClient.php', + 'Aws\\B2bi\\Exception\\B2biException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/B2bi/Exception/B2biException.php', + 'Aws\\BCMDashboards\\BCMDashboardsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDashboards/BCMDashboardsClient.php', + 'Aws\\BCMDashboards\\Exception\\BCMDashboardsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDashboards/Exception/BCMDashboardsException.php', + 'Aws\\BCMDataExports\\BCMDataExportsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDataExports/BCMDataExportsClient.php', + 'Aws\\BCMDataExports\\Exception\\BCMDataExportsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDataExports/Exception/BCMDataExportsException.php', + 'Aws\\BCMPricingCalculator\\BCMPricingCalculatorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMPricingCalculator/BCMPricingCalculatorClient.php', + 'Aws\\BCMPricingCalculator\\Exception\\BCMPricingCalculatorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMPricingCalculator/Exception/BCMPricingCalculatorException.php', + 'Aws\\BCMRecommendedActions\\BCMRecommendedActionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMRecommendedActions/BCMRecommendedActionsClient.php', + 'Aws\\BCMRecommendedActions\\Exception\\BCMRecommendedActionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMRecommendedActions/Exception/BCMRecommendedActionsException.php', + 'Aws\\BackupGateway\\BackupGatewayClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupGateway/BackupGatewayClient.php', + 'Aws\\BackupGateway\\Exception\\BackupGatewayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupGateway/Exception/BackupGatewayException.php', + 'Aws\\BackupSearch\\BackupSearchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupSearch/BackupSearchClient.php', + 'Aws\\BackupSearch\\Exception\\BackupSearchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupSearch/Exception/BackupSearchException.php', 'Aws\\Backup\\BackupClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Backup/BackupClient.php', 'Aws\\Backup\\Exception\\BackupException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Backup/Exception/BackupException.php', 'Aws\\Batch\\BatchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Batch/BatchClient.php', 'Aws\\Batch\\Exception\\BatchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Batch/Exception/BatchException.php', + 'Aws\\BedrockAgentCoreControl\\BedrockAgentCoreControlClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/BedrockAgentCoreControlClient.php', + 'Aws\\BedrockAgentCoreControl\\Exception\\BedrockAgentCoreControlException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/Exception/BedrockAgentCoreControlException.php', + 'Aws\\BedrockAgentCore\\BedrockAgentCoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCore/BedrockAgentCoreClient.php', + 'Aws\\BedrockAgentCore\\Exception\\BedrockAgentCoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCore/Exception/BedrockAgentCoreException.php', + 'Aws\\BedrockAgentRuntime\\BedrockAgentRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentRuntime/BedrockAgentRuntimeClient.php', + 'Aws\\BedrockAgentRuntime\\Exception\\BedrockAgentRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentRuntime/Exception/BedrockAgentRuntimeException.php', + 'Aws\\BedrockAgent\\BedrockAgentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgent/BedrockAgentClient.php', + 'Aws\\BedrockAgent\\Exception\\BedrockAgentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgent/Exception/BedrockAgentException.php', + 'Aws\\BedrockDataAutomationRuntime\\BedrockDataAutomationRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.php', + 'Aws\\BedrockDataAutomationRuntime\\Exception\\BedrockDataAutomationRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/Exception/BedrockDataAutomationRuntimeException.php', + 'Aws\\BedrockDataAutomation\\BedrockDataAutomationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomation/BedrockDataAutomationClient.php', + 'Aws\\BedrockDataAutomation\\Exception\\BedrockDataAutomationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomation/Exception/BedrockDataAutomationException.php', + 'Aws\\BedrockRuntime\\BedrockRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockRuntime/BedrockRuntimeClient.php', + 'Aws\\BedrockRuntime\\Exception\\BedrockRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockRuntime/Exception/BedrockRuntimeException.php', + 'Aws\\Bedrock\\BedrockClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Bedrock/BedrockClient.php', + 'Aws\\Bedrock\\Exception\\BedrockException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Bedrock/Exception/BedrockException.php', + 'Aws\\BillingConductor\\BillingConductorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BillingConductor/BillingConductorClient.php', + 'Aws\\BillingConductor\\Exception\\BillingConductorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BillingConductor/Exception/BillingConductorException.php', + 'Aws\\Billing\\BillingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Billing/BillingClient.php', + 'Aws\\Billing\\Exception\\BillingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Billing/Exception/BillingException.php', 'Aws\\Braket\\BraketClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Braket/BraketClient.php', 'Aws\\Braket\\Exception\\BraketException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Braket/Exception/BraketException.php', 'Aws\\Budgets\\BudgetsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Budgets/BudgetsClient.php', 'Aws\\Budgets\\Exception\\BudgetsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Budgets/Exception/BudgetsException.php', 'Aws\\CacheInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CacheInterface.php', + 'Aws\\Chatbot\\ChatbotClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chatbot/ChatbotClient.php', + 'Aws\\Chatbot\\Exception\\ChatbotException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chatbot/Exception/ChatbotException.php', + 'Aws\\ChimeSDKIdentity\\ChimeSDKIdentityClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKIdentity/ChimeSDKIdentityClient.php', + 'Aws\\ChimeSDKIdentity\\Exception\\ChimeSDKIdentityException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKIdentity/Exception/ChimeSDKIdentityException.php', + 'Aws\\ChimeSDKMediaPipelines\\ChimeSDKMediaPipelinesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.php', + 'Aws\\ChimeSDKMediaPipelines\\Exception\\ChimeSDKMediaPipelinesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/Exception/ChimeSDKMediaPipelinesException.php', + 'Aws\\ChimeSDKMeetings\\ChimeSDKMeetingsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMeetings/ChimeSDKMeetingsClient.php', + 'Aws\\ChimeSDKMeetings\\Exception\\ChimeSDKMeetingsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMeetings/Exception/ChimeSDKMeetingsException.php', + 'Aws\\ChimeSDKMessaging\\ChimeSDKMessagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMessaging/ChimeSDKMessagingClient.php', + 'Aws\\ChimeSDKMessaging\\Exception\\ChimeSDKMessagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMessaging/Exception/ChimeSDKMessagingException.php', + 'Aws\\ChimeSDKVoice\\ChimeSDKVoiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKVoice/ChimeSDKVoiceClient.php', + 'Aws\\ChimeSDKVoice\\Exception\\ChimeSDKVoiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKVoice/Exception/ChimeSDKVoiceException.php', 'Aws\\Chime\\ChimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chime/ChimeClient.php', 'Aws\\Chime\\Exception\\ChimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chime/Exception/ChimeException.php', + 'Aws\\CleanRoomsML\\CleanRoomsMLClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRoomsML/CleanRoomsMLClient.php', + 'Aws\\CleanRoomsML\\Exception\\CleanRoomsMLException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRoomsML/Exception/CleanRoomsMLException.php', + 'Aws\\CleanRooms\\CleanRoomsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRooms/CleanRoomsClient.php', + 'Aws\\CleanRooms\\Exception\\CleanRoomsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRooms/Exception/CleanRoomsException.php', 'Aws\\ClientResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientResolver.php', 'Aws\\ClientSideMonitoring\\AbstractMonitoringMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php', 'Aws\\ClientSideMonitoring\\ApiCallAttemptMonitoringMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php', @@ -473,10 +563,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ClientSideMonitoring\\MonitoringMiddlewareInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/MonitoringMiddlewareInterface.php', 'Aws\\Cloud9\\Cloud9Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Cloud9/Cloud9Client.php', 'Aws\\Cloud9\\Exception\\Cloud9Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Cloud9/Exception/Cloud9Exception.php', + 'Aws\\CloudControlApi\\CloudControlApiClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudControlApi/CloudControlApiClient.php', + 'Aws\\CloudControlApi\\Exception\\CloudControlApiException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudControlApi/Exception/CloudControlApiException.php', 'Aws\\CloudDirectory\\CloudDirectoryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudDirectory/CloudDirectoryClient.php', 'Aws\\CloudDirectory\\Exception\\CloudDirectoryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudDirectory/Exception/CloudDirectoryException.php', 'Aws\\CloudFormation\\CloudFormationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFormation/CloudFormationClient.php', 'Aws\\CloudFormation\\Exception\\CloudFormationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFormation/Exception/CloudFormationException.php', + 'Aws\\CloudFrontKeyValueStore\\CloudFrontKeyValueStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.php', + 'Aws\\CloudFrontKeyValueStore\\Exception\\CloudFrontKeyValueStoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/Exception/CloudFrontKeyValueStoreException.php', 'Aws\\CloudFront\\CloudFrontClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/CloudFrontClient.php', 'Aws\\CloudFront\\CookieSigner' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/CookieSigner.php', 'Aws\\CloudFront\\Exception\\CloudFrontException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/Exception/CloudFrontException.php', @@ -490,6 +584,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\CloudSearchDomain\\Exception\\CloudSearchDomainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearchDomain/Exception/CloudSearchDomainException.php', 'Aws\\CloudSearch\\CloudSearchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearch/CloudSearchClient.php', 'Aws\\CloudSearch\\Exception\\CloudSearchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearch/Exception/CloudSearchException.php', + 'Aws\\CloudTrailData\\CloudTrailDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrailData/CloudTrailDataClient.php', + 'Aws\\CloudTrailData\\Exception\\CloudTrailDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrailData/Exception/CloudTrailDataException.php', 'Aws\\CloudTrail\\CloudTrailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/CloudTrailClient.php', 'Aws\\CloudTrail\\Exception\\CloudTrailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/Exception/CloudTrailException.php', 'Aws\\CloudTrail\\LogFileIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/LogFileIterator.php', @@ -497,22 +593,32 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\CloudTrail\\LogRecordIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/LogRecordIterator.php', 'Aws\\CloudWatchEvents\\CloudWatchEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvents/CloudWatchEventsClient.php', 'Aws\\CloudWatchEvents\\Exception\\CloudWatchEventsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvents/Exception/CloudWatchEventsException.php', + 'Aws\\CloudWatchEvidently\\CloudWatchEvidentlyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvidently/CloudWatchEvidentlyClient.php', + 'Aws\\CloudWatchEvidently\\Exception\\CloudWatchEvidentlyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvidently/Exception/CloudWatchEvidentlyException.php', 'Aws\\CloudWatchLogs\\CloudWatchLogsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchLogs/CloudWatchLogsClient.php', 'Aws\\CloudWatchLogs\\Exception\\CloudWatchLogsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchLogs/Exception/CloudWatchLogsException.php', + 'Aws\\CloudWatchRUM\\CloudWatchRUMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchRUM/CloudWatchRUMClient.php', + 'Aws\\CloudWatchRUM\\Exception\\CloudWatchRUMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchRUM/Exception/CloudWatchRUMException.php', 'Aws\\CloudWatch\\CloudWatchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatch/CloudWatchClient.php', 'Aws\\CloudWatch\\Exception\\CloudWatchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatch/Exception/CloudWatchException.php', 'Aws\\CodeArtifact\\CodeArtifactClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeArtifact/CodeArtifactClient.php', 'Aws\\CodeArtifact\\Exception\\CodeArtifactException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeArtifact/Exception/CodeArtifactException.php', 'Aws\\CodeBuild\\CodeBuildClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeBuild/CodeBuildClient.php', 'Aws\\CodeBuild\\Exception\\CodeBuildException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeBuild/Exception/CodeBuildException.php', + 'Aws\\CodeCatalyst\\CodeCatalystClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCatalyst/CodeCatalystClient.php', + 'Aws\\CodeCatalyst\\Exception\\CodeCatalystException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCatalyst/Exception/CodeCatalystException.php', 'Aws\\CodeCommit\\CodeCommitClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCommit/CodeCommitClient.php', 'Aws\\CodeCommit\\Exception\\CodeCommitException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCommit/Exception/CodeCommitException.php', + 'Aws\\CodeConnections\\CodeConnectionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeConnections/CodeConnectionsClient.php', + 'Aws\\CodeConnections\\Exception\\CodeConnectionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeConnections/Exception/CodeConnectionsException.php', 'Aws\\CodeDeploy\\CodeDeployClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeDeploy/CodeDeployClient.php', 'Aws\\CodeDeploy\\Exception\\CodeDeployException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeDeploy/Exception/CodeDeployException.php', 'Aws\\CodeGuruProfiler\\CodeGuruProfilerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruProfiler/CodeGuruProfilerClient.php', 'Aws\\CodeGuruProfiler\\Exception\\CodeGuruProfilerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruProfiler/Exception/CodeGuruProfilerException.php', 'Aws\\CodeGuruReviewer\\CodeGuruReviewerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruReviewer/CodeGuruReviewerClient.php', 'Aws\\CodeGuruReviewer\\Exception\\CodeGuruReviewerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruReviewer/Exception/CodeGuruReviewerException.php', + 'Aws\\CodeGuruSecurity\\CodeGuruSecurityClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruSecurity/CodeGuruSecurityClient.php', + 'Aws\\CodeGuruSecurity\\Exception\\CodeGuruSecurityException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruSecurity/Exception/CodeGuruSecurityException.php', 'Aws\\CodePipeline\\CodePipelineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodePipeline/CodePipelineClient.php', 'Aws\\CodePipeline\\Exception\\CodePipelineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodePipeline/Exception/CodePipelineException.php', 'Aws\\CodeStarNotifications\\CodeStarNotificationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeStarNotifications/CodeStarNotificationsClient.php', @@ -535,49 +641,77 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ComprehendMedical\\Exception\\ComprehendMedicalException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComprehendMedical/Exception/ComprehendMedicalException.php', 'Aws\\Comprehend\\ComprehendClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Comprehend/ComprehendClient.php', 'Aws\\Comprehend\\Exception\\ComprehendException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Comprehend/Exception/ComprehendException.php', + 'Aws\\ComputeOptimizerAutomation\\ComputeOptimizerAutomationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/ComputeOptimizerAutomationClient.php', + 'Aws\\ComputeOptimizerAutomation\\Exception\\ComputeOptimizerAutomationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/Exception/ComputeOptimizerAutomationException.php', 'Aws\\ComputeOptimizer\\ComputeOptimizerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizer/ComputeOptimizerClient.php', 'Aws\\ComputeOptimizer\\Exception\\ComputeOptimizerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizer/Exception/ComputeOptimizerException.php', 'Aws\\ConfigService\\ConfigServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigService/ConfigServiceClient.php', 'Aws\\ConfigService\\Exception\\ConfigServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigService/Exception/ConfigServiceException.php', 'Aws\\ConfigurationProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigurationProviderInterface.php', + 'Aws\\Configuration\\ConfigurationResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Configuration/ConfigurationResolver.php', + 'Aws\\ConnectCampaignService\\ConnectCampaignServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignService/ConnectCampaignServiceClient.php', + 'Aws\\ConnectCampaignService\\Exception\\ConnectCampaignServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignService/Exception/ConnectCampaignServiceException.php', + 'Aws\\ConnectCampaignsV2\\ConnectCampaignsV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignsV2/ConnectCampaignsV2Client.php', + 'Aws\\ConnectCampaignsV2\\Exception\\ConnectCampaignsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignsV2/Exception/ConnectCampaignsV2Exception.php', + 'Aws\\ConnectCases\\ConnectCasesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCases/ConnectCasesClient.php', + 'Aws\\ConnectCases\\Exception\\ConnectCasesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCases/Exception/ConnectCasesException.php', 'Aws\\ConnectContactLens\\ConnectContactLensClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectContactLens/ConnectContactLensClient.php', 'Aws\\ConnectContactLens\\Exception\\ConnectContactLensException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectContactLens/Exception/ConnectContactLensException.php', 'Aws\\ConnectParticipant\\ConnectParticipantClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectParticipant/ConnectParticipantClient.php', 'Aws\\ConnectParticipant\\Exception\\ConnectParticipantException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectParticipant/Exception/ConnectParticipantException.php', + 'Aws\\ConnectWisdomService\\ConnectWisdomServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectWisdomService/ConnectWisdomServiceClient.php', + 'Aws\\ConnectWisdomService\\Exception\\ConnectWisdomServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectWisdomService/Exception/ConnectWisdomServiceException.php', 'Aws\\Connect\\ConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Connect/ConnectClient.php', 'Aws\\Connect\\Exception\\ConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Connect/Exception/ConnectException.php', + 'Aws\\ControlCatalog\\ControlCatalogClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlCatalog/ControlCatalogClient.php', + 'Aws\\ControlCatalog\\Exception\\ControlCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlCatalog/Exception/ControlCatalogException.php', + 'Aws\\ControlTower\\ControlTowerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlTower/ControlTowerClient.php', + 'Aws\\ControlTower\\Exception\\ControlTowerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlTower/Exception/ControlTowerException.php', 'Aws\\CostExplorer\\CostExplorerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostExplorer/CostExplorerClient.php', 'Aws\\CostExplorer\\Exception\\CostExplorerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostExplorer/Exception/CostExplorerException.php', + 'Aws\\CostOptimizationHub\\CostOptimizationHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostOptimizationHub/CostOptimizationHubClient.php', + 'Aws\\CostOptimizationHub\\Exception\\CostOptimizationHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostOptimizationHub/Exception/CostOptimizationHubException.php', 'Aws\\CostandUsageReportService\\CostandUsageReportServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostandUsageReportService/CostandUsageReportServiceClient.php', 'Aws\\CostandUsageReportService\\Exception\\CostandUsageReportServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostandUsageReportService/Exception/CostandUsageReportServiceException.php', 'Aws\\Credentials\\AssumeRoleCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/AssumeRoleCredentialProvider.php', 'Aws\\Credentials\\AssumeRoleWithWebIdentityCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/AssumeRoleWithWebIdentityCredentialProvider.php', 'Aws\\Credentials\\CredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialProvider.php', + 'Aws\\Credentials\\CredentialSources' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialSources.php', 'Aws\\Credentials\\Credentials' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/Credentials.php', 'Aws\\Credentials\\CredentialsInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialsInterface.php', + 'Aws\\Credentials\\CredentialsUtils' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialsUtils.php', 'Aws\\Credentials\\EcsCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/EcsCredentialProvider.php', 'Aws\\Credentials\\InstanceProfileProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php', + 'Aws\\Credentials\\LoginCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/LoginCredentialProvider.php', 'Aws\\Crypto\\AbstractCryptoClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClient.php', 'Aws\\Crypto\\AbstractCryptoClientV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV2.php', + 'Aws\\Crypto\\AbstractCryptoClientV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV3.php', 'Aws\\Crypto\\AesDecryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesDecryptingStream.php', 'Aws\\Crypto\\AesEncryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesEncryptingStream.php', 'Aws\\Crypto\\AesGcmDecryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesGcmDecryptingStream.php', 'Aws\\Crypto\\AesGcmEncryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesGcmEncryptingStream.php', 'Aws\\Crypto\\AesStreamInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesStreamInterface.php', 'Aws\\Crypto\\AesStreamInterfaceV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesStreamInterfaceV2.php', + 'Aws\\Crypto\\AlgorithmConstants' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AlgorithmConstants.php', + 'Aws\\Crypto\\AlgorithmSuite' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AlgorithmSuite.php', 'Aws\\Crypto\\Cipher\\Cbc' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/Cbc.php', 'Aws\\Crypto\\Cipher\\CipherBuilderTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherBuilderTrait.php', 'Aws\\Crypto\\Cipher\\CipherMethod' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php', 'Aws\\Crypto\\DecryptionTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTrait.php', 'Aws\\Crypto\\DecryptionTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV2.php', + 'Aws\\Crypto\\DecryptionTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV3.php', 'Aws\\Crypto\\EncryptionTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTrait.php', 'Aws\\Crypto\\EncryptionTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV2.php', + 'Aws\\Crypto\\EncryptionTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV3.php', 'Aws\\Crypto\\KmsMaterialsProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProvider.php', 'Aws\\Crypto\\KmsMaterialsProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV2.php', + 'Aws\\Crypto\\KmsMaterialsProviderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV3.php', 'Aws\\Crypto\\MaterialsProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProvider.php', 'Aws\\Crypto\\MaterialsProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterface.php', 'Aws\\Crypto\\MaterialsProviderInterfaceV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php', + 'Aws\\Crypto\\MaterialsProviderInterfaceV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV3.php', 'Aws\\Crypto\\MaterialsProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV2.php', + 'Aws\\Crypto\\MaterialsProviderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV3.php', 'Aws\\Crypto\\MetadataEnvelope' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MetadataEnvelope.php', 'Aws\\Crypto\\MetadataStrategyInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MetadataStrategyInterface.php', 'Aws\\Crypto\\Polyfill\\AesGcm' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Polyfill/AesGcm.php', @@ -591,14 +725,25 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\DAX\\Exception\\DAXException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DAX/Exception/DAXException.php', 'Aws\\DLM\\DLMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DLM/DLMClient.php', 'Aws\\DLM\\Exception\\DLMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DLM/Exception/DLMException.php', + 'Aws\\DSQL\\AuthTokenGenerator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/AuthTokenGenerator.php', + 'Aws\\DSQL\\DSQLClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/DSQLClient.php', + 'Aws\\DSQL\\Exception\\DSQLException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/Exception/DSQLException.php', 'Aws\\DataExchange\\DataExchangeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataExchange/DataExchangeClient.php', 'Aws\\DataExchange\\Exception\\DataExchangeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataExchange/Exception/DataExchangeException.php', 'Aws\\DataPipeline\\DataPipelineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataPipeline/DataPipelineClient.php', 'Aws\\DataPipeline\\Exception\\DataPipelineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataPipeline/Exception/DataPipelineException.php', 'Aws\\DataSync\\DataSyncClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataSync/DataSyncClient.php', 'Aws\\DataSync\\Exception\\DataSyncException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataSync/Exception/DataSyncException.php', + 'Aws\\DataZone\\DataZoneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataZone/DataZoneClient.php', + 'Aws\\DataZone\\Exception\\DataZoneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataZone/Exception/DataZoneException.php', 'Aws\\DatabaseMigrationService\\DatabaseMigrationServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DatabaseMigrationService/DatabaseMigrationServiceClient.php', 'Aws\\DatabaseMigrationService\\Exception\\DatabaseMigrationServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php', + 'Aws\\Deadline\\DeadlineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Deadline/DeadlineClient.php', + 'Aws\\Deadline\\Exception\\DeadlineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Deadline/Exception/DeadlineException.php', + 'Aws\\DefaultsMode\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/Configuration.php', + 'Aws\\DefaultsMode\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationInterface.php', + 'Aws\\DefaultsMode\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationProvider.php', + 'Aws\\DefaultsMode\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/Exception/ConfigurationException.php', 'Aws\\Detective\\DetectiveClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Detective/DetectiveClient.php', 'Aws\\Detective\\Exception\\DetectiveException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Detective/Exception/DetectiveException.php', 'Aws\\DevOpsGuru\\DevOpsGuruClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DevOpsGuru/DevOpsGuruClient.php', @@ -607,8 +752,12 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\DeviceFarm\\Exception\\DeviceFarmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DeviceFarm/Exception/DeviceFarmException.php', 'Aws\\DirectConnect\\DirectConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectConnect/DirectConnectClient.php', 'Aws\\DirectConnect\\Exception\\DirectConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectConnect/Exception/DirectConnectException.php', + 'Aws\\DirectoryServiceData\\DirectoryServiceDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryServiceData/DirectoryServiceDataClient.php', + 'Aws\\DirectoryServiceData\\Exception\\DirectoryServiceDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryServiceData/Exception/DirectoryServiceDataException.php', 'Aws\\DirectoryService\\DirectoryServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryService/DirectoryServiceClient.php', 'Aws\\DirectoryService\\Exception\\DirectoryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryService/Exception/DirectoryServiceException.php', + 'Aws\\DocDBElastic\\DocDBElasticClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDBElastic/DocDBElasticClient.php', + 'Aws\\DocDBElastic\\Exception\\DocDBElasticException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDBElastic/Exception/DocDBElasticException.php', 'Aws\\DocDB\\DocDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDB/DocDBClient.php', 'Aws\\DocDB\\Exception\\DocDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDB/Exception/DocDBException.php', 'Aws\\DoctrineCacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DoctrineCacheAdapter.php', @@ -632,10 +781,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\EC2InstanceConnect\\Exception\\EC2InstanceConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EC2InstanceConnect/Exception/EC2InstanceConnectException.php', 'Aws\\ECRPublic\\ECRPublicClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ECRPublic/ECRPublicClient.php', 'Aws\\ECRPublic\\Exception\\ECRPublicException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ECRPublic/Exception/ECRPublicException.php', + 'Aws\\EKSAuth\\EKSAuthClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKSAuth/EKSAuthClient.php', + 'Aws\\EKSAuth\\Exception\\EKSAuthException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKSAuth/Exception/EKSAuthException.php', 'Aws\\EKS\\EKSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKS/EKSClient.php', 'Aws\\EKS\\Exception\\EKSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKS/Exception/EKSException.php', 'Aws\\EMRContainers\\EMRContainersClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRContainers/EMRContainersClient.php', 'Aws\\EMRContainers\\Exception\\EMRContainersException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRContainers/Exception/EMRContainersException.php', + 'Aws\\EMRServerless\\EMRServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRServerless/EMRServerlessClient.php', + 'Aws\\EMRServerless\\Exception\\EMRServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRServerless/Exception/EMRServerlessException.php', 'Aws\\Ec2\\Ec2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ec2/Ec2Client.php', 'Aws\\Ec2\\Exception\\Ec2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ec2/Exception/Ec2Exception.php', 'Aws\\Ecr\\EcrClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ecr/EcrClient.php', @@ -667,14 +820,41 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\EndpointDiscovery\\EndpointList' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointDiscovery/EndpointList.php', 'Aws\\EndpointDiscovery\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointDiscovery/Exception/ConfigurationException.php', 'Aws\\EndpointParameterMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointParameterMiddleware.php', + 'Aws\\EndpointV2\\EndpointDefinitionProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointDefinitionProvider.php', + 'Aws\\EndpointV2\\EndpointProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointProviderV2.php', + 'Aws\\EndpointV2\\EndpointV2Middleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2Middleware.php', + 'Aws\\EndpointV2\\EndpointV2SerializerTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2SerializerTrait.php', + 'Aws\\EndpointV2\\Rule\\AbstractRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/AbstractRule.php', + 'Aws\\EndpointV2\\Rule\\EndpointRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/EndpointRule.php', + 'Aws\\EndpointV2\\Rule\\ErrorRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/ErrorRule.php', + 'Aws\\EndpointV2\\Rule\\RuleCreator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php', + 'Aws\\EndpointV2\\Rule\\TreeRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/TreeRule.php', + 'Aws\\EndpointV2\\Ruleset\\Ruleset' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/Ruleset.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetEndpoint' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetEndpoint.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetParameter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetParameter.php', + 'Aws\\EndpointV2\\Ruleset\\RulesetStandardLibrary' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetStandardLibrary.php', 'Aws\\Endpoint\\EndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/EndpointProvider.php', 'Aws\\Endpoint\\Partition' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/Partition.php', 'Aws\\Endpoint\\PartitionEndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PartitionEndpointProvider.php', 'Aws\\Endpoint\\PartitionInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PartitionInterface.php', 'Aws\\Endpoint\\PatternEndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PatternEndpointProvider.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Configuration.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationInterface.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationProvider.php', + 'Aws\\Endpoint\\UseDualstackEndpoint\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Exception/ConfigurationException.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Configuration.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationInterface.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationProvider.php', + 'Aws\\Endpoint\\UseFipsEndpoint\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Exception/ConfigurationException.php', + 'Aws\\EntityResolution\\EntityResolutionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EntityResolution/EntityResolutionClient.php', + 'Aws\\EntityResolution\\Exception\\EntityResolutionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EntityResolution/Exception/EntityResolutionException.php', 'Aws\\EventBridge\\EventBridgeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/EventBridgeClient.php', + 'Aws\\EventBridge\\EventBridgeEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/EventBridgeEndpointMiddleware.php', 'Aws\\EventBridge\\Exception\\EventBridgeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/Exception/EventBridgeException.php', + 'Aws\\Evs\\EvsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Evs/EvsClient.php', + 'Aws\\Evs\\Exception\\EvsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Evs/Exception/EvsException.php', 'Aws\\Exception\\AwsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/AwsException.php', + 'Aws\\Exception\\CommonRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CommonRuntimeException.php', 'Aws\\Exception\\CouldNotCreateChecksumException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php', 'Aws\\Exception\\CredentialsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CredentialsException.php', 'Aws\\Exception\\CryptoException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CryptoException.php', @@ -684,6 +864,7 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Exception\\InvalidJsonException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/InvalidJsonException.php', 'Aws\\Exception\\InvalidRegionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/InvalidRegionException.php', 'Aws\\Exception\\MultipartUploadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/MultipartUploadException.php', + 'Aws\\Exception\\TokenException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/TokenException.php', 'Aws\\Exception\\UnresolvedApiException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedApiException.php', 'Aws\\Exception\\UnresolvedEndpointException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedEndpointException.php', 'Aws\\Exception\\UnresolvedSignatureException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedSignatureException.php', @@ -693,6 +874,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\FMS\\FMSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FMS/FMSClient.php', 'Aws\\FSx\\Exception\\FSxException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FSx/Exception/FSxException.php', 'Aws\\FSx\\FSxClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FSx/FSxClient.php', + 'Aws\\FinSpaceData\\Exception\\FinSpaceDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FinSpaceData/Exception/FinSpaceDataException.php', + 'Aws\\FinSpaceData\\FinSpaceDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FinSpaceData/FinSpaceDataClient.php', 'Aws\\Firehose\\Exception\\FirehoseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Firehose/Exception/FirehoseException.php', 'Aws\\Firehose\\FirehoseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Firehose/FirehoseClient.php', 'Aws\\ForecastQueryService\\Exception\\ForecastQueryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ForecastQueryService/Exception/ForecastQueryServiceException.php', @@ -701,8 +884,18 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ForecastService\\ForecastServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ForecastService/ForecastServiceClient.php', 'Aws\\FraudDetector\\Exception\\FraudDetectorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FraudDetector/Exception/FraudDetectorException.php', 'Aws\\FraudDetector\\FraudDetectorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FraudDetector/FraudDetectorClient.php', + 'Aws\\FreeTier\\Exception\\FreeTierException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FreeTier/Exception/FreeTierException.php', + 'Aws\\FreeTier\\FreeTierClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FreeTier/FreeTierClient.php', + 'Aws\\GameLiftStreams\\Exception\\GameLiftStreamsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLiftStreams/Exception/GameLiftStreamsException.php', + 'Aws\\GameLiftStreams\\GameLiftStreamsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLiftStreams/GameLiftStreamsClient.php', 'Aws\\GameLift\\Exception\\GameLiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLift/Exception/GameLiftException.php', 'Aws\\GameLift\\GameLiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLift/GameLiftClient.php', + 'Aws\\GeoMaps\\Exception\\GeoMapsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoMaps/Exception/GeoMapsException.php', + 'Aws\\GeoMaps\\GeoMapsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoMaps/GeoMapsClient.php', + 'Aws\\GeoPlaces\\Exception\\GeoPlacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoPlaces/Exception/GeoPlacesException.php', + 'Aws\\GeoPlaces\\GeoPlacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoPlaces/GeoPlacesClient.php', + 'Aws\\GeoRoutes\\Exception\\GeoRoutesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoRoutes/Exception/GeoRoutesException.php', + 'Aws\\GeoRoutes\\GeoRoutesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoRoutes/GeoRoutesClient.php', 'Aws\\Glacier\\Exception\\GlacierException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/Exception/GlacierException.php', 'Aws\\Glacier\\GlacierClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/GlacierClient.php', 'Aws\\Glacier\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/MultipartUploader.php', @@ -726,6 +919,7 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Handler\\GuzzleV5\\GuzzleStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV5/GuzzleStream.php', 'Aws\\Handler\\GuzzleV5\\PsrStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV5/PsrStream.php', 'Aws\\Handler\\GuzzleV6\\GuzzleHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php', + 'Aws\\Handler\\Guzzle\\GuzzleHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/Guzzle/GuzzleHandler.php', 'Aws\\HasDataTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HasDataTrait.php', 'Aws\\HasMonitoringEventsTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php', 'Aws\\HashInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HashInterface.php', @@ -737,6 +931,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\History' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/History.php', 'Aws\\Honeycode\\Exception\\HoneycodeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Honeycode/Exception/HoneycodeException.php', 'Aws\\Honeycode\\HoneycodeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Honeycode/HoneycodeClient.php', + 'Aws\\IVSRealTime\\Exception\\IVSRealTimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVSRealTime/Exception/IVSRealTimeException.php', + 'Aws\\IVSRealTime\\IVSRealTimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVSRealTime/IVSRealTimeClient.php', 'Aws\\IVS\\Exception\\IVSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVS/Exception/IVSException.php', 'Aws\\IVS\\IVSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVS/IVSClient.php', 'Aws\\Iam\\Exception\\IamException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iam/Exception/IamException.php', @@ -744,11 +940,24 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\IdempotencyTokenMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdempotencyTokenMiddleware.php', 'Aws\\IdentityStore\\Exception\\IdentityStoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdentityStore/Exception/IdentityStoreException.php', 'Aws\\IdentityStore\\IdentityStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdentityStore/IdentityStoreClient.php', + 'Aws\\Identity\\AwsCredentialIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/AwsCredentialIdentity.php', + 'Aws\\Identity\\BearerTokenIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/BearerTokenIdentity.php', + 'Aws\\Identity\\IdentityInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/IdentityInterface.php', + 'Aws\\Identity\\S3\\S3ExpressIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentity.php', + 'Aws\\Identity\\S3\\S3ExpressIdentityProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentityProvider.php', 'Aws\\ImportExport\\Exception\\ImportExportException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ImportExport/Exception/ImportExportException.php', 'Aws\\ImportExport\\ImportExportClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ImportExport/ImportExportClient.php', 'Aws\\InputValidationMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InputValidationMiddleware.php', + 'Aws\\Inspector2\\Exception\\Inspector2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector2/Exception/Inspector2Exception.php', + 'Aws\\Inspector2\\Inspector2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector2/Inspector2Client.php', + 'Aws\\InspectorScan\\Exception\\InspectorScanException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InspectorScan/Exception/InspectorScanException.php', + 'Aws\\InspectorScan\\InspectorScanClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InspectorScan/InspectorScanClient.php', 'Aws\\Inspector\\Exception\\InspectorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector/Exception/InspectorException.php', 'Aws\\Inspector\\InspectorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector/InspectorClient.php', + 'Aws\\InternetMonitor\\Exception\\InternetMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InternetMonitor/Exception/InternetMonitorException.php', + 'Aws\\InternetMonitor\\InternetMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InternetMonitor/InternetMonitorClient.php', + 'Aws\\Invoicing\\Exception\\InvoicingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Invoicing/Exception/InvoicingException.php', + 'Aws\\Invoicing\\InvoicingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Invoicing/InvoicingClient.php', 'Aws\\IoT1ClickDevicesService\\Exception\\IoT1ClickDevicesServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php', 'Aws\\IoT1ClickDevicesService\\IoT1ClickDevicesServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php', 'Aws\\IoT1ClickProjects\\Exception\\IoT1ClickProjectsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php', @@ -763,14 +972,20 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\IoTEvents\\IoTEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTEvents/IoTEventsClient.php', 'Aws\\IoTFleetHub\\Exception\\IoTFleetHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetHub/Exception/IoTFleetHubException.php', 'Aws\\IoTFleetHub\\IoTFleetHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetHub/IoTFleetHubClient.php', + 'Aws\\IoTFleetWise\\Exception\\IoTFleetWiseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetWise/Exception/IoTFleetWiseException.php', + 'Aws\\IoTFleetWise\\IoTFleetWiseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetWise/IoTFleetWiseClient.php', 'Aws\\IoTJobsDataPlane\\Exception\\IoTJobsDataPlaneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php', 'Aws\\IoTJobsDataPlane\\IoTJobsDataPlaneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTJobsDataPlane/IoTJobsDataPlaneClient.php', + 'Aws\\IoTManagedIntegrations\\Exception\\IoTManagedIntegrationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTManagedIntegrations/Exception/IoTManagedIntegrationsException.php', + 'Aws\\IoTManagedIntegrations\\IoTManagedIntegrationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTManagedIntegrations/IoTManagedIntegrationsClient.php', 'Aws\\IoTSecureTunneling\\Exception\\IoTSecureTunnelingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSecureTunneling/Exception/IoTSecureTunnelingException.php', 'Aws\\IoTSecureTunneling\\IoTSecureTunnelingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSecureTunneling/IoTSecureTunnelingClient.php', 'Aws\\IoTSiteWise\\Exception\\IoTSiteWiseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSiteWise/Exception/IoTSiteWiseException.php', 'Aws\\IoTSiteWise\\IoTSiteWiseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSiteWise/IoTSiteWiseClient.php', 'Aws\\IoTThingsGraph\\Exception\\IoTThingsGraphException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTThingsGraph/Exception/IoTThingsGraphException.php', 'Aws\\IoTThingsGraph\\IoTThingsGraphClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTThingsGraph/IoTThingsGraphClient.php', + 'Aws\\IoTTwinMaker\\Exception\\IoTTwinMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTTwinMaker/Exception/IoTTwinMakerException.php', + 'Aws\\IoTTwinMaker\\IoTTwinMakerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTTwinMaker/IoTTwinMakerClient.php', 'Aws\\IoTWireless\\Exception\\IoTWirelessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTWireless/Exception/IoTWirelessException.php', 'Aws\\IoTWireless\\IoTWirelessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTWireless/IoTWirelessClient.php', 'Aws\\IotDataPlane\\Exception\\IotDataPlaneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IotDataPlane/Exception/IotDataPlaneException.php', @@ -778,8 +993,16 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Iot\\Exception\\IotException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iot/Exception/IotException.php', 'Aws\\Iot\\IotClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iot/IotClient.php', 'Aws\\JsonCompiler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/JsonCompiler.php', + 'Aws\\KafkaConnect\\Exception\\KafkaConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KafkaConnect/Exception/KafkaConnectException.php', + 'Aws\\KafkaConnect\\KafkaConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KafkaConnect/KafkaConnectClient.php', 'Aws\\Kafka\\Exception\\KafkaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php', 'Aws\\Kafka\\KafkaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kafka/KafkaClient.php', + 'Aws\\KendraRanking\\Exception\\KendraRankingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KendraRanking/Exception/KendraRankingException.php', + 'Aws\\KendraRanking\\KendraRankingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KendraRanking/KendraRankingClient.php', + 'Aws\\KeyspacesStreams\\Exception\\KeyspacesStreamsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KeyspacesStreams/Exception/KeyspacesStreamsException.php', + 'Aws\\KeyspacesStreams\\KeyspacesStreamsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KeyspacesStreams/KeyspacesStreamsClient.php', + 'Aws\\Keyspaces\\Exception\\KeyspacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Keyspaces/Exception/KeyspacesException.php', + 'Aws\\Keyspaces\\KeyspacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Keyspaces/KeyspacesClient.php', 'Aws\\KinesisAnalyticsV2\\Exception\\KinesisAnalyticsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php', 'Aws\\KinesisAnalyticsV2\\KinesisAnalyticsV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php', 'Aws\\KinesisAnalytics\\Exception\\KinesisAnalyticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalytics/Exception/KinesisAnalyticsException.php', @@ -790,6 +1013,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\KinesisVideoMedia\\KinesisVideoMediaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoMedia/KinesisVideoMediaClient.php', 'Aws\\KinesisVideoSignalingChannels\\Exception\\KinesisVideoSignalingChannelsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/Exception/KinesisVideoSignalingChannelsException.php', 'Aws\\KinesisVideoSignalingChannels\\KinesisVideoSignalingChannelsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/KinesisVideoSignalingChannelsClient.php', + 'Aws\\KinesisVideoWebRTCStorage\\Exception\\KinesisVideoWebRTCStorageException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/Exception/KinesisVideoWebRTCStorageException.php', + 'Aws\\KinesisVideoWebRTCStorage\\KinesisVideoWebRTCStorageClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.php', 'Aws\\KinesisVideo\\Exception\\KinesisVideoException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideo/Exception/KinesisVideoException.php', 'Aws\\KinesisVideo\\KinesisVideoClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideo/KinesisVideoClient.php', 'Aws\\Kinesis\\Exception\\KinesisException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kinesis/Exception/KinesisException.php', @@ -800,6 +1025,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\LakeFormation\\LakeFormationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LakeFormation/LakeFormationClient.php', 'Aws\\Lambda\\Exception\\LambdaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lambda/Exception/LambdaException.php', 'Aws\\Lambda\\LambdaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lambda/LambdaClient.php', + 'Aws\\LaunchWizard\\Exception\\LaunchWizardException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LaunchWizard/Exception/LaunchWizardException.php', + 'Aws\\LaunchWizard\\LaunchWizardClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LaunchWizard/LaunchWizardClient.php', 'Aws\\LexModelBuildingService\\Exception\\LexModelBuildingServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelBuildingService/Exception/LexModelBuildingServiceException.php', 'Aws\\LexModelBuildingService\\LexModelBuildingServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelBuildingService/LexModelBuildingServiceClient.php', 'Aws\\LexModelsV2\\Exception\\LexModelsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelsV2/Exception/LexModelsV2Exception.php', @@ -808,19 +1035,29 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\LexRuntimeService\\LexRuntimeServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeService/LexRuntimeServiceClient.php', 'Aws\\LexRuntimeV2\\Exception\\LexRuntimeV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeV2/Exception/LexRuntimeV2Exception.php', 'Aws\\LexRuntimeV2\\LexRuntimeV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeV2/LexRuntimeV2Client.php', + 'Aws\\LicenseManagerLinuxSubscriptions\\Exception\\LicenseManagerLinuxSubscriptionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/Exception/LicenseManagerLinuxSubscriptionsException.php', + 'Aws\\LicenseManagerLinuxSubscriptions\\LicenseManagerLinuxSubscriptionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.php', + 'Aws\\LicenseManagerUserSubscriptions\\Exception\\LicenseManagerUserSubscriptionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/Exception/LicenseManagerUserSubscriptionsException.php', + 'Aws\\LicenseManagerUserSubscriptions\\LicenseManagerUserSubscriptionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.php', 'Aws\\LicenseManager\\Exception\\LicenseManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php', 'Aws\\LicenseManager\\LicenseManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManager/LicenseManagerClient.php', 'Aws\\Lightsail\\Exception\\LightsailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lightsail/Exception/LightsailException.php', 'Aws\\Lightsail\\LightsailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lightsail/LightsailClient.php', 'Aws\\LocationService\\Exception\\LocationServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LocationService/Exception/LocationServiceException.php', 'Aws\\LocationService\\LocationServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LocationService/LocationServiceClient.php', + 'Aws\\LookoutEquipment\\Exception\\LookoutEquipmentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutEquipment/Exception/LookoutEquipmentException.php', + 'Aws\\LookoutEquipment\\LookoutEquipmentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutEquipment/LookoutEquipmentClient.php', 'Aws\\LookoutforVision\\Exception\\LookoutforVisionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutforVision/Exception/LookoutforVisionException.php', 'Aws\\LookoutforVision\\LookoutforVisionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutforVision/LookoutforVisionClient.php', 'Aws\\LruArrayCache' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LruArrayCache.php', + 'Aws\\MPA\\Exception\\MPAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MPA/Exception/MPAException.php', + 'Aws\\MPA\\MPAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MPA/MPAClient.php', 'Aws\\MQ\\Exception\\MQException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MQ/Exception/MQException.php', 'Aws\\MQ\\MQClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MQ/MQClient.php', 'Aws\\MTurk\\Exception\\MTurkException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MTurk/Exception/MTurkException.php', 'Aws\\MTurk\\MTurkClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MTurk/MTurkClient.php', + 'Aws\\MWAAServerless\\Exception\\MWAAServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAAServerless/Exception/MWAAServerlessException.php', + 'Aws\\MWAAServerless\\MWAAServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAAServerless/MWAAServerlessClient.php', 'Aws\\MWAA\\Exception\\MWAAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAA/Exception/MWAAException.php', 'Aws\\MWAA\\MWAAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAA/MWAAClient.php', 'Aws\\MachineLearning\\Exception\\MachineLearningException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MachineLearning/Exception/MachineLearningException.php', @@ -829,22 +1066,38 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Macie2\\Macie2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie2/Macie2Client.php', 'Aws\\Macie\\Exception\\MacieException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie/Exception/MacieException.php', 'Aws\\Macie\\MacieClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie/MacieClient.php', + 'Aws\\MailManager\\Exception\\MailManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MailManager/Exception/MailManagerException.php', + 'Aws\\MailManager\\MailManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MailManager/MailManagerClient.php', + 'Aws\\MainframeModernization\\Exception\\MainframeModernizationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MainframeModernization/Exception/MainframeModernizationException.php', + 'Aws\\MainframeModernization\\MainframeModernizationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MainframeModernization/MainframeModernizationClient.php', + 'Aws\\ManagedBlockchainQuery\\Exception\\ManagedBlockchainQueryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/Exception/ManagedBlockchainQueryException.php', + 'Aws\\ManagedBlockchainQuery\\ManagedBlockchainQueryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/ManagedBlockchainQueryClient.php', 'Aws\\ManagedBlockchain\\Exception\\ManagedBlockchainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchain/Exception/ManagedBlockchainException.php', 'Aws\\ManagedBlockchain\\ManagedBlockchainClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchain/ManagedBlockchainClient.php', + 'Aws\\ManagedGrafana\\Exception\\ManagedGrafanaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedGrafana/Exception/ManagedGrafanaException.php', + 'Aws\\ManagedGrafana\\ManagedGrafanaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedGrafana/ManagedGrafanaClient.php', + 'Aws\\MarketplaceAgreement\\Exception\\MarketplaceAgreementException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceAgreement/Exception/MarketplaceAgreementException.php', + 'Aws\\MarketplaceAgreement\\MarketplaceAgreementClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceAgreement/MarketplaceAgreementClient.php', 'Aws\\MarketplaceCatalog\\Exception\\MarketplaceCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCatalog/Exception/MarketplaceCatalogException.php', 'Aws\\MarketplaceCatalog\\MarketplaceCatalogClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCatalog/MarketplaceCatalogClient.php', 'Aws\\MarketplaceCommerceAnalytics\\Exception\\MarketplaceCommerceAnalyticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php', 'Aws\\MarketplaceCommerceAnalytics\\MarketplaceCommerceAnalyticsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php', + 'Aws\\MarketplaceDeployment\\Exception\\MarketplaceDeploymentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceDeployment/Exception/MarketplaceDeploymentException.php', + 'Aws\\MarketplaceDeployment\\MarketplaceDeploymentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceDeployment/MarketplaceDeploymentClient.php', 'Aws\\MarketplaceEntitlementService\\Exception\\MarketplaceEntitlementServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php', 'Aws\\MarketplaceEntitlementService\\MarketplaceEntitlementServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php', 'Aws\\MarketplaceMetering\\Exception\\MarketplaceMeteringException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceMetering/Exception/MarketplaceMeteringException.php', 'Aws\\MarketplaceMetering\\MarketplaceMeteringClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceMetering/MarketplaceMeteringClient.php', + 'Aws\\MarketplaceReporting\\Exception\\MarketplaceReportingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceReporting/Exception/MarketplaceReportingException.php', + 'Aws\\MarketplaceReporting\\MarketplaceReportingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceReporting/MarketplaceReportingClient.php', 'Aws\\MediaConnect\\Exception\\MediaConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConnect/Exception/MediaConnectException.php', 'Aws\\MediaConnect\\MediaConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConnect/MediaConnectClient.php', 'Aws\\MediaConvert\\Exception\\MediaConvertException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConvert/Exception/MediaConvertException.php', 'Aws\\MediaConvert\\MediaConvertClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConvert/MediaConvertClient.php', 'Aws\\MediaLive\\Exception\\MediaLiveException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaLive/Exception/MediaLiveException.php', 'Aws\\MediaLive\\MediaLiveClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaLive/MediaLiveClient.php', + 'Aws\\MediaPackageV2\\Exception\\MediaPackageV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageV2/Exception/MediaPackageV2Exception.php', + 'Aws\\MediaPackageV2\\MediaPackageV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageV2/MediaPackageV2Client.php', 'Aws\\MediaPackageVod\\Exception\\MediaPackageVodException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageVod/Exception/MediaPackageVodException.php', 'Aws\\MediaPackageVod\\MediaPackageVodClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageVod/MediaPackageVodClient.php', 'Aws\\MediaPackage\\Exception\\MediaPackageException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackage/Exception/MediaPackageException.php', @@ -855,9 +1108,20 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\MediaStore\\MediaStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaStore/MediaStoreClient.php', 'Aws\\MediaTailor\\Exception\\MediaTailorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaTailor/Exception/MediaTailorException.php', 'Aws\\MediaTailor\\MediaTailorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaTailor/MediaTailorClient.php', + 'Aws\\MedicalImaging\\Exception\\MedicalImagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MedicalImaging/Exception/MedicalImagingException.php', + 'Aws\\MedicalImaging\\MedicalImagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MedicalImaging/MedicalImagingClient.php', + 'Aws\\MemoryDB\\Exception\\MemoryDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MemoryDB/Exception/MemoryDBException.php', + 'Aws\\MemoryDB\\MemoryDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MemoryDB/MemoryDBClient.php', + 'Aws\\MetricsBuilder' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MetricsBuilder.php', 'Aws\\Middleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Middleware.php', 'Aws\\MigrationHubConfig\\Exception\\MigrationHubConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubConfig/Exception/MigrationHubConfigException.php', 'Aws\\MigrationHubConfig\\MigrationHubConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubConfig/MigrationHubConfigClient.php', + 'Aws\\MigrationHubOrchestrator\\Exception\\MigrationHubOrchestratorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/Exception/MigrationHubOrchestratorException.php', + 'Aws\\MigrationHubOrchestrator\\MigrationHubOrchestratorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/MigrationHubOrchestratorClient.php', + 'Aws\\MigrationHubRefactorSpaces\\Exception\\MigrationHubRefactorSpacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/Exception/MigrationHubRefactorSpacesException.php', + 'Aws\\MigrationHubRefactorSpaces\\MigrationHubRefactorSpacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.php', + 'Aws\\MigrationHubStrategyRecommendations\\Exception\\MigrationHubStrategyRecommendationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/Exception/MigrationHubStrategyRecommendationsException.php', + 'Aws\\MigrationHubStrategyRecommendations\\MigrationHubStrategyRecommendationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/MigrationHubStrategyRecommendationsClient.php', 'Aws\\MigrationHub\\Exception\\MigrationHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHub/Exception/MigrationHubException.php', 'Aws\\MigrationHub\\MigrationHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHub/MigrationHubClient.php', 'Aws\\Mobile\\Exception\\MobileException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Mobile/Exception/MobileException.php', @@ -868,12 +1132,40 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Multipart\\AbstractUploadManager' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/AbstractUploadManager.php', 'Aws\\Multipart\\AbstractUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/AbstractUploader.php', 'Aws\\Multipart\\UploadState' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/UploadState.php', + 'Aws\\NeptuneGraph\\Exception\\NeptuneGraphException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NeptuneGraph/Exception/NeptuneGraphException.php', + 'Aws\\NeptuneGraph\\NeptuneGraphClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NeptuneGraph/NeptuneGraphClient.php', 'Aws\\Neptune\\Exception\\NeptuneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptune/Exception/NeptuneException.php', 'Aws\\Neptune\\NeptuneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptune/NeptuneClient.php', + 'Aws\\Neptunedata\\Exception\\NeptunedataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptunedata/Exception/NeptunedataException.php', + 'Aws\\Neptunedata\\NeptunedataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptunedata/NeptunedataClient.php', 'Aws\\NetworkFirewall\\Exception\\NetworkFirewallException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFirewall/Exception/NetworkFirewallException.php', 'Aws\\NetworkFirewall\\NetworkFirewallClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFirewall/NetworkFirewallClient.php', + 'Aws\\NetworkFlowMonitor\\Exception\\NetworkFlowMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFlowMonitor/Exception/NetworkFlowMonitorException.php', + 'Aws\\NetworkFlowMonitor\\NetworkFlowMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFlowMonitor/NetworkFlowMonitorClient.php', 'Aws\\NetworkManager\\Exception\\NetworkManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkManager/Exception/NetworkManagerException.php', 'Aws\\NetworkManager\\NetworkManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkManager/NetworkManagerClient.php', + 'Aws\\NetworkMonitor\\Exception\\NetworkMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkMonitor/Exception/NetworkMonitorException.php', + 'Aws\\NetworkMonitor\\NetworkMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkMonitor/NetworkMonitorClient.php', + 'Aws\\NotificationsContacts\\Exception\\NotificationsContactsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NotificationsContacts/Exception/NotificationsContactsException.php', + 'Aws\\NotificationsContacts\\NotificationsContactsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NotificationsContacts/NotificationsContactsClient.php', + 'Aws\\Notifications\\Exception\\NotificationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Notifications/Exception/NotificationsException.php', + 'Aws\\Notifications\\NotificationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Notifications/NotificationsClient.php', + 'Aws\\NovaAct\\Exception\\NovaActException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NovaAct/Exception/NovaActException.php', + 'Aws\\NovaAct\\NovaActClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NovaAct/NovaActClient.php', + 'Aws\\OAM\\Exception\\OAMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OAM/Exception/OAMException.php', + 'Aws\\OAM\\OAMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OAM/OAMClient.php', + 'Aws\\OSIS\\Exception\\OSISException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OSIS/Exception/OSISException.php', + 'Aws\\OSIS\\OSISClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OSIS/OSISClient.php', + 'Aws\\ObservabilityAdmin\\Exception\\ObservabilityAdminException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ObservabilityAdmin/Exception/ObservabilityAdminException.php', + 'Aws\\ObservabilityAdmin\\ObservabilityAdminClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ObservabilityAdmin/ObservabilityAdminClient.php', + 'Aws\\Odb\\Exception\\OdbException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Odb/Exception/OdbException.php', + 'Aws\\Odb\\OdbClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Odb/OdbClient.php', + 'Aws\\Omics\\Exception\\OmicsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Omics/Exception/OmicsException.php', + 'Aws\\Omics\\OmicsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Omics/OmicsClient.php', + 'Aws\\OpenSearchServerless\\Exception\\OpenSearchServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchServerless/Exception/OpenSearchServerlessException.php', + 'Aws\\OpenSearchServerless\\OpenSearchServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchServerless/OpenSearchServerlessClient.php', + 'Aws\\OpenSearchService\\Exception\\OpenSearchServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchService/Exception/OpenSearchServiceException.php', + 'Aws\\OpenSearchService\\OpenSearchServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchService/OpenSearchServiceClient.php', 'Aws\\OpsWorksCM\\Exception\\OpsWorksCMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorksCM/Exception/OpsWorksCMException.php', 'Aws\\OpsWorksCM\\OpsWorksCMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorksCM/OpsWorksCMClient.php', 'Aws\\OpsWorks\\Exception\\OpsWorksException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorks/Exception/OpsWorksException.php', @@ -882,8 +1174,28 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Organizations\\OrganizationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Organizations/OrganizationsClient.php', 'Aws\\Outposts\\Exception\\OutpostsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Outposts/Exception/OutpostsException.php', 'Aws\\Outposts\\OutpostsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Outposts/OutpostsClient.php', + 'Aws\\PCS\\Exception\\PCSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PCS/Exception/PCSException.php', + 'Aws\\PCS\\PCSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PCS/PCSClient.php', 'Aws\\PI\\Exception\\PIException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PI/Exception/PIException.php', 'Aws\\PI\\PIClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PI/PIClient.php', + 'Aws\\Panorama\\Exception\\PanoramaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Panorama/Exception/PanoramaException.php', + 'Aws\\Panorama\\PanoramaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Panorama/PanoramaClient.php', + 'Aws\\PartnerCentralAccount\\Exception\\PartnerCentralAccountException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralAccount/Exception/PartnerCentralAccountException.php', + 'Aws\\PartnerCentralAccount\\PartnerCentralAccountClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralAccount/PartnerCentralAccountClient.php', + 'Aws\\PartnerCentralBenefits\\Exception\\PartnerCentralBenefitsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralBenefits/Exception/PartnerCentralBenefitsException.php', + 'Aws\\PartnerCentralBenefits\\PartnerCentralBenefitsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralBenefits/PartnerCentralBenefitsClient.php', + 'Aws\\PartnerCentralChannel\\Exception\\PartnerCentralChannelException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralChannel/Exception/PartnerCentralChannelException.php', + 'Aws\\PartnerCentralChannel\\PartnerCentralChannelClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralChannel/PartnerCentralChannelClient.php', + 'Aws\\PartnerCentralSelling\\Exception\\PartnerCentralSellingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralSelling/Exception/PartnerCentralSellingException.php', + 'Aws\\PartnerCentralSelling\\PartnerCentralSellingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralSelling/PartnerCentralSellingClient.php', + 'Aws\\PaymentCryptographyData\\Exception\\PaymentCryptographyDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptographyData/Exception/PaymentCryptographyDataException.php', + 'Aws\\PaymentCryptographyData\\PaymentCryptographyDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptographyData/PaymentCryptographyDataClient.php', + 'Aws\\PaymentCryptography\\Exception\\PaymentCryptographyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptography/Exception/PaymentCryptographyException.php', + 'Aws\\PaymentCryptography\\PaymentCryptographyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptography/PaymentCryptographyClient.php', + 'Aws\\PcaConnectorAd\\Exception\\PcaConnectorAdException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorAd/Exception/PcaConnectorAdException.php', + 'Aws\\PcaConnectorAd\\PcaConnectorAdClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorAd/PcaConnectorAdClient.php', + 'Aws\\PcaConnectorScep\\Exception\\PcaConnectorScepException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorScep/Exception/PcaConnectorScepException.php', + 'Aws\\PcaConnectorScep\\PcaConnectorScepClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorScep/PcaConnectorScepClient.php', 'Aws\\PersonalizeEvents\\Exception\\PersonalizeEventsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeEvents/Exception/PersonalizeEventsException.php', 'Aws\\PersonalizeEvents\\PersonalizeEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeEvents/PersonalizeEventsClient.php', 'Aws\\PersonalizeRuntime\\Exception\\PersonalizeRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeRuntime/Exception/PersonalizeRuntimeException.php', @@ -893,10 +1205,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\PhpHash' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PhpHash.php', 'Aws\\PinpointEmail\\Exception\\PinpointEmailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointEmail/Exception/PinpointEmailException.php', 'Aws\\PinpointEmail\\PinpointEmailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointEmail/PinpointEmailClient.php', + 'Aws\\PinpointSMSVoiceV2\\Exception\\PinpointSMSVoiceV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/Exception/PinpointSMSVoiceV2Exception.php', + 'Aws\\PinpointSMSVoiceV2\\PinpointSMSVoiceV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/PinpointSMSVoiceV2Client.php', 'Aws\\PinpointSMSVoice\\Exception\\PinpointSMSVoiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php', 'Aws\\PinpointSMSVoice\\PinpointSMSVoiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoice/PinpointSMSVoiceClient.php', 'Aws\\Pinpoint\\Exception\\PinpointException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pinpoint/Exception/PinpointException.php', 'Aws\\Pinpoint\\PinpointClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pinpoint/PinpointClient.php', + 'Aws\\Pipes\\Exception\\PipesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pipes/Exception/PipesException.php', + 'Aws\\Pipes\\PipesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pipes/PipesClient.php', 'Aws\\Polly\\Exception\\PollyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Polly/Exception/PollyException.php', 'Aws\\Polly\\PollyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Polly/PollyClient.php', 'Aws\\PresignUrlMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PresignUrlMiddleware.php', @@ -904,27 +1220,49 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Pricing\\PricingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pricing/PricingClient.php', 'Aws\\PrometheusService\\Exception\\PrometheusServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PrometheusService/Exception/PrometheusServiceException.php', 'Aws\\PrometheusService\\PrometheusServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PrometheusService/PrometheusServiceClient.php', + 'Aws\\Proton\\Exception\\ProtonException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Proton/Exception/ProtonException.php', + 'Aws\\Proton\\ProtonClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Proton/ProtonClient.php', 'Aws\\Psr16CacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Psr16CacheAdapter.php', 'Aws\\PsrCacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PsrCacheAdapter.php', + 'Aws\\QApps\\Exception\\QAppsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QApps/Exception/QAppsException.php', + 'Aws\\QApps\\QAppsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QApps/QAppsClient.php', + 'Aws\\QBusiness\\Exception\\QBusinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QBusiness/Exception/QBusinessException.php', + 'Aws\\QBusiness\\QBusinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QBusiness/QBusinessClient.php', + 'Aws\\QConnect\\Exception\\QConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QConnect/Exception/QConnectException.php', + 'Aws\\QConnect\\QConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QConnect/QConnectClient.php', 'Aws\\QLDBSession\\Exception\\QLDBSessionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDBSession/Exception/QLDBSessionException.php', 'Aws\\QLDBSession\\QLDBSessionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDBSession/QLDBSessionClient.php', 'Aws\\QLDB\\Exception\\QLDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDB/Exception/QLDBException.php', 'Aws\\QLDB\\QLDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDB/QLDBClient.php', + 'Aws\\QueryCompatibleInputMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QueryCompatibleInputMiddleware.php', 'Aws\\QuickSight\\Exception\\QuickSightException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QuickSight/Exception/QuickSightException.php', 'Aws\\QuickSight\\QuickSightClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QuickSight/QuickSightClient.php', 'Aws\\RAM\\Exception\\RAMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RAM/Exception/RAMException.php', 'Aws\\RAM\\RAMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RAM/RAMClient.php', 'Aws\\RDSDataService\\Exception\\RDSDataServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RDSDataService/Exception/RDSDataServiceException.php', 'Aws\\RDSDataService\\RDSDataServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RDSDataService/RDSDataServiceClient.php', + 'Aws\\RTBFabric\\Exception\\RTBFabricException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RTBFabric/Exception/RTBFabricException.php', + 'Aws\\RTBFabric\\RTBFabricClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RTBFabric/RTBFabricClient.php', 'Aws\\Rds\\AuthTokenGenerator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/AuthTokenGenerator.php', 'Aws\\Rds\\Exception\\RdsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/Exception/RdsException.php', 'Aws\\Rds\\RdsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/RdsClient.php', + 'Aws\\RecycleBin\\Exception\\RecycleBinException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RecycleBin/Exception/RecycleBinException.php', + 'Aws\\RecycleBin\\RecycleBinClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RecycleBin/RecycleBinClient.php', 'Aws\\RedshiftDataAPIService\\Exception\\RedshiftDataAPIServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftDataAPIService/Exception/RedshiftDataAPIServiceException.php', 'Aws\\RedshiftDataAPIService\\RedshiftDataAPIServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftDataAPIService/RedshiftDataAPIServiceClient.php', + 'Aws\\RedshiftServerless\\Exception\\RedshiftServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftServerless/Exception/RedshiftServerlessException.php', + 'Aws\\RedshiftServerless\\RedshiftServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftServerless/RedshiftServerlessClient.php', 'Aws\\Redshift\\Exception\\RedshiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Redshift/Exception/RedshiftException.php', 'Aws\\Redshift\\RedshiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Redshift/RedshiftClient.php', 'Aws\\Rekognition\\Exception\\RekognitionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rekognition/Exception/RekognitionException.php', 'Aws\\Rekognition\\RekognitionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rekognition/RekognitionClient.php', + 'Aws\\Repostspace\\Exception\\RepostspaceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Repostspace/Exception/RepostspaceException.php', + 'Aws\\Repostspace\\RepostspaceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Repostspace/RepostspaceClient.php', + 'Aws\\RequestCompressionMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RequestCompressionMiddleware.php', + 'Aws\\ResilienceHub\\Exception\\ResilienceHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResilienceHub/Exception/ResilienceHubException.php', + 'Aws\\ResilienceHub\\ResilienceHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResilienceHub/ResilienceHubClient.php', + 'Aws\\ResourceExplorer2\\Exception\\ResourceExplorer2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceExplorer2/Exception/ResourceExplorer2Exception.php', + 'Aws\\ResourceExplorer2\\ResourceExplorer2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceExplorer2/ResourceExplorer2Client.php', 'Aws\\ResourceGroupsTaggingAPI\\Exception\\ResourceGroupsTaggingAPIException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php', 'Aws\\ResourceGroupsTaggingAPI\\ResourceGroupsTaggingAPIClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php', 'Aws\\ResourceGroups\\Exception\\ResourceGroupsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroups/Exception/ResourceGroupsException.php', @@ -944,8 +1282,20 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Retry\\RetryHelperTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php', 'Aws\\RoboMaker\\Exception\\RoboMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php', 'Aws\\RoboMaker\\RoboMakerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RoboMaker/RoboMakerClient.php', + 'Aws\\RolesAnywhere\\Exception\\RolesAnywhereException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RolesAnywhere/Exception/RolesAnywhereException.php', + 'Aws\\RolesAnywhere\\RolesAnywhereClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RolesAnywhere/RolesAnywhereClient.php', 'Aws\\Route53Domains\\Exception\\Route53DomainsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Domains/Exception/Route53DomainsException.php', 'Aws\\Route53Domains\\Route53DomainsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Domains/Route53DomainsClient.php', + 'Aws\\Route53GlobalResolver\\Exception\\Route53GlobalResolverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53GlobalResolver/Exception/Route53GlobalResolverException.php', + 'Aws\\Route53GlobalResolver\\Route53GlobalResolverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53GlobalResolver/Route53GlobalResolverClient.php', + 'Aws\\Route53Profiles\\Exception\\Route53ProfilesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Profiles/Exception/Route53ProfilesException.php', + 'Aws\\Route53Profiles\\Route53ProfilesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Profiles/Route53ProfilesClient.php', + 'Aws\\Route53RecoveryCluster\\Exception\\Route53RecoveryClusterException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Exception/Route53RecoveryClusterException.php', + 'Aws\\Route53RecoveryCluster\\Route53RecoveryClusterClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Route53RecoveryClusterClient.php', + 'Aws\\Route53RecoveryControlConfig\\Exception\\Route53RecoveryControlConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Exception/Route53RecoveryControlConfigException.php', + 'Aws\\Route53RecoveryControlConfig\\Route53RecoveryControlConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Route53RecoveryControlConfigClient.php', + 'Aws\\Route53RecoveryReadiness\\Exception\\Route53RecoveryReadinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Exception/Route53RecoveryReadinessException.php', + 'Aws\\Route53RecoveryReadiness\\Route53RecoveryReadinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Route53RecoveryReadinessClient.php', 'Aws\\Route53Resolver\\Exception\\Route53ResolverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Resolver/Exception/Route53ResolverException.php', 'Aws\\Route53Resolver\\Route53ResolverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Resolver/Route53ResolverClient.php', 'Aws\\Route53\\Exception\\Route53Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53/Exception/Route53Exception.php', @@ -956,31 +1306,44 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3Control\\S3ControlEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php', 'Aws\\S3Outposts\\Exception\\S3OutpostsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Outposts/Exception/S3OutpostsException.php', 'Aws\\S3Outposts\\S3OutpostsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Outposts/S3OutpostsClient.php', + 'Aws\\S3Tables\\Exception\\S3TablesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Tables/Exception/S3TablesException.php', + 'Aws\\S3Tables\\S3TablesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Tables/S3TablesClient.php', + 'Aws\\S3Vectors\\Exception\\S3VectorsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Vectors/Exception/S3VectorsException.php', + 'Aws\\S3Vectors\\S3VectorsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Vectors/S3VectorsClient.php', 'Aws\\S3\\AmbiguousSuccessParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/AmbiguousSuccessParser.php', 'Aws\\S3\\ApplyChecksumMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php', 'Aws\\S3\\BatchDelete' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BatchDelete.php', 'Aws\\S3\\BucketEndpointArnMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BucketEndpointArnMiddleware.php', 'Aws\\S3\\BucketEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BucketEndpointMiddleware.php', + 'Aws\\S3\\CalculatesChecksumTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/CalculatesChecksumTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV2.php', + 'Aws\\S3\\Crypto\\CryptoParamsTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV3.php', 'Aws\\S3\\Crypto\\HeadersMetadataStrategy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/HeadersMetadataStrategy.php', 'Aws\\S3\\Crypto\\InstructionFileMetadataStrategy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/InstructionFileMetadataStrategy.php', 'Aws\\S3\\Crypto\\S3EncryptionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClient.php', 'Aws\\S3\\Crypto\\S3EncryptionClientV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV2.php', + 'Aws\\S3\\Crypto\\S3EncryptionClientV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV3.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploader.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV2.php', + 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV3.php', 'Aws\\S3\\Crypto\\UserAgentTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/UserAgentTrait.php', 'Aws\\S3\\EndpointRegionHelperTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/EndpointRegionHelperTrait.php', 'Aws\\S3\\Exception\\DeleteMultipleObjectsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php', 'Aws\\S3\\Exception\\PermanentRedirectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php', 'Aws\\S3\\Exception\\S3Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/S3Exception.php', 'Aws\\S3\\Exception\\S3MultipartUploadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php', + 'Aws\\S3\\ExpiresParsingMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php', 'Aws\\S3\\GetBucketLocationParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/GetBucketLocationParser.php', 'Aws\\S3\\MultipartCopy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartCopy.php', 'Aws\\S3\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartUploader.php', 'Aws\\S3\\MultipartUploadingTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartUploadingTrait.php', 'Aws\\S3\\ObjectCopier' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ObjectCopier.php', 'Aws\\S3\\ObjectUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ObjectUploader.php', + 'Aws\\S3\\Parser\\GetBucketLocationResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/GetBucketLocationResultMutator.php', + 'Aws\\S3\\Parser\\S3Parser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/S3Parser.php', + 'Aws\\S3\\Parser\\S3ResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/S3ResultMutator.php', + 'Aws\\S3\\Parser\\ValidateResponseChecksumResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/ValidateResponseChecksumResultMutator.php', 'Aws\\S3\\PermanentRedirectMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php', 'Aws\\S3\\PostObject' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PostObject.php', 'Aws\\S3\\PostObjectV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PostObjectV4.php', @@ -995,6 +1358,43 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3\\S3ClientTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3ClientTrait.php', 'Aws\\S3\\S3EndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3EndpointMiddleware.php', 'Aws\\S3\\S3MultiRegionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php', + 'Aws\\S3\\S3Transfer\\AbstractMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\AbstractMultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartUploader.php', + 'Aws\\S3\\S3Transfer\\Exception\\FileDownloadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/FileDownloadException.php', + 'Aws\\S3\\S3Transfer\\Exception\\ProgressTrackerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/ProgressTrackerException.php', + 'Aws\\S3\\S3Transfer\\Exception\\S3TransferException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/S3TransferException.php', + 'Aws\\S3\\S3Transfer\\Models\\AbstractTransferRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/AbstractTransferRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryResult.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadFileRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadFileRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\DownloadResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadResult.php', + 'Aws\\S3\\S3Transfer\\Models\\S3TransferManagerConfig' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/S3TransferManagerConfig.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryResult.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadRequest.php', + 'Aws\\S3\\S3Transfer\\Models\\UploadResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadResult.php', + 'Aws\\S3\\S3Transfer\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/MultipartUploader.php', + 'Aws\\S3\\S3Transfer\\PartGetMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/PartGetMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\Progress\\AbstractProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\AbstractTransferListener' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractTransferListener.php', + 'Aws\\S3\\S3Transfer\\Progress\\ColoredTransferProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ColoredTransferProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\ConsoleProgressBar' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ConsoleProgressBar.php', + 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressTracker' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressTracker.php', + 'Aws\\S3\\S3Transfer\\Progress\\PlainProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/PlainProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarFactoryInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarFactoryInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\ProgressTrackerInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressTrackerInterface.php', + 'Aws\\S3\\S3Transfer\\Progress\\SingleProgressTracker' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/SingleProgressTracker.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferListenerNotifier' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferListenerNotifier.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressBarFormat.php', + 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressSnapshot' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressSnapshot.php', + 'Aws\\S3\\S3Transfer\\RangeGetMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/RangeGetMultipartDownloader.php', + 'Aws\\S3\\S3Transfer\\S3TransferManager' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/S3TransferManager.php', + 'Aws\\S3\\S3Transfer\\Utils\\AbstractDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/AbstractDownloadHandler.php', + 'Aws\\S3\\S3Transfer\\Utils\\FileDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/FileDownloadHandler.php', + 'Aws\\S3\\S3Transfer\\Utils\\StreamDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/StreamDownloadHandler.php', 'Aws\\S3\\S3UriParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3UriParser.php', 'Aws\\S3\\SSECMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/SSECMiddleware.php', 'Aws\\S3\\StreamWrapper' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/StreamWrapper.php', @@ -1003,6 +1403,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3\\UseArnRegion\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationInterface.php', 'Aws\\S3\\UseArnRegion\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationProvider.php', 'Aws\\S3\\UseArnRegion\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/Exception/ConfigurationException.php', + 'Aws\\S3\\ValidateResponseChecksumParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ValidateResponseChecksumParser.php', + 'Aws\\SSMContacts\\Exception\\SSMContactsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMContacts/Exception/SSMContactsException.php', + 'Aws\\SSMContacts\\SSMContactsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMContacts/SSMContactsClient.php', + 'Aws\\SSMGuiConnect\\Exception\\SSMGuiConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMGuiConnect/Exception/SSMGuiConnectException.php', + 'Aws\\SSMGuiConnect\\SSMGuiConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMGuiConnect/SSMGuiConnectClient.php', + 'Aws\\SSMIncidents\\Exception\\SSMIncidentsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMIncidents/Exception/SSMIncidentsException.php', + 'Aws\\SSMIncidents\\SSMIncidentsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMIncidents/SSMIncidentsClient.php', + 'Aws\\SSMQuickSetup\\Exception\\SSMQuickSetupException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMQuickSetup/Exception/SSMQuickSetupException.php', + 'Aws\\SSMQuickSetup\\SSMQuickSetupClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMQuickSetup/SSMQuickSetupClient.php', 'Aws\\SSOAdmin\\Exception\\SSOAdminException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOAdmin/Exception/SSOAdminException.php', 'Aws\\SSOAdmin\\SSOAdminClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOAdmin/SSOAdminClient.php', 'Aws\\SSOOIDC\\Exception\\SSOOIDCException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOOIDC/Exception/SSOOIDCException.php', @@ -1011,6 +1420,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\SSO\\SSOClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSO/SSOClient.php', 'Aws\\SageMakerFeatureStoreRuntime\\Exception\\SageMakerFeatureStoreRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/Exception/SageMakerFeatureStoreRuntimeException.php', 'Aws\\SageMakerFeatureStoreRuntime\\SageMakerFeatureStoreRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.php', + 'Aws\\SageMakerGeospatial\\Exception\\SageMakerGeospatialException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerGeospatial/Exception/SageMakerGeospatialException.php', + 'Aws\\SageMakerGeospatial\\SageMakerGeospatialClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerGeospatial/SageMakerGeospatialClient.php', + 'Aws\\SageMakerMetrics\\Exception\\SageMakerMetricsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerMetrics/Exception/SageMakerMetricsException.php', + 'Aws\\SageMakerMetrics\\SageMakerMetricsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerMetrics/SageMakerMetricsClient.php', 'Aws\\SageMakerRuntime\\Exception\\SageMakerRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerRuntime/Exception/SageMakerRuntimeException.php', 'Aws\\SageMakerRuntime\\SageMakerRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerRuntime/SageMakerRuntimeClient.php', 'Aws\\SageMaker\\Exception\\SageMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMaker/Exception/SageMakerException.php', @@ -1019,13 +1432,20 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\SagemakerEdgeManager\\SagemakerEdgeManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SagemakerEdgeManager/SagemakerEdgeManagerClient.php', 'Aws\\SavingsPlans\\Exception\\SavingsPlansException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SavingsPlans/Exception/SavingsPlansException.php', 'Aws\\SavingsPlans\\SavingsPlansClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SavingsPlans/SavingsPlansClient.php', + 'Aws\\Scheduler\\Exception\\SchedulerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Scheduler/Exception/SchedulerException.php', + 'Aws\\Scheduler\\SchedulerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Scheduler/SchedulerClient.php', 'Aws\\Schemas\\Exception\\SchemasException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Schemas/Exception/SchemasException.php', 'Aws\\Schemas\\SchemasClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Schemas/SchemasClient.php', + 'Aws\\Script\\Composer\\Composer' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Script/Composer/Composer.php', 'Aws\\Sdk' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sdk.php', 'Aws\\SecretsManager\\Exception\\SecretsManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecretsManager/Exception/SecretsManagerException.php', 'Aws\\SecretsManager\\SecretsManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecretsManager/SecretsManagerClient.php', 'Aws\\SecurityHub\\Exception\\SecurityHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php', 'Aws\\SecurityHub\\SecurityHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityHub/SecurityHubClient.php', + 'Aws\\SecurityIR\\Exception\\SecurityIRException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityIR/Exception/SecurityIRException.php', + 'Aws\\SecurityIR\\SecurityIRClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityIR/SecurityIRClient.php', + 'Aws\\SecurityLake\\Exception\\SecurityLakeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityLake/Exception/SecurityLakeException.php', + 'Aws\\SecurityLake\\SecurityLakeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityLake/SecurityLakeClient.php', 'Aws\\ServerlessApplicationRepository\\Exception\\ServerlessApplicationRepositoryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php', 'Aws\\ServerlessApplicationRepository\\ServerlessApplicationRepositoryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php', 'Aws\\ServiceCatalog\\Exception\\ServiceCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServiceCatalog/Exception/ServiceCatalogException.php', @@ -1043,19 +1463,31 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Shield\\Exception\\ShieldException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Shield/Exception/ShieldException.php', 'Aws\\Shield\\ShieldClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Shield/ShieldClient.php', 'Aws\\Signature\\AnonymousSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/AnonymousSignature.php', + 'Aws\\Signature\\DpopSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/DpopSignature.php', + 'Aws\\Signature\\S3ExpressSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/S3ExpressSignature.php', 'Aws\\Signature\\S3SignatureV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/S3SignatureV4.php', 'Aws\\Signature\\SignatureInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureInterface.php', 'Aws\\Signature\\SignatureProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureProvider.php', 'Aws\\Signature\\SignatureTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureTrait.php', 'Aws\\Signature\\SignatureV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureV4.php', + 'Aws\\Signin\\Exception\\SigninException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signin/Exception/SigninException.php', + 'Aws\\Signin\\SigninClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signin/SigninClient.php', + 'Aws\\SimSpaceWeaver\\Exception\\SimSpaceWeaverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SimSpaceWeaver/Exception/SimSpaceWeaverException.php', + 'Aws\\SimSpaceWeaver\\SimSpaceWeaverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SimSpaceWeaver/SimSpaceWeaverClient.php', 'Aws\\Sms\\Exception\\SmsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sms/Exception/SmsException.php', 'Aws\\Sms\\SmsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sms/SmsClient.php', 'Aws\\SnowBall\\Exception\\SnowBallException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowBall/Exception/SnowBallException.php', 'Aws\\SnowBall\\SnowBallClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowBall/SnowBallClient.php', + 'Aws\\SnowDeviceManagement\\Exception\\SnowDeviceManagementException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowDeviceManagement/Exception/SnowDeviceManagementException.php', + 'Aws\\SnowDeviceManagement\\SnowDeviceManagementClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowDeviceManagement/SnowDeviceManagementClient.php', 'Aws\\Sns\\Exception\\SnsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sns/Exception/SnsException.php', 'Aws\\Sns\\SnsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sns/SnsClient.php', + 'Aws\\SocialMessaging\\Exception\\SocialMessagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SocialMessaging/Exception/SocialMessagingException.php', + 'Aws\\SocialMessaging\\SocialMessagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SocialMessaging/SocialMessagingClient.php', 'Aws\\Sqs\\Exception\\SqsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php', 'Aws\\Sqs\\SqsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sqs/SqsClient.php', + 'Aws\\SsmSap\\Exception\\SsmSapException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SsmSap/Exception/SsmSapException.php', + 'Aws\\SsmSap\\SsmSapClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SsmSap/SsmSapClient.php', 'Aws\\Ssm\\Exception\\SsmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ssm/Exception/SsmException.php', 'Aws\\Ssm\\SsmClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ssm/SsmClient.php', 'Aws\\StorageGateway\\Exception\\StorageGatewayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/StorageGateway/Exception/StorageGatewayException.php', @@ -1067,18 +1499,39 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Sts\\RegionalEndpoints\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/ConfigurationProvider.php', 'Aws\\Sts\\RegionalEndpoints\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/Exception/ConfigurationException.php', 'Aws\\Sts\\StsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/StsClient.php', + 'Aws\\SupplyChain\\Exception\\SupplyChainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupplyChain/Exception/SupplyChainException.php', + 'Aws\\SupplyChain\\SupplyChainClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupplyChain/SupplyChainClient.php', + 'Aws\\SupportApp\\Exception\\SupportAppException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupportApp/Exception/SupportAppException.php', + 'Aws\\SupportApp\\SupportAppClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupportApp/SupportAppClient.php', 'Aws\\Support\\Exception\\SupportException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Support/Exception/SupportException.php', 'Aws\\Support\\SupportClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Support/SupportClient.php', 'Aws\\Swf\\Exception\\SwfException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Swf/Exception/SwfException.php', 'Aws\\Swf\\SwfClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Swf/SwfClient.php', 'Aws\\Synthetics\\Exception\\SyntheticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Synthetics/Exception/SyntheticsException.php', 'Aws\\Synthetics\\SyntheticsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Synthetics/SyntheticsClient.php', + 'Aws\\TaxSettings\\Exception\\TaxSettingsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TaxSettings/Exception/TaxSettingsException.php', + 'Aws\\TaxSettings\\TaxSettingsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TaxSettings/TaxSettingsClient.php', 'Aws\\Textract\\Exception\\TextractException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Textract/Exception/TextractException.php', 'Aws\\Textract\\TextractClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Textract/TextractClient.php', + 'Aws\\TimestreamInfluxDB\\Exception\\TimestreamInfluxDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamInfluxDB/Exception/TimestreamInfluxDBException.php', + 'Aws\\TimestreamInfluxDB\\TimestreamInfluxDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamInfluxDB/TimestreamInfluxDBClient.php', 'Aws\\TimestreamQuery\\Exception\\TimestreamQueryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamQuery/Exception/TimestreamQueryException.php', 'Aws\\TimestreamQuery\\TimestreamQueryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamQuery/TimestreamQueryClient.php', 'Aws\\TimestreamWrite\\Exception\\TimestreamWriteException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamWrite/Exception/TimestreamWriteException.php', 'Aws\\TimestreamWrite\\TimestreamWriteClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamWrite/TimestreamWriteClient.php', + 'Aws\\Tnb\\Exception\\TnbException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Tnb/Exception/TnbException.php', + 'Aws\\Tnb\\TnbClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Tnb/TnbClient.php', + 'Aws\\Token\\BearerTokenAuthorization' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/BearerTokenAuthorization.php', + 'Aws\\Token\\BedrockTokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/BedrockTokenProvider.php', + 'Aws\\Token\\ParsesIniTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/ParsesIniTrait.php', + 'Aws\\Token\\RefreshableTokenProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/RefreshableTokenProviderInterface.php', + 'Aws\\Token\\SsoToken' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/SsoToken.php', + 'Aws\\Token\\SsoTokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/SsoTokenProvider.php', + 'Aws\\Token\\Token' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/Token.php', + 'Aws\\Token\\TokenAuthorization' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenAuthorization.php', + 'Aws\\Token\\TokenInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenInterface.php', + 'Aws\\Token\\TokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenProvider.php', + 'Aws\\Token\\TokenSource' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenSource.php', 'Aws\\TraceMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TraceMiddleware.php', 'Aws\\TranscribeService\\Exception\\TranscribeServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TranscribeService/Exception/TranscribeServiceException.php', 'Aws\\TranscribeService\\TranscribeServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php', @@ -1086,6 +1539,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Transfer\\TransferClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Transfer/TransferClient.php', 'Aws\\Translate\\Exception\\TranslateException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Translate/Exception/TranslateException.php', 'Aws\\Translate\\TranslateClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Translate/TranslateClient.php', + 'Aws\\TrustedAdvisor\\Exception\\TrustedAdvisorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TrustedAdvisor/Exception/TrustedAdvisorException.php', + 'Aws\\TrustedAdvisor\\TrustedAdvisorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TrustedAdvisor/TrustedAdvisorClient.php', + 'Aws\\UserAgentMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/UserAgentMiddleware.php', + 'Aws\\VPCLattice\\Exception\\VPCLatticeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VPCLattice/Exception/VPCLatticeException.php', + 'Aws\\VPCLattice\\VPCLatticeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VPCLattice/VPCLatticeClient.php', + 'Aws\\VerifiedPermissions\\Exception\\VerifiedPermissionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VerifiedPermissions/Exception/VerifiedPermissionsException.php', + 'Aws\\VerifiedPermissions\\VerifiedPermissionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VerifiedPermissions/VerifiedPermissionsClient.php', + 'Aws\\VoiceID\\Exception\\VoiceIDException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VoiceID/Exception/VoiceIDException.php', + 'Aws\\VoiceID\\VoiceIDClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VoiceID/VoiceIDClient.php', 'Aws\\WAFV2\\Exception\\WAFV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WAFV2/Exception/WAFV2Exception.php', 'Aws\\WAFV2\\WAFV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WAFV2/WAFV2Client.php', 'Aws\\WafRegional\\Exception\\WafRegionalException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WafRegional/Exception/WafRegionalException.php', @@ -1095,6 +1557,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Waiter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Waiter.php', 'Aws\\WellArchitected\\Exception\\WellArchitectedException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WellArchitected/Exception/WellArchitectedException.php', 'Aws\\WellArchitected\\WellArchitectedClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WellArchitected/WellArchitectedClient.php', + 'Aws\\Wickr\\Exception\\WickrException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Wickr/Exception/WickrException.php', + 'Aws\\Wickr\\WickrClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Wickr/WickrClient.php', 'Aws\\WorkDocs\\Exception\\WorkDocsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkDocs/Exception/WorkDocsException.php', 'Aws\\WorkDocs\\WorkDocsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php', 'Aws\\WorkLink\\Exception\\WorkLinkException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkLink/Exception/WorkLinkException.php', @@ -1103,18 +1567,41 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\WorkMailMessageFlow\\WorkMailMessageFlowClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMailMessageFlow/WorkMailMessageFlowClient.php', 'Aws\\WorkMail\\Exception\\WorkMailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMail/Exception/WorkMailException.php', 'Aws\\WorkMail\\WorkMailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMail/WorkMailClient.php', + 'Aws\\WorkSpacesThinClient\\Exception\\WorkSpacesThinClientException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesThinClient/Exception/WorkSpacesThinClientException.php', + 'Aws\\WorkSpacesThinClient\\WorkSpacesThinClientClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesThinClient/WorkSpacesThinClientClient.php', + 'Aws\\WorkSpacesWeb\\Exception\\WorkSpacesWebException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesWeb/Exception/WorkSpacesWebException.php', + 'Aws\\WorkSpacesWeb\\WorkSpacesWebClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesWeb/WorkSpacesWebClient.php', 'Aws\\WorkSpaces\\Exception\\WorkSpacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpaces/Exception/WorkSpacesException.php', 'Aws\\WorkSpaces\\WorkSpacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php', + 'Aws\\WorkspacesInstances\\Exception\\WorkspacesInstancesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkspacesInstances/Exception/WorkspacesInstancesException.php', + 'Aws\\WorkspacesInstances\\WorkspacesInstancesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkspacesInstances/WorkspacesInstancesClient.php', 'Aws\\WrappedHttpHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WrappedHttpHandler.php', 'Aws\\XRay\\Exception\\XRayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/XRay/Exception/XRayException.php', 'Aws\\XRay\\XRayClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/XRay/XRayClient.php', + 'Aws\\drs\\Exception\\drsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/drs/Exception/drsException.php', + 'Aws\\drs\\drsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/drs/drsClient.php', + 'Aws\\finspace\\Exception\\finspaceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/finspace/Exception/finspaceException.php', + 'Aws\\finspace\\finspaceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/finspace/finspaceClient.php', 'Aws\\imagebuilder\\Exception\\imagebuilderException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/imagebuilder/Exception/imagebuilderException.php', 'Aws\\imagebuilder\\imagebuilderClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/imagebuilder/imagebuilderClient.php', + 'Aws\\ivschat\\Exception\\ivschatException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ivschat/Exception/ivschatException.php', + 'Aws\\ivschat\\ivschatClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ivschat/ivschatClient.php', 'Aws\\kendra\\Exception\\kendraException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/kendra/Exception/kendraException.php', 'Aws\\kendra\\kendraClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/kendra/kendraClient.php', + 'Aws\\mgn\\Exception\\mgnException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/mgn/Exception/mgnException.php', + 'Aws\\mgn\\mgnClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/mgn/mgnClient.php', 'Aws\\signer\\Exception\\signerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/signer/Exception/signerException.php', 'Aws\\signer\\signerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/signer/signerClient.php', + 'BestellungPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.bestellung.php', + 'BlindField' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'BriefPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.brief.php', + 'Briefpapier' => __DIR__ . '/../..' . '/www/lib/dokumente/class.briefpapier.php', + 'BriefpapierCustom' => __DIR__ . '/../..' . '/www/lib/dokumente/class.briefpapier_custom.php', + 'CallbackEntry' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', + 'Chart' => __DIR__ . '/../..' . '/phpwf/widgets/chart.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Config' => __DIR__ . '/../..' . '/conf/main.conf.php', + 'DB' => __DIR__ . '/../..' . '/phpwf/plugins/class.mysql.php', 'Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', 'Datto\\JsonRpc\\Client' => __DIR__ . '/..' . '/datto/json-rpc/src/Client.php', 'Datto\\JsonRpc\\Evaluator' => __DIR__ . '/..' . '/datto/json-rpc/src/Evaluator.php', @@ -1134,6 +1621,18 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Datto\\JsonRpc\\Responses\\Response' => __DIR__ . '/..' . '/datto/json-rpc/src/Responses/Response.php', 'Datto\\JsonRpc\\Responses\\ResultResponse' => __DIR__ . '/..' . '/datto/json-rpc/src/Responses/ResultResponse.php', 'Datto\\JsonRpc\\Server' => __DIR__ . '/..' . '/datto/json-rpc/src/Server.php', + 'DocscanAuth' => __DIR__ . '/../..' . '/www/docscan/classes/DocscanAuth.php', + 'DocscanDir' => __DIR__ . '/../..' . '/www/docscan/classes/DocscanDir.php', + 'DocscanFile' => __DIR__ . '/../..' . '/www/docscan/classes/DocscanFile.php', + 'DocscanRoot' => __DIR__ . '/../..' . '/www/docscan/classes/DocscanRoot.php', + 'DokuArbeitszeit' => __DIR__ . '/../..' . '/www/lib/dokumente/class.dokuarbeitszeit.php', + 'Dokumentenvorlage' => __DIR__ . '/../..' . '/www/lib/dokumente/class.dokumentenvorlage.php', + 'DownloadSpoolerTable' => __DIR__ . '/../..' . '/phpwf/widgets/downloadspoolertable.php', + 'EasyCalendar' => __DIR__ . '/../..' . '/phpwf/widgets/easycalendar.php', + 'EasyTable' => __DIR__ . '/../..' . '/phpwf/widgets/easytable.php', + 'Etikett' => __DIR__ . '/../..' . '/www/lib/dokumente/class.etikett.php', + 'EtikettenPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.etiketten.php', + 'FPDFWAWISION' => __DIR__ . '/../..' . '/www/lib/pdf/fpdf_3.php', 'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php', 'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php', 'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php', @@ -1151,6 +1650,7 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php', 'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php', 'FastRoute\\RouteParser\\Std' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser/Std.php', + 'FileTable' => __DIR__ . '/../..' . '/phpwf/widgets/filetable.php', 'FiskalyClient\\FiskalyClient' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/FiskalyClient.php', 'FiskalyClient\\errors\\FiskalyErrorHandler' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/errors/FiskalyErrorHandler.php', 'FiskalyClient\\errors\\exceptions\\FiskalyClientException' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/errors/exceptions/FiskalyClientException.php', @@ -1161,8 +1661,17 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'FiskalyClient\\responses\\RequestResponse' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/responses/RequestResponse.php', 'FiskalyClient\\responses\\SelfTestResponse' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/responses/SelfTestResponse.php', 'FiskalyClient\\responses\\VersionResponse' => __DIR__ . '/..' . '/fiskaly/fiskaly-sdk-php/src/responses/VersionResponse.php', + 'FormActionHandler' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', + 'FormHandler' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', + 'FormHandlerField' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', + 'Geschaeftsbrief' => __DIR__ . '/../..' . '/www/lib/dokumente/class.geschaeftsbrief.php', + 'GroupTable' => __DIR__ . '/../..' . '/phpwf/widgets/grouptable.php', + 'GutschriftPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.gutschrift.php', + 'GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php', 'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php', 'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -1184,10 +1693,12 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php', 'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php', 'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php', 'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -1211,8 +1722,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php', 'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php', 'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php', 'GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php', 'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php', 'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php', 'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php', @@ -1242,6 +1755,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php', 'GuzzleHttp\\UriTemplate' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/UriTemplate.php', 'GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php', + 'HTMLCheckbox' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'HTMLForm' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'HTMLInput' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'HTMLListEntry' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', 'HTMLPurifier' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.php', 'HTMLPurifier_Arborize' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php', 'HTMLPurifier_AttrCollections' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php', @@ -1472,6 +1989,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'HTMLPurifier_VarParser_Flexible' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php', 'HTMLPurifier_VarParser_Native' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php', 'HTMLPurifier_Zipper' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php', + 'HTMLSelect' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'HTMLTable' => __DIR__ . '/../..' . '/phpwf/htmltags/class.table.php', + 'HTMLTextarea' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', + 'Help' => __DIR__ . '/../..' . '/www/lib/class.help.php', + 'HttpClient' => __DIR__ . '/../..' . '/www/lib/class.httpclient.php', + 'ICS' => __DIR__ . '/../..' . '/www/plugins/class.ics.php', + 'IMAP' => __DIR__ . '/../..' . '/www/lib/imap.inc.php', + 'ImageManipulator' => __DIR__ . '/../..' . '/www/lib/class.image.php', + 'IndexPoint' => __DIR__ . '/../..' . '/www/plugins/class.wikiparser.php', 'JmesPath\\AstRuntime' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/AstRuntime.php', 'JmesPath\\CompilerRuntime' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/CompilerRuntime.php', 'JmesPath\\DebugRuntime' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/DebugRuntime.php', @@ -1483,6 +2009,11 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'JmesPath\\TreeCompiler' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/TreeCompiler.php', 'JmesPath\\TreeInterpreter' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/TreeInterpreter.php', 'JmesPath\\Utils' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/Utils.php', + 'KalkulationPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.kalkulation.php', + 'KatalogPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.katalog.php', + 'KommissionierungPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.kommissionierung.php', + 'KorrespondenzPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.korrespondenz.php', + 'LagermindestmengenPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.lagermindestmengen.php', 'Laminas\\Loader\\AutoloaderFactory' => __DIR__ . '/..' . '/laminas/laminas-loader/src/AutoloaderFactory.php', 'Laminas\\Loader\\ClassMapAutoloader' => __DIR__ . '/..' . '/laminas/laminas-loader/src/ClassMapAutoloader.php', 'Laminas\\Loader\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/laminas/laminas-loader/src/Exception/BadMethodCallException.php', @@ -1807,6 +2338,7 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Laminas\\Validator\\ValidatorPluginManagerAwareInterface' => __DIR__ . '/..' . '/laminas/laminas-validator/src/ValidatorPluginManagerAwareInterface.php', 'Laminas\\Validator\\ValidatorPluginManagerFactory' => __DIR__ . '/..' . '/laminas/laminas-validator/src/ValidatorPluginManagerFactory.php', 'Laminas\\Validator\\ValidatorProviderInterface' => __DIR__ . '/..' . '/laminas/laminas-validator/src/ValidatorProviderInterface.php', + 'LayoutvorlagenPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.layoutvorlagen.php', 'League\\ColorExtractor\\Color' => __DIR__ . '/..' . '/league/color-extractor/src/League/ColorExtractor/Color.php', 'League\\ColorExtractor\\ColorExtractor' => __DIR__ . '/..' . '/league/color-extractor/src/League/ColorExtractor/ColorExtractor.php', 'League\\ColorExtractor\\Palette' => __DIR__ . '/..' . '/league/color-extractor/src/League/ColorExtractor/Palette.php', @@ -1892,13 +2424,34 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'League\\OAuth1\\Client\\Signature\\RsaSha1Signature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/RsaSha1Signature.php', 'League\\OAuth1\\Client\\Signature\\Signature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/Signature.php', 'League\\OAuth1\\Client\\Signature\\SignatureInterface' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/SignatureInterface.php', + 'LieferscheinPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.lieferschein.php', + 'LiveimportBase' => __DIR__ . '/../..' . '/www/plugins/liveimport/LiveimportBase.php', + 'Location' => __DIR__ . '/../..' . '/www/lib/class.location.php', + 'MahnwesenPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.mahnwesen.php', + 'MandatoryEntry' => __DIR__ . '/../..' . '/phpwf/plugins/class.formhandler.php', + 'ModuleScriptCache' => __DIR__ . '/../..' . '/phpwf/plugins/class.modulescriptcache.php', + 'Navigation' => __DIR__ . '/../..' . '/www/lib/class.navigation_edit.php', 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', + 'ObjectAPI' => __DIR__ . '/../..' . '/phpwf/plugins/class.objectapi.php', 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'PDF_EPS' => __DIR__ . '/../..' . '/www/lib/pdf/fpdf_final.php', + 'PHPMailer\\PHPMailer\\DSNConfigurator' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/DSNConfigurator.php', 'PHPMailer\\PHPMailer\\Exception' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/Exception.php', 'PHPMailer\\PHPMailer\\OAuth' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/OAuth.php', + 'PHPMailer\\PHPMailer\\OAuthTokenProvider' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/OAuthTokenProvider.php', 'PHPMailer\\PHPMailer\\PHPMailer' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/PHPMailer.php', 'PHPMailer\\PHPMailer\\POP3' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/POP3.php', 'PHPMailer\\PHPMailer\\SMTP' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/SMTP.php', + 'Page' => __DIR__ . '/../..' . '/phpwf/plugins/class.page.php', + 'PageBuilder' => __DIR__ . '/../..' . '/phpwf/plugins/class.pagebuilder.php', + 'Player' => __DIR__ . '/../..' . '/phpwf/class.player.php', + 'PreisanfragePDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.preisanfrage.php', + 'Printer' => __DIR__ . '/../..' . '/www/lib/class.printer.php', + 'PrinterBase' => __DIR__ . '/../..' . '/www/lib/PrinterBase.php', + 'ProduktionPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.produktion.php', + 'ProformarechnungPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.proformarechnung.php', + 'ProjektPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.projekt.php', + 'ProvisionsgutschriftPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.provisionsgutschrift.php', 'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', 'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', @@ -1972,6 +2525,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Rakit\\Validation\\Rules\\Url' => __DIR__ . '/..' . '/rakit/validation/src/Rules/Url.php', 'Rakit\\Validation\\Validation' => __DIR__ . '/..' . '/rakit/validation/src/Validation.php', 'Rakit\\Validation\\Validator' => __DIR__ . '/..' . '/rakit/validation/src/Validator.php', + 'RechnungPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.rechnung.php', + 'ReisekostenPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.reisekosten.php', + 'Remote' => __DIR__ . '/../..' . '/www/lib/class.remote.php', + 'RetourePDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.retoure.php', 'Sabre\\CalDAV\\Backend\\AbstractBackend' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php', 'Sabre\\CalDAV\\Backend\\BackendInterface' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/BackendInterface.php', 'Sabre\\CalDAV\\Backend\\NotificationSupport' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php', @@ -2312,6 +2869,11 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Sabre\\Xml\\Writer' => __DIR__ . '/..' . '/sabre/xml/lib/Writer.php', 'Sabre\\Xml\\XmlDeserializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlDeserializable.php', 'Sabre\\Xml\\XmlSerializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlSerializable.php', + 'Secure' => __DIR__ . '/../..' . '/phpwf/plugins/class.secure.php', + 'SepaMandat' => __DIR__ . '/../..' . '/www/lib/dokumente/class.sepamandat.php', + 'Session' => __DIR__ . '/../..' . '/phpwf/class.session.php', + 'ShopimporterBase' => __DIR__ . '/../..' . '/www/lib/ShopimporterBase.php', + 'SimpleList' => __DIR__ . '/../..' . '/phpwf/types/class.simplelist.php', 'Smarty' => __DIR__ . '/..' . '/smarty/smarty/libs/Smarty.class.php', 'SmartyBC' => __DIR__ . '/..' . '/smarty/smarty/libs/SmartyBC.class.php', 'SmartyCompilerException' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smartycompilerexception.php', @@ -2483,6 +3045,9 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Smarty_Template_Source' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_template_source.php', 'Smarty_Undefined_Variable' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_undefined_variable.php', 'Smarty_Variable' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_variable.php', + 'SpeditionPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.spedition.php', + 'StringCleaner' => __DIR__ . '/../..' . '/phpwf/plugins/class.stringcleaner.php', + 'SuperFPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.superfpdf.php', 'SwissPaymentSlip\\SwissPaymentSlipFpdf\\PaymentSlipFpdf' => __DIR__ . '/..' . '/swiss-payment-slip/swiss-payment-slip-fpdf/src/PaymentSlipFpdf.php', 'SwissPaymentSlip\\SwissPaymentSlipPdf\\PaymentSlipPdf' => __DIR__ . '/..' . '/swiss-payment-slip/swiss-payment-slip-pdf/src/PaymentSlipPdf.php', 'SwissPaymentSlip\\SwissPaymentSlip\\Exception\\DisabledDataException' => __DIR__ . '/..' . '/swiss-payment-slip/swiss-payment-slip/src/Exception/DisabledDataException.php', @@ -2510,13 +3075,231 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'TCPDF_STATIC' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_static.php', 'TPC_yyStackEntry' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_internal_configfileparser.php', 'TP_yyStackEntry' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php', + 'TemplateParser' => __DIR__ . '/../..' . '/phpwf/plugins/class.templateparser.php', + 'ThemeTemplate' => __DIR__ . '/../..' . '/phpwf/plugins/class.templateparser.php', + 'TransferBase' => __DIR__ . '/../..' . '/www/lib/TransferBase.php', + 'USTID' => __DIR__ . '/../..' . '/www/lib/class.ustid.php', + 'User' => __DIR__ . '/../..' . '/phpwf/plugins/class.user.php', 'Versandart_dhl' => __DIR__ . '/../..' . '/www/lib/versandarten/dhl.php', 'Versandart_dpddepot' => __DIR__ . '/../..' . '/www/lib/versandarten/dpddepot.php', 'Versandart_go' => __DIR__ . '/../..' . '/www/lib/versandarten/go.php', 'Versandart_sendcloud' => __DIR__ . '/../..' . '/www/lib/versandarten/sendcloud.php', + 'VersandpaketscheinPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.versandpaketschein.php', + 'WFMonitor' => __DIR__ . '/../..' . '/phpwf/plugins/class.wfmonitor.php', + 'WaWisionOTP' => __DIR__ . '/../..' . '/phpwf/plugins/class.wawision_otp.php', + 'WawiString' => __DIR__ . '/../..' . '/phpwf/plugins/class.string.php', 'Webmozart\\Assert\\Assert' => __DIR__ . '/..' . '/webmozart/assert/src/Assert.php', 'Webmozart\\Assert\\InvalidArgumentException' => __DIR__ . '/..' . '/webmozart/assert/src/InvalidArgumentException.php', 'Webmozart\\Assert\\Mixin' => __DIR__ . '/..' . '/webmozart/assert/src/Mixin.php', + 'WidgetAPI' => __DIR__ . '/../..' . '/phpwf/plugins/class.widgetapi.php', + 'WidgetAbrechnungsartikel' => __DIR__ . '/../..' . '/www/widgets/widget.abrechnungsartikel.php', + 'WidgetAdapterbox' => __DIR__ . '/../..' . '/www/widgets/widget.adapterbox.php', + 'WidgetAdresse' => __DIR__ . '/../..' . '/www/widgets/widget.adresse.php', + 'WidgetAdresse_accounts' => __DIR__ . '/../..' . '/www/widgets/widget.adresse_accounts.php', + 'WidgetAdresse_rolle' => __DIR__ . '/../..' . '/www/widgets/widget.adresse_rolle.php', + 'WidgetAdresse_typ' => __DIR__ . '/../..' . '/www/widgets/widget.adresse_typ.php', + 'WidgetAktionscode_liste' => __DIR__ . '/../..' . '/www/widgets/widget.aktionscode_liste.php', + 'WidgetAnfrage' => __DIR__ . '/../..' . '/www/widgets/widget.anfrage.php', + 'WidgetAnfrage_position' => __DIR__ . '/../..' . '/www/widgets/widget.anfrage_position.php', + 'WidgetAngebot' => __DIR__ . '/../..' . '/www/widgets/widget.angebot.php', + 'WidgetAngebot_position' => __DIR__ . '/../..' . '/www/widgets/widget.angebot_position.php', + 'WidgetAnsprechpartner' => __DIR__ . '/../..' . '/www/widgets/widget.ansprechpartner.php', + 'WidgetArbeitsfreietage' => __DIR__ . '/../..' . '/www/widgets/widget.arbeitsfreietage.php', + 'WidgetArbeitsnachweis' => __DIR__ . '/../..' . '/www/widgets/widget.arbeitsnachweis.php', + 'WidgetArbeitsnachweis_position' => __DIR__ . '/../..' . '/www/widgets/widget.arbeitsnachweis_position.php', + 'WidgetArbeitspaket' => __DIR__ . '/../..' . '/www/widgets/widget.arbeitspaket.php', + 'WidgetArtikel' => __DIR__ . '/../..' . '/www/widgets/widget.artikel.php', + 'WidgetArtikeleigenschaften' => __DIR__ . '/../..' . '/www/widgets/widget.artikeleigenschaften.php', + 'WidgetArtikeleinheit' => __DIR__ . '/../..' . '/www/widgets/widget.artikeleinheit.php', + 'WidgetArtikelgruppen' => __DIR__ . '/../..' . '/www/widgets/widget.artikelgruppen.php', + 'WidgetArtikelkategorien' => __DIR__ . '/../..' . '/www/widgets/widget.artikelkategorien.php', + 'WidgetArtikeloptionengruppe' => __DIR__ . '/../..' . '/www/widgets/widget.artikeloptionengruppe.php', + 'WidgetAufgabe' => __DIR__ . '/../..' . '/www/widgets/widget.aufgabe.php', + 'WidgetAuftrag' => __DIR__ . '/../..' . '/www/widgets/widget.auftrag.php', + 'WidgetAuftrag_artikel' => __DIR__ . '/../..' . '/www/widgets/widget.auftrag_artikel.php', + 'WidgetAuftrag_position' => __DIR__ . '/../..' . '/www/widgets/widget.auftrag_position.php', + 'WidgetBerichte' => __DIR__ . '/../..' . '/www/widgets/widget.berichte.php', + 'WidgetBestellung' => __DIR__ . '/../..' . '/www/widgets/widget.bestellung.php', + 'WidgetBestellung_position' => __DIR__ . '/../..' . '/www/widgets/widget.bestellung_position.php', + 'WidgetBrief' => __DIR__ . '/../..' . '/www/widgets/widget.brief.php', + 'WidgetDrucker' => __DIR__ . '/../..' . '/www/widgets/widget.drucker.php', + 'WidgetEinkaufspreise' => __DIR__ . '/../..' . '/www/widgets/widget.einkaufspreise.php', + 'WidgetEmail' => __DIR__ . '/../..' . '/www/widgets/widget.email.php', + 'WidgetEtiketten' => __DIR__ . '/../..' . '/www/widgets/widget.etiketten.php', + 'WidgetExportvorlage' => __DIR__ . '/../..' . '/www/widgets/widget.exportvorlage.php', + 'WidgetGenabrechnungsartikel' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.abrechnungsartikel.php', + 'WidgetGenadapterbox' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adapterbox.php', + 'WidgetGenadresse' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adresse.php', + 'WidgetGenadresse_accounts' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adresse_accounts.php', + 'WidgetGenadresse_onchange' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adresse_onchange.php', + 'WidgetGenadresse_rolle' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adresse_rolle.php', + 'WidgetGenadresse_typ' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.adresse_typ.php', + 'WidgetGenaktionscode_liste' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.aktionscode_liste.php', + 'WidgetGenanfrage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.anfrage.php', + 'WidgetGenanfrage_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.anfrage_position.php', + 'WidgetGenangebot' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.angebot.php', + 'WidgetGenangebot_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.angebot_position.php', + 'WidgetGenansprechpartner' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.ansprechpartner.php', + 'WidgetGenarbeitsfreietage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.arbeitsfreietage.php', + 'WidgetGenarbeitsnachweis' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.arbeitsnachweis.php', + 'WidgetGenarbeitsnachweis_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.arbeitsnachweis_position.php', + 'WidgetGenarbeitspaket' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.arbeitspaket.php', + 'WidgetGenartikel' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikel.php', + 'WidgetGenartikeleigenschaften' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikeleigenschaften.php', + 'WidgetGenartikeleinheit' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikeleinheit.php', + 'WidgetGenartikelgruppen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikelgruppen.php', + 'WidgetGenartikelkategorien' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikelkategorien.php', + 'WidgetGenartikeloptionengruppe' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.artikeloptionengruppe.php', + 'WidgetGenaufgabe' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.aufgabe.php', + 'WidgetGenauftrag' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.auftrag.php', + 'WidgetGenauftrag_artikel' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.auftrag_artikel.php', + 'WidgetGenauftrag_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.auftrag_position.php', + 'WidgetGenauftragsannahme' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.auftragsannahme.php', + 'WidgetGenbackupserver' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.backupserver.php', + 'WidgetGenberichte' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.berichte.php', + 'WidgetGenbestellung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.bestellung.php', + 'WidgetGenbestellung_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.bestellung_position.php', + 'WidgetGenbrief' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.brief.php', + 'WidgetGenchargen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.chargen.php', + 'WidgetGencluster' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.cluster.php', + 'WidgetGendatei_stichwortvorlagen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.datei_stichwortvorlagen.php', + 'WidgetGendrucker' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.drucker.php', + 'WidgetGeneigenschaften' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.eigenschaften.php', + 'WidgetGeneinkaufspreise' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.einkaufspreise.php', + 'WidgetGenemail' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.email.php', + 'WidgetGenemailbackup' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.emailbackup.php', + 'WidgetGenetiketten' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.etiketten.php', + 'WidgetGenexportvorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.exportvorlage.php', + 'WidgetGenfahrtenbuch' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.fahrtenbuch.php', + 'WidgetGengeraeteverwaltung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.geraeteverwaltung.php', + 'WidgetGengeschaeftsbrief_vorlagen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.geschaeftsbrief_vorlagen.php', + 'WidgetGengeschaeftsfall' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.geschaeftsfall.php', + 'WidgetGengruppen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.gruppen.php', + 'WidgetGengruppen_kategorien' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.gruppen_kategorien.php', + 'WidgetGengutschrift' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.gutschrift.php', + 'WidgetGengutschrift_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.gutschrift_position.php', + 'WidgetGenimportvorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.importvorlage.php', + 'WidgetGeninhalt' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.inhalt.php', + 'WidgetGeninventur' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.inventur.php', + 'WidgetGeninventur_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.inventur_position.php', + 'WidgetGenkalkulation' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kalkulation.php', + 'WidgetGenkalkulation_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kalkulation_position.php', + 'WidgetGenkasse' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kasse.php', + 'WidgetGenkontorahmen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kontorahmen.php', + 'WidgetGenkostenstellen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kostenstellen.php', + 'WidgetGenkundevorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.kundevorlage.php', + 'WidgetGenlager' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lager.php', + 'WidgetGenlieferadressen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lieferadressen.php', + 'WidgetGenlieferantvorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lieferantvorlage.php', + 'WidgetGenlieferbedingungen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lieferbedingungen.php', + 'WidgetGenlieferschein' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lieferschein.php', + 'WidgetGenlieferschein_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.lieferschein_position.php', + 'WidgetGenpartner' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.partner.php', + 'WidgetGenpos_kassierer' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.pos_kassierer.php', + 'WidgetGenpreisanfrage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.preisanfrage.php', + 'WidgetGenpreisanfrage_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.preisanfrage_position.php', + 'WidgetGenproduktion' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.produktion.php', + 'WidgetGenproduktion_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.produktion_position.php', + 'WidgetGenproformarechnung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.proformarechnung.php', + 'WidgetGenproformarechnung_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.proformarechnung_position.php', + 'WidgetGenprojekt' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.projekt.php', + 'WidgetGenprozessstarter' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.prozessstarter.php', + 'WidgetGenrechnung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.rechnung.php', + 'WidgetGenrechnung_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.rechnung_position.php', + 'WidgetGenreisekosten' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.reisekosten.php', + 'WidgetGenreisekosten_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.reisekosten_position.php', + 'WidgetGenreisekosten_positionen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.reisekosten_positionen.php', + 'WidgetGenreisekostenart' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.reisekostenart.php', + 'WidgetGenremotezugang' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.remotezugang.php', + 'WidgetGenretoure' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.retoure.php', + 'WidgetGenretoure_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.retoure_position.php', + 'WidgetGenrohstoffe' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.rohstoffe.php', + 'WidgetGenseriennummern' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.seriennummern.php', + 'WidgetGenservice' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.service.php', + 'WidgetGenshopexport' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.shopexport.php', + 'WidgetGenshopexport_kampange' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.shopexport_kampange.php', + 'WidgetGenspedition' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.spedition.php', + 'WidgetGenspedition_avi' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.spedition_avi.php', + 'WidgetGenstation' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.station.php', + 'WidgetGenstueckliste' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.stueckliste.php', + 'WidgetGensupportapp' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.supportapp.php', + 'WidgetGenterminals' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.terminals.php', + 'WidgetGenticket' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.ticket.php', + 'WidgetGenticket_vorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.ticket_vorlage.php', + 'WidgetGenuebersetzung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.uebersetzung.php', + 'WidgetGenuser' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.user.php', + 'WidgetGenuservorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.uservorlage.php', + 'WidgetGenverbindlichkeit' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.verbindlichkeit.php', + 'WidgetGenverbindlichkeit_position' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.verbindlichkeit_position.php', + 'WidgetGenverkaufspreise' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.verkaufspreise.php', + 'WidgetGenverrechnungsart' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.verrechnungsart.php', + 'WidgetGenversandarten' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.versandarten.php', + 'WidgetGenvorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.vorlage.php', + 'WidgetGenwaage_artikel' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.waage_artikel.php', + 'WidgetGenwarteschlangen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.warteschlangen.php', + 'WidgetGenwawisioneinrichtung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.wawisioneinrichtung.php', + 'WidgetGenwebmail' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.webmail.php', + 'WidgetGenwebmail_mails' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.webmail_mails.php', + 'WidgetGenwebmail_zuordnung' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.webmail_zuordnung.php', + 'WidgetGenwiedervorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.wiedervorlage.php', + 'WidgetGenwissensdatenbank' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.wissensdatenbank.php', + 'WidgetGenzahlungsweisen' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.zahlungsweisen.php', + 'WidgetGenzeiterfassungvorlage' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.zeiterfassungvorlage.php', + 'WidgetGenzolltarifnummer' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.zolltarifnummer.php', + 'WidgetGenzugangstoken' => __DIR__ . '/../..' . '/www/widgets/_gen/widget.gen.zugangstoken.php', + 'WidgetGeschaeftsbrief_vorlagen' => __DIR__ . '/../..' . '/www/widgets/widget.geschaeftsbrief_vorlagen.php', + 'WidgetGutschrift' => __DIR__ . '/../..' . '/www/widgets/widget.gutschrift.php', + 'WidgetGutschrift_position' => __DIR__ . '/../..' . '/www/widgets/widget.gutschrift_position.php', + 'WidgetImportvorlage' => __DIR__ . '/../..' . '/www/widgets/widget.importvorlage.php', + 'WidgetInhalt' => __DIR__ . '/../..' . '/www/widgets/widget.inhalt.php', + 'WidgetInventur' => __DIR__ . '/../..' . '/www/widgets/widget.inventur.php', + 'WidgetInventur_position' => __DIR__ . '/../..' . '/www/widgets/widget.inventur_position.php', + 'WidgetKalkulation' => __DIR__ . '/../..' . '/www/widgets/widget.kalkulation.php', + 'WidgetKalkulation_position' => __DIR__ . '/../..' . '/www/widgets/widget.kalkulation_position.php', + 'WidgetKostenstellen' => __DIR__ . '/../..' . '/www/widgets/widget.kostenstellen.php', + 'WidgetKundevorlage' => __DIR__ . '/../..' . '/www/widgets/widget.kundevorlage.php', + 'WidgetLager' => __DIR__ . '/../..' . '/www/widgets/widget.lager.php', + 'WidgetLieferadressen' => __DIR__ . '/../..' . '/www/widgets/widget.lieferadressen.php', + 'WidgetLieferantvorlage' => __DIR__ . '/../..' . '/www/widgets/widget.lieferantvorlage.php', + 'WidgetLieferschein' => __DIR__ . '/../..' . '/www/widgets/widget.lieferschein.php', + 'WidgetLieferschein_position' => __DIR__ . '/../..' . '/www/widgets/widget.lieferschein_position.php', + 'WidgetPreisanfrage' => __DIR__ . '/../..' . '/www/widgets/widget.preisanfrage.php', + 'WidgetPreisanfrage_position' => __DIR__ . '/../..' . '/www/widgets/widget.preisanfrage_position.php', + 'WidgetProformarechnung' => __DIR__ . '/../..' . '/www/widgets/widget.proformarechnung.php', + 'WidgetProformarechnung_position' => __DIR__ . '/../..' . '/www/widgets/widget.proformarechnung_position.php', + 'WidgetProjekt' => __DIR__ . '/../..' . '/www/widgets/widget.projekt.php', + 'WidgetProzessstarter' => __DIR__ . '/../..' . '/www/widgets/widget.prozessstarter.php', + 'WidgetRechnung' => __DIR__ . '/../..' . '/www/widgets/widget.rechnung.php', + 'WidgetRechnung_position' => __DIR__ . '/../..' . '/www/widgets/widget.rechnung_position.php', + 'WidgetReisekosten' => __DIR__ . '/../..' . '/www/widgets/widget.reisekosten.php', + 'WidgetReisekosten_position' => __DIR__ . '/../..' . '/www/widgets/widget.reisekosten_position.php', + 'WidgetReisekostenart' => __DIR__ . '/../..' . '/www/widgets/widget.reisekostenart.php', + 'WidgetRetoure' => __DIR__ . '/../..' . '/www/widgets/widget.retoure.php', + 'WidgetRetoure_position' => __DIR__ . '/../..' . '/www/widgets/widget.retoure_position.php', + 'WidgetRohstoffe' => __DIR__ . '/../..' . '/www/widgets/widget.rohstoffe.php', + 'WidgetShopexport' => __DIR__ . '/../..' . '/www/widgets/widget.shopexport.php', + 'WidgetShopexport_kampange' => __DIR__ . '/../..' . '/www/widgets/widget.shopexport_kampange.php', + 'WidgetStueckliste' => __DIR__ . '/../..' . '/www/widgets/widget.stueckliste.php', + 'WidgetUebersetzung' => __DIR__ . '/../..' . '/www/widgets/widget.uebersetzung.php', + 'WidgetUser' => __DIR__ . '/../..' . '/www/widgets/widget.user.php', + 'WidgetUservorlage' => __DIR__ . '/../..' . '/www/widgets/widget.uservorlage.php', + 'WidgetVerbindlichkeit' => __DIR__ . '/../..' . '/www/widgets/widget.verbindlichkeit.php', + 'WidgetVerbindlichkeit_position' => __DIR__ . '/../..' . '/www/widgets/widget.verbindlichkeit_position.php', + 'WidgetVerkaufspreise' => __DIR__ . '/../..' . '/www/widgets/widget.verkaufspreise.php', + 'WidgetVerrechnungsart' => __DIR__ . '/../..' . '/www/widgets/widget.verrechnungsart.php', + 'WidgetVersandarten' => __DIR__ . '/../..' . '/www/widgets/widget.versandarten.php', + 'WidgetVorlage' => __DIR__ . '/../..' . '/www/widgets/widget.vorlage.php', + 'WidgetWawisioneinrichtung' => __DIR__ . '/../..' . '/www/widgets/widget.wawisioneinrichtung.php', + 'WidgetWebmail_mails' => __DIR__ . '/../..' . '/www/widgets/widget.webmail_mails.php', + 'WidgetWiedervorlage' => __DIR__ . '/../..' . '/www/widgets/widget.wiedervorlage.php', + 'WidgetWissensdatenbank' => __DIR__ . '/../..' . '/www/widgets/widget.wissensdatenbank.php', + 'WidgetZahlungsweisen' => __DIR__ . '/../..' . '/www/widgets/widget.zahlungsweisen.php', + 'WidgetZeiterfassungvorlage' => __DIR__ . '/../..' . '/www/widgets/widget.zeiterfassungvorlage.php', + 'WidgetZolltarifnummer' => __DIR__ . '/../..' . '/www/widgets/widget.zolltarifnummer.php', + 'Widgetgruppen' => __DIR__ . '/../..' . '/www/widgets/widget.gruppen.php', + 'Widgetgruppen_kategorien' => __DIR__ . '/../..' . '/www/widgets/widget.gruppen_kategorien.php', + 'WikiParser' => __DIR__ . '/../..' . '/www/plugins/class.wikiparser.php', + 'XTEA' => __DIR__ . '/../..' . '/www/lib/class.xtea.php', 'Xentral\\Carrier\\Dhl\\Data\\Bank' => __DIR__ . '/../..' . '/classes/Carrier/Dhl/Data/Bank.php', 'Xentral\\Carrier\\Dhl\\Data\\Communication' => __DIR__ . '/../..' . '/classes/Carrier/Dhl/Data/Communication.php', 'Xentral\\Carrier\\Dhl\\Data\\Contact' => __DIR__ . '/../..' . '/classes/Carrier/Dhl/Data/Contact.php', @@ -4110,9 +4893,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Xentral\\Widgets\\SuperSearch\\Result\\ResultGroup' => __DIR__ . '/../..' . '/classes/Widgets/SuperSearch/Result/ResultGroup.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultItem' => __DIR__ . '/../..' . '/classes/Widgets/SuperSearch/Result/ResultItem.php', 'Y0lk\\OAuth1\\Client\\Server\\Etsy' => __DIR__ . '/..' . '/y0lk/oauth1-etsy/src/Etsy.php', + 'YUI' => __DIR__ . '/../..' . '/phpwf/plugins/class.yui.php', + 'erpAPI' => __DIR__ . '/../..' . '/www/lib/class.erpapi.php', + 'erpooSystem' => __DIR__ . '/../..' . '/www/eproosystem.php', + 'image' => __DIR__ . '/../..' . '/www/lib/class.image.php', 'lfkeitel\\phptotp\\Base32' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Base32.php', 'lfkeitel\\phptotp\\Hotp' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Hotp.php', 'lfkeitel\\phptotp\\Totp' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Totp.php', + 'phpWFAPI' => __DIR__ . '/../..' . '/phpwf/plugins/class.phpwfapi.php', + 'phpprint' => __DIR__ . '/../..' . '/www/plugins/php-print.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/www/api/index.php b/www/api/index.php index c981d19ae..a2ed25675 100644 --- a/www/api/index.php +++ b/www/api/index.php @@ -3,7 +3,6 @@ ini_set('display_errors', false); error_reporting(E_ERROR); -require dirname(dirname(__DIR__)) . '/xentral_autoloader.php'; require dirname(dirname(__DIR__)) . '/vendor/autoload.php'; define('DEBUG_MODE', false); diff --git a/www/docscan/upload.php b/www/docscan/upload.php index 29b4f12e1..2ebe00296 100644 --- a/www/docscan/upload.php +++ b/www/docscan/upload.php @@ -6,7 +6,6 @@ use Sabre\DAV\Locks\Plugin; use Sabre\DAV\Server; -include_once dirname(dirname(__DIR__)) . '/xentral_autoloader.php'; require_once dirname(dirname(__DIR__)) . '/vendor/autoload.php'; /* diff --git a/www/eproosystem.php b/www/eproosystem.php index 0c50f5bcb..aaa092535 100644 --- a/www/eproosystem.php +++ b/www/eproosystem.php @@ -33,7 +33,7 @@ ini_set('display_errors', 'on'); ini_set('magic_quotes_runtime', 0); -require_once dirname(__DIR__).'/phpwf/class.application.php'; +require_once __DIR__.'/../phpwf/class.application.php'; if( WithGUI(true)) { diff --git a/www/index.php b/www/index.php index 6f9f81aa7..a0d72036a 100644 --- a/www/index.php +++ b/www/index.php @@ -20,7 +20,7 @@ if(file_exists(dirname(__DIR__).'/phpwf/plugins/class.devtools.php'))include_once(dirname(__DIR__).'/phpwf/plugins/class.devtools.php'); -include_once (dirname(__DIR__).'/xentral_autoloader.php'); +require_once (dirname(__DIR__).'/vendor/autoload.php'); if(!isset($_GET['module']) || $_GET['module'] != 'api') { @@ -37,12 +37,9 @@ $errorHandler = new ErrorHandler(); $errorHandler->register(); -include("eproosystem.php"); - if(!is_file(dirname(dirname($_SERVER['SCRIPT_FILENAME'])).DIRECTORY_SEPARATOR."conf/user.inc.php")) header('Location: ./setup/setup.php'); else { -include(dirname(dirname($_SERVER['SCRIPT_FILENAME'])).DIRECTORY_SEPARATOR."/conf/main.conf.php"); try { $config = ConfigLoader::load(); } catch (MultiDbConfigNotFoundException $exception) { @@ -53,11 +50,9 @@ $app = new erpooSystem($config); // layer 2 -> darfst du ueberhaupt? -include("../phpwf/class.session.php"); $session = new Session(); $session->Check($app); // layer 3 -> nur noch abspielen -include("../phpwf/class.player.php"); $player = new Player(); $player->Run($session); } diff --git a/www/lib/dokumente/class.anfrage.php b/www/lib/dokumente/class.anfrage.php index 590cd156f..b0f37404f 100644 --- a/www/lib/dokumente/class.anfrage.php +++ b/www/lib/dokumente/class.anfrage.php @@ -1,4 +1,4 @@ - - - - - - - - - - - - -__DIR__.'/conf/main.conf.php', - 'EasyTable'=>__DIR__.'/phpwf/widgets/easytable.php', - 'FileTable'=>__DIR__.'/phpwf/widgets/filetable.php', - 'DownloadSpoolerTable'=>__DIR__.'/phpwf/widgets/downloadspoolertable.php', - 'HTMLTable'=>__DIR__.'/phpwf/htmltags/class.table.php', - 'image'=>__DIR__.'/www/lib/class.image.php', - 'Location'=>__DIR__.'/www/lib/class.location.php', - 'TemplateParser'=>__DIR__.'/phpwf/plugins/class.templateparser.php', - 'ModuleScriptCache'=>__DIR__.'/phpwf/plugins/class.modulescriptcache.php', - 'Table'=>__DIR__.'/phpwf/widgets/table.php', - 'Remote'=>__DIR__.'/www/lib/class.remote.php', - 'erpAPI'=>__DIR__.'/www/lib/class.erpapi.php', - 'erpooSystem'=>__DIR__.'/www/eproosystem.php', - 'erpAPICustom'=>__DIR__.'/www/lib/class.erpapi_custom.php', - 'RemoteCustom'=>__DIR__.'/www/lib/class.remote_custom.php', - 'YUI'=>__DIR__.'/phpwf/plugins/class.yui.php', - 'User'=>__DIR__.'/phpwf/plugins/class.user.php', - 'Secure'=>__DIR__.'/phpwf/plugins/class.secure.php', - 'Secure2'=>__DIR__.'/phpwf/plugins/class.secure2.php', - 'Acl'=>__DIR__.'/phpwf/plugins/class.acl.php', - 'WawiString'=>__DIR__.'/phpwf/plugins/class.string.php', - 'phpWFAPI'=>__DIR__.'/phpwf/plugins/class.phpwfapi.php', - 'ApplicationCore'=>__DIR__.'/phpwf/class.application_core.php', - 'Application'=>__DIR__.'/phpwf/class.application.php', - 'HttpClient'=>__DIR__.'/www/lib/class.httpclient.php', - 'SMTP'=>__DIR__.'/www/plugins/phpmailer/class.smtp.php', - 'IMAP'=>__DIR__.'/www/lib/imap.inc.php', - 'PHPMailer'=>__DIR__.'/www/plugins/phpmailer/class.phpmailer.php', - 'Help'=>__DIR__.'/www/lib/class.help.php', - 'StringCleaner'=>__DIR__.'/phpwf/plugins/class.stringcleaner.php', - 'Page'=>__DIR__.'/phpwf/plugins/class.page.php', - 'ObjectAPI'=>__DIR__.'/phpwf/plugins/class.objectapi.php', - 'WFMonitor'=>__DIR__.'/phpwf/plugins/class.wfmonitor.php', - 'FormHandler'=>__DIR__.'/phpwf/plugins/class.formhandler.php', - 'DatabaseUpgrade'=>__DIR__.'/phpwf/plugins/class.databaseupgrade.php', - 'WidgetAPI'=>__DIR__.'/phpwf/plugins/class.widgetapi.php', - 'PageBuilder'=>__DIR__.'/phpwf/plugins/class.pagebuilder.php', - 'DB'=>__DIR__.'/phpwf/plugins/class.mysql.php', - 'Printer'=>__DIR__.'/www/lib/class.printer.php', - 'PrinterCustom'=>__DIR__.'/www/lib/class.printer_custom.php', - 'HTMLForm'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'HTMLTextarea'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'BlindField'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'HTMLInput'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'HTMLCheckbox'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'HTMLSelect'=>__DIR__.'/phpwf/htmltags/class.form.php', - 'SimpleList'=>__DIR__.'/phpwf/types/class.simplelist.php', - 'WaWisionOTP'=>__DIR__.'/phpwf/plugins/class.wawision_otp.php', - 'PDF_EPS'=>__DIR__.'/www/lib/pdf/fpdf_final.php', - 'SuperFPDF'=>__DIR__.'/www/lib/dokumente/class.superfpdf.php', - 'Briefpapier'=>__DIR__.'/www/lib/dokumente/class.briefpapier.php', - 'PDF'=>__DIR__.'/www/lib/pdf/fpdf.php', - 'SpeditionPDF'=>__DIR__.'/www/lib/dokumente/class.spedition.php', - 'EtikettenPDF'=>__DIR__.'/www/lib/dokumente/class.etiketten.php', - 'Dokumentenvorlage'=>__DIR__.'/www/lib/dokumente/class.dokumentenvorlage.php', - 'SepaMandat'=>__DIR__.'/www/lib/dokumente/class.sepamandat.php', - 'TransferBase'=>__DIR__.'/www/lib/TransferBase.php', - 'PrinterBase'=>__DIR__.'/www/lib/PrinterBase.php', - 'WikiParser'=>__DIR__.'/www/plugins/class.wikiparser.php', - 'IndexPoint'=>__DIR__.'/www/plugins/class.wikiparser.php', - 'ICS'=>__DIR__.'/www/plugins/class.ics.php', - 'USTID'=>__DIR__.'/www/lib/class.ustid.php', - 'phpprint'=>__DIR__.'/www/plugins/php-print.php', - 'Navigation'=>__DIR__.'/www/lib/class.navigation_edit.php', - 'GoShipment'=>__DIR__.'/www/lib/class.go.php', - 'UPSShipment'=>__DIR__.'/www/lib/class.ups.php', - 'XTEA'=>__DIR__.'/www/lib/class.xtea.php', - 'ShopimporterBase'=>__DIR__.'/www/lib/ShopimporterBase.php', - 'LiveimportBase'=>__DIR__.'/www/plugins/liveimport/LiveimportBase.php', - 'paypal'=>__DIR__.'/www/plugins/liveimport/paypal/paypal.php', - 'DocscanRoot' => __DIR__ . '/www/docscan/classes/DocscanRoot.php', - 'DocscanFile' => __DIR__ . '/www/docscan/classes/DocscanFile.php', - 'DocscanDir' => __DIR__ . '/www/docscan/classes/DocscanDir.php', - 'DocscanAuth' => __DIR__ . '/www/docscan/classes/DocscanAuth.php', - 'ArtikelTabelle' => __DIR__ . '/www/widgets/artikeltable.php', - 'Xentral\Core\LegacyConfig\ConfigLoader'=>__DIR__.'/classes/Core/LegacyConfig/ConfigLoader.php', - 'Xentral\Core\LegacyConfig\Exception\LegacyConfigExceptionInterface'=>__DIR__.'/classes/Core/LegacyConfig/Exception/LegacyConfigExceptionInterface.php', - 'Xentral\Core\LegacyConfig\Exception\InvalidArgumentException'=>__DIR__.'/classes/Core/LegacyConfig/Exception/InvalidArgumentException.php', - 'Xentral\Core\LegacyConfig\Exception\MultiDbConfigNotFoundException'=>__DIR__.'/classes/Core/LegacyConfig/Exception/MultiDbConfigNotFoundException.php', - 'Xentral\Core\LegacyConfig\MultiDbArrayHydrator'=>__DIR__.'/classes/Core/LegacyConfig/MultiDbArrayHydrator.php', - 'Xentral\Core\ErrorHandler\ErrorHandler'=>__DIR__.'/classes/Core/ErrorHandler/ErrorHandler.php', - 'Xentral\Core\ErrorHandler\ErrorPageData'=>__DIR__.'/classes/Core/ErrorHandler/ErrorPageData.php', - 'Xentral\Core\ErrorHandler\ErrorPageRenderer'=>__DIR__.'/classes/Core/ErrorHandler/ErrorPageRenderer.php', - 'Xentral\Core\ErrorHandler\PhpErrorException'=>__DIR__.'/classes/Core/ErrorHandler/PhpErrorException.php', - 'Xentral\Core\Exception\ComponentExceptionInterface'=>__DIR__. '/classes/Core/Exception/ComponentExceptionInterface.php', - 'Xentral\Core\Exception\CoreExceptionInterface'=>__DIR__. '/classes/Core/Exception/CoreExceptionInterface.php', - 'Xentral\Core\Exception\ModuleExceptionInterface'=>__DIR__. '/classes/Core/Exception/ModuleExceptionInterface.php', - 'Xentral\Core\Exception\WidgetExceptionInterface'=>__DIR__. '/classes/Core/Exception/WidgetExceptionInterface.php', - 'Xentral\Core\Exception\XentralExceptionInterface'=>__DIR__. '/classes/Core/Exception/XentralExceptionInterface.php', - 'Xentral\Core\Installer\ClassMapGenerator'=>__DIR__.'/classes/Core/Installer/ClassMapGenerator.php', - 'Xentral\Core\Installer\Installer'=>__DIR__.'/classes/Core/Installer/Installer.php', - 'Xentral\Core\Installer\InstallerCacheConfig'=>__DIR__.'/classes/Core/Installer/InstallerCacheConfig.php', - 'Xentral\Core\Installer\InstallerCacheWriter'=>__DIR__.'/classes/Core/Installer/InstallerCacheWriter.php', - 'Xentral\Core\Installer\Psr4ClassNameResolver'=>__DIR__.'/classes/Core/Installer/Psr4ClassNameResolver.php', - ); - if(isset($classes[$class]) && is_file($classes[$class])) - { - include_once $classes[$class]; - return; - } - if(strpos($class,'Widget') === 0) - { - if(strpos($class,'WidgetGen') === 0) - { - $file = strtolower(substr($class,9)); - if(is_file(__DIR__.'/www/widgets/_gen/widget.gen.'.$file.'.php')) - { - include __DIR__.'/www/widgets/_gen/widget.gen.'.$file.'.php'; - return; - } - } - $file = strtolower(substr($class,6)); - if(is_file(__DIR__.'/www/widgets/widget.'.$file.'.php')) - { - include __DIR__.'/www/widgets/widget.'.$file.'.php'; - return; - } - } - if($class === 'AES') - { - if(version_compare(phpversion(),'7.1', '>=') && is_file(__DIR__.'/www/lib/class.aes2.php')){ - include __DIR__.'/www/lib/class.aes2.php'; - } else{ - include __DIR__ . '/www/lib/class.aes.php'; - } - return; - } - if($class === 'FPDFWAWISION') - { - if(is_file(__DIR__.'/conf/user_defined.php')) - { - include_once __DIR__.'/conf/user_defined.php'; - } - if(!defined('USEFPDF3')){ - define('USEFPDF3', true); - } - if(defined('USEFPDF3') && USEFPDF3) - { - if(is_file(__DIR__ .'/www/lib/pdf/fpdf_3.php')) - { - require_once __DIR__ .'/www/lib/pdf/fpdf_3.php'; - }else { - require_once __DIR__ .'/www/lib/pdf/fpdf.php'; - } - } - else if(defined('USEFPDF2') && USEFPDF2) - { - if(is_file(__DIR__ .'/www/lib/pdf/fpdf_2.php')) - { - require_once __DIR__ .'/www/lib/pdf/fpdf_2.php'; - }else { - require_once __DIR__ .'/www/lib/pdf/fpdf.php'; - } - } else { - require_once __DIR__ .'/www/lib/pdf/fpdf.php'; - } - return; - } - if($class === 'BriefpapierCustom') - { - if(is_file(__DIR__.'/www/lib/dokumente/class.briefpapier_custom.php')) - { - include __DIR__.'/www/lib/dokumente/class.briefpapier_custom.php'; - }else{ - class BriefpapierCustom extends Briefpapier - { - - } - } - } - - if(substr($class, -3) === 'PDF') { - $file = __DIR__.'/www/lib/dokumente/class.'.strtolower(substr($class,0,-3)).'.php'; - if(file_exists($file)) { - include $file; - } - elseif(file_exists(__DIR__.'/www/lib/dokumente/class.'.strtolower($class).'.php')) { - include __DIR__.'/www/lib/dokumente/class.'.strtolower($class).'.php'; - } - } - elseif(substr($class, -9) === 'PDFCustom') { - $file = __DIR__.'/www/lib/dokumente/class.'.strtolower(substr($class,0,-9)).'_custom.php'; - if(file_exists($file)) { - include $file; - } - } -} - -spl_autoload_register('xentral_autoloader'); From bdedf36a3667044f1a6145e37619972ae793c25a Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Sun, 15 Feb 2026 20:47:11 +0100 Subject: [PATCH 04/15] Remove unused `Help` class and related references, clean up deprecated methods, and improve null handling in `class.user.php`. --- phpwf/class.application.php | 4 +- phpwf/class.application_core.php | 1185 +++++++++++++++--------------- phpwf/plugins/class.user.php | 2 +- www/eproosystem.php | 15 +- www/lib/class.erpapi.php | 6 - www/lib/class.help.php | 55 -- 6 files changed, 598 insertions(+), 669 deletions(-) delete mode 100644 www/lib/class.help.php diff --git a/phpwf/class.application.php b/phpwf/class.application.php index e2bb8bf75..b84684fc9 100644 --- a/phpwf/class.application.php +++ b/phpwf/class.application.php @@ -94,9 +94,9 @@ class Application extends ApplicationCore public $PopupJS; public $NoHooks; - public function __construct($config,$group='') + public function __construct($config) { - parent::__construct($config,$group); + parent::__construct($config); /*if(!isset($_GET['module']) || $_GET['module'] != 'api') { if(!(isset($_GET['module']) && isset($_GET['action']) && isset($_GET['cmd']) && $_GET['module'] == 'welcome' && (($_GET['action'] == 'login' && $_GET['cmd'] == 'checkrfid') || $_GET['action'] == 'cronjob' || $_GET['action'] == 'adapterbox'))) { diff --git a/phpwf/class.application_core.php b/phpwf/class.application_core.php index 60aaf41d3..263616ad0 100644 --- a/phpwf/class.application_core.php +++ b/phpwf/class.application_core.php @@ -1,593 +1,592 @@ - -Conf = ConfigLoader::load(); - }else{ - $this->Conf = $config; - } - - $registry = include dirname(__DIR__) . '/classes/bootstrap.php'; - $registry->add('LegacyApplication', $this); - $this->Container = $registry->get('ServiceContainer'); - - $this->getter = array( - 'User'=>array('class'=>'User','app'=>true), - 'Tpl'=>array('class'=>'TemplateParser','app'=>true), - 'Conf'=>array('class'=>'Config'), - 'YUI'=>array('class'=>'YUI','app'=>true), - 'String'=>array('class'=>'WawiString'), - 'FormHandler'=>array('class'=>'FormHandler','app'=>true), - 'Table'=>array('class'=>'Table','app'=>true), - 'WF'=>array('class'=>'phpWFAPI','app'=>true), - 'WFM'=>array('class'=>'WFMonitor','app'=>true), - 'Secure'=>array('class'=>'Secure','app'=>true), - 'mail'=>array('class'=>'PHPMailer','app'=>true), - 'help'=>array('class'=>'Help','app'=>true), - 'stringcleaner'=>array('class'=>'StringCleaner','app'=>true), - 'acl'=>array('class'=>'Acl','app'=>true), - 'ModuleScriptCache'=>array('class'=>'ModuleScriptCache'), - 'ObjAPI'=>array('class'=>'ObjectAPI','app'=>true), - 'FormSecure'=>array('class'=>'FormSecure','app'=>true), - 'Location'=>array('class'=>'Location','app'=>true), - 'DatabaseUpgrade'=>array('class'=>'DatabaseUpgrade','app'=>true), - 'PageBuilder' => ['class' => 'PageBuilder','app'=>true], - ); - $this->gettercustom = array( - 'erp'=>array( - 'class'=>'erpAPI', - 'class_custom'=>'erpAPICustom', - 'file'=>dirname(__DIR__).'/www/lib/class.erpapi.php', - 'file_custom'=>dirname(__DIR__).'/www/lib/class.erpapi_custom.php' - ), - 'remote'=>array( - 'class'=>'Remote', - 'class_custom'=>'RemoteCustom', - 'file'=>dirname(__DIR__).'/www/lib/class.remote.php', - 'file_custom'=>dirname(__DIR__).'/www/lib/class.remote_custom.php' - ), - 'printer'=>array( - 'class'=>'Printer', - 'class_custom'=>'PrinterCustom', - 'file'=>dirname(__DIR__).'/www/lib/class.printer.php', - 'file_custom'=>dirname(__DIR__).'/www/lib/class.printer_custom.php' - ), - ); - } - - /** - * @return array - */ - public function getDbs() - { - return ConfigLoader::loadAllDescriptions(); - } - - /** - * @param int $status - */ - public function ExitXentral($status = 0) - { - if(class_exists('DevTools')){ - DevTools::exitcustom($this, $status); - } - - $dbConnected = !empty($this->DB) && !empty($this->DB->connection); - $cronjobToClose = defined('CRONJOBUID') && defined('FROMSTARTER2'); - if($dbConnected && $cronjobToClose && method_exists($this->erp,'closeAndLogCronjob')) { - $this->erp->closeAndLogCronjob(CRONJOBUID, FROMSTARTER2); - } - - if($dbConnected){ - $this->DB->Close(); - } - - exit($status); - } - - /** - * @param string $value - * - * @return mixed - */ - public function __get($value) - { - if(isset($this->getter[$value])) - { - $class = $this->getter[$value]['class']; - if($this->getter[$value]['app']){ - $this->$value = new $class($this); - return $this->$value; - } - $this->$value = new $class(); - return $this->$value; - } - if(isset($this->gettercustom[$value])) - { - if(is_file($this->gettercustom[$value]['file_custom'])) - { - $class = $this->gettercustom[$value]['class_custom']; - }else{ - $class = $this->gettercustom[$value]['class']; - } - $this->$value = new $class($this); - return $this->$value; - } - if($value === 'DB') - { - $this->DB = new DB($this->Conf->WFdbhost,$this->Conf->WFdbname,$this->Conf->WFdbuser,$this->Conf->WFdbpass,$this,$this->Conf->WFdbport); - return $this->DB; - } - } - - /** - * @param string $value - * - * @return bool - */ - public function __isset($value) - { - if (isset($this->$value)){ - return true; - } - - if($value === 'DB'){ - return class_exists('DB', true); - } - - if(isset($this->getter[$value])){ - $className = $this->getter[$value]['class']; - if(class_exists($className, true)){ - return true; - } - } - - if(isset($this->gettercustom[$value])){ - $className = $this->gettercustom[$value]['class']; - $classNameCustom = $this->gettercustom[$value]['class_custom']; - if(class_exists($classNameCustom, true) || class_exists($className, true)){ - return true; - } - } - - return false; - } - - /** - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) - { - $this->$name = $value; - } - - /** - * @param string $class - * @param bool $ownInstance - * - * @return mixed|null - */ - public function loadModule($class, $ownInstance = true) { - $class = ucfirst($class); - $classcustom = $class.'Custom'; - if(!$ownInstance && !empty($this->loadedModules[$classcustom])) { - return $this->loadedModules[$classcustom]; - } - if(!$ownInstance && !empty($this->loadedModules[$class])) { - return $this->loadedModules[$class]; - } - $phpname = strtolower($class); - if(!class_exists($class) && @is_file(dirname(__DIR__) . '/www/pages/' . $phpname . '.php')){ - include_once dirname(__DIR__) . '/www/pages/' . $phpname . '.php'; - } - if(!class_exists($classcustom) && @is_file(dirname(__DIR__) . '/www/pages/' . $phpname . '_custom.php') && class_exists($class)) { - include_once dirname(__DIR__) . '/www/pages/' . $phpname . '_custom.php'; - } - - if(class_exists($classcustom)) { - if(method_exists($classcustom, '__construct')) { - try { - $r = new ReflectionMethod($classcustom, '__construct'); - $params = $r->getParameters(); - } catch( Exception $e) { - return null; - } - $anzargs = count($params); - if($anzargs > 1) { - $obj = new $classcustom($this, true); - } - }else{ - $obj = new $classcustom($this, true); - } - } - - if(!empty($obj)) { - if($ownInstance) { - return $obj; - } - $this->loadedModules[$classcustom] = $obj; - return $this->loadedModules[$classcustom]; - } - if(!class_exists($class)) { - return null; - } - - if(method_exists($class, '__construct')) - { - try { - $r = new ReflectionMethod($class, '__construct'); - $params = $r->getParameters(); - } catch (Exception $e) { - return null; - } - $anzargs = count($params); - if($anzargs > 1) { - $obj = new $class($this, true); - } - }else{ - $obj = new $class($this, true); - } - if(empty($obj)) { - return null; - } - if($ownInstance) { - return $obj; - } - $this->loadedModules[$class] = $obj; - return $this->loadedModules[$class]; - } - - /** - * @return array|null - * @throws ReflectionException - */ - function getAppList() - { - /** @var Appstore $obj */ - $obj = $this->loadModule('appstore'); - if(!empty($obj) && method_exists($obj,'getAppList')) - { - return $obj->getAppList(); - } - - return null; - } - - public function IsWindows() - { - return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; - } - - public function getTmpFolder() - { - $userdata = $this->Conf->WFuserdata; - - if ($this->IsWindows()) { - $tmp = $userdata."\\tmp\\"; - } else { - $tmp = $userdata."/tmp/"; - } - - $tmp = str_replace('//','/',$tmp); - - if(!is_dir($tmp) && !mkdir($tmp) && !is_dir($tmp)) { - return $tmp; - } - - return $tmp; - } - - public function GetLandLang($isocode) - { - $flipped = array_flip($this->GetLaender()); - if(isset($flipped[$isocode])){ - $land = $flipped[$isocode]; - } - else - { - $land = 'unkown'; - } - return $land; - } - public function GetLaender() - { - $laender = array( - 'Afghanistan' => 'AF', - 'Ägypten' => 'EG', - 'Albanien' => 'AL', - 'Algerien' => 'DZ', - 'Andorra' => 'AD', - 'Angola' => 'AO', - 'Anguilla' => 'AI', - 'Antarktis' => 'AQ', - 'Antigua und Barbuda' => 'AG', - 'Äquatorial Guinea' => 'GQ', - 'Argentinien' => 'AR', - 'Armenien' => 'AM', - 'Aruba' => 'AW', - 'Aserbaidschan' => 'AZ', - 'Äthiopien' => 'ET', - 'Australien' => 'AU', - 'Bahamas' => 'BS', - 'Bahrain' => 'BH', - 'Bangladesh' => 'BD', - 'Barbados' => 'BB', - 'Belgien' => 'BE', - 'Belize' => 'BZ', - 'Benin' => 'BJ', - 'Bermudas' => 'BM', - 'Bhutan' => 'BT', - 'Birma' => 'MM', - 'Bolivien' => 'BO', - 'Bosnien-Herzegowina' => 'BA', - 'Botswana' => 'BW', - 'Bouvet Inseln' => 'BV', - 'Brasilien' => 'BR', - 'Britisch-Indischer Ozean' => 'IO', - 'Brunei' => 'BN', - 'Bulgarien' => 'BG', - 'Burkina Faso' => 'BF', - 'Burundi' => 'BI', - 'Chile' => 'CL', - 'China' => 'CN', - 'Christmas Island' => 'CX', - 'Cook Inseln' => 'CK', - 'Costa Rica' => 'CR', - 'Dänemark' => 'DK', - 'Deutschland' => 'DE', - 'Djibuti' => 'DJ', - 'Dominika' => 'DM', - 'Dominikanische Republik' => 'DO', - 'Ecuador' => 'EC', - 'El Salvador' => 'SV', - 'Elfenbeinküste' => 'CI', - 'Eritrea' => 'ER', - 'Estland' => 'EE', - 'Falkland Inseln' => 'FK', - 'Färöer Inseln' => 'FO', - 'Fidschi' => 'FJ', - 'Finnland' => 'FI', - 'Frankreich' => 'FR', - 'Französisch Guyana' => 'GF', - 'Französisch Polynesien' => 'PF', - 'Französisches Süd-Territorium' => 'TF', - 'Gabun' => 'GA', - 'Gambia' => 'GM', - 'Georgien' => 'GE', - 'Ghana' => 'GH', - 'Gibraltar' => 'GI', - 'Grenada' => 'GD', - 'Griechenland' => 'GR', - 'Grönland' => 'GL', - 'Großbritannien' => 'UK', - 'Großbritannien (UK)' => 'GB', - 'Guadeloupe' => 'GP', - 'Guam' => 'GU', - 'Guatemala' => 'GT', - 'Guinea' => 'GN', - 'Guinea Bissau' => 'GW', - 'Guyana' => 'GY', - 'Haiti' => 'HT', - 'Heard und McDonald Islands' => 'HM', - 'Honduras' => 'HN', - 'Hong Kong' => 'HK', - 'Indien' => 'IN', - 'Indonesien' => 'ID', - 'Irak' => 'IQ', - 'Iran' => 'IR', - 'Irland' => 'IE', - 'Island' => 'IS', - 'Israel' => 'IL', - 'Italien' => 'IT', - 'Jamaika' => 'JM', - 'Japan' => 'JP', - 'Jemen' => 'YE', - 'Jordanien' => 'JO', - 'Jugoslawien' => 'YU', - 'Kaiman Inseln' => 'KY', - 'Kambodscha' => 'KH', - 'Kamerun' => 'CM', - 'Kanada' => 'CA', - 'Kap Verde' => 'CV', - 'Kasachstan' => 'KZ', - 'Kenia' => 'KE', - 'Kirgisistan' => 'KG', - 'Kiribati' => 'KI', - 'Kokosinseln' => 'CC', - 'Kolumbien' => 'CO', - 'Komoren' => 'KM', - 'Kongo' => 'CG', - 'Kongo, Demokratische Republik' => 'CD', - 'Kosovo' => 'KO', - 'Kroatien' => 'HR', - 'Kuba' => 'CU', - 'Kuwait' => 'KW', - 'Laos' => 'LA', - 'Lesotho' => 'LS', - 'Lettland' => 'LV', - 'Libanon' => 'LB', - 'Liberia' => 'LR', - 'Libyen' => 'LY', - 'Liechtenstein' => 'LI', - 'Litauen' => 'LT', - 'Luxemburg' => 'LU', - 'Macao' => 'MO', - 'Madagaskar' => 'MG', - 'Malawi' => 'MW', - 'Malaysia' => 'MY', - 'Malediven' => 'MV', - 'Mali' => 'ML', - 'Malta' => 'MT', - 'Marianen' => 'MP', - 'Marokko' => 'MA', - 'Marshall Inseln' => 'MH', - 'Martinique' => 'MQ', - 'Mauretanien' => 'MR', - 'Mauritius' => 'MU', - 'Mayotte' => 'YT', - 'Mazedonien' => 'MK', - 'Mexiko' => 'MX', - 'Mikronesien' => 'FM', - 'Mocambique' => 'MZ', - 'Moldavien' => 'MD', - 'Monaco' => 'MC', - 'Mongolei' => 'MN', - 'Montenegro' => 'ME', - 'Montserrat' => 'MS', - 'Namibia' => 'NA', - 'Nauru' => 'NR', - 'Nepal' => 'NP', - 'Neukaledonien' => 'NC', - 'Neuseeland' => 'NZ', - 'Nicaragua' => 'NI', - 'Niederlande' => 'NL', - 'Niederländische Antillen' => 'AN', - 'Niger' => 'NE', - 'Nigeria' => 'NG', - 'Niue' => 'NU', - 'Nord Korea' => 'KP', - 'Norfolk Inseln' => 'NF', - 'Norwegen' => 'NO', - 'Oman' => 'OM', - 'Österreich' => 'AT', - 'Pakistan' => 'PK', - 'Palästina' => 'PS', - 'Palau' => 'PW', - 'Panama' => 'PA', - 'Papua Neuguinea' => 'PG', - 'Paraguay' => 'PY', - 'Peru' => 'PE', - 'Philippinen' => 'PH', - 'Pitcairn' => 'PN', - 'Polen' => 'PL', - 'Portugal' => 'PT', - 'Puerto Rico' => 'PR', - 'Qatar' => 'QA', - 'Reunion' => 'RE', - 'Ruanda' => 'RW', - 'Rumänien' => 'RO', - 'Rußland' => 'RU', - 'Saint Lucia' => 'LC', - 'Sambia' => 'ZM', - 'Samoa' => 'AS', - 'Samoa' => 'WS', - 'San Marino' => 'SM', - 'Sao Tome' => 'ST', - 'Saudi Arabien' => 'SA', - 'Schweden' => 'SE', - 'Schweiz' => 'CH', - 'Senegal' => 'SN', - 'Serbien' => 'RS', - 'Seychellen' => 'SC', - 'Sierra Leone' => 'SL', - 'Singapur' => 'SG', - 'Slowakei -slowakische Republik-' => 'SK', - 'Slowenien' => 'SI', - 'Solomon Inseln' => 'SB', - 'Somalia' => 'SO', - 'South Georgia, South Sandwich Isl.' => 'GS', - 'Spanien' => 'ES', - 'Sri Lanka' => 'LK', - 'St. Helena' => 'SH', - 'St. Kitts Nevis Anguilla' => 'KN', - 'St. Pierre und Miquelon' => 'PM', - 'St. Vincent' => 'VC', - 'Süd Korea' => 'KR', - 'Südafrika' => 'ZA', - 'Sudan' => 'SD', - 'Surinam' => 'SR', - 'Svalbard und Jan Mayen Islands' => 'SJ', - 'Swasiland' => 'SZ', - 'Syrien' => 'SY', - 'Tadschikistan' => 'TJ', - 'Taiwan' => 'TW', - 'Tansania' => 'TZ', - 'Thailand' => 'TH', - 'Timor' => 'TP', - 'Togo' => 'TG', - 'Tokelau' => 'TK', - 'Tonga' => 'TO', - 'Trinidad Tobago' => 'TT', - 'Tschad' => 'TD', - 'Tschechische Republik' => 'CZ', - 'Tunesien' => 'TN', - 'Türkei' => 'TR', - 'Turkmenistan' => 'TM', - 'Turks und Kaikos Inseln' => 'TC', - 'Tuvalu' => 'TV', - 'Uganda' => 'UG', - 'Ukraine' => 'UA', - 'Ungarn' => 'HU', - 'Uruguay' => 'UY', - 'Usbekistan' => 'UZ', - 'Vanuatu' => 'VU', - 'Vatikan' => 'VA', - 'Venezuela' => 'VE', - 'Vereinigte Arabische Emirate' => 'AE', - 'Vereinigte Staaten von Amerika' => 'US', - 'Vietnam' => 'VN', - 'Virgin Island (Brit.)' => 'VG', - 'Virgin Island (USA)' => 'VI', - 'Wallis et Futuna' => 'WF', - 'Weißrußland' => 'BY', - 'Westsahara' => 'EH', - 'Zentralafrikanische Republik' => 'CF', - 'Zimbabwe' => 'ZW', - 'Zypern' => 'CY' - ); - return $laender; - } -} + +Conf = ConfigLoader::load(); + }else{ + $this->Conf = $config; + } + + $registry = include dirname(__DIR__) . '/classes/bootstrap.php'; + $registry->add('LegacyApplication', $this); + $this->Container = $registry->get('ServiceContainer'); + + $this->getter = array( + 'User'=>array('class'=>'User','app'=>true), + 'Tpl'=>array('class'=>'TemplateParser','app'=>true), + 'Conf'=>array('class'=>'Config'), + 'YUI'=>array('class'=>'YUI','app'=>true), + 'String'=>array('class'=>'WawiString'), + 'FormHandler'=>array('class'=>'FormHandler','app'=>true), + 'Table'=>array('class'=>'Table','app'=>true), + 'WF'=>array('class'=>'phpWFAPI','app'=>true), + 'WFM'=>array('class'=>'WFMonitor','app'=>true), + 'Secure'=>array('class'=>'Secure','app'=>true), + 'mail'=>array('class'=>'PHPMailer','app'=>true), + 'stringcleaner'=>array('class'=>'StringCleaner','app'=>true), + 'acl'=>array('class'=>'Acl','app'=>true), + 'ModuleScriptCache'=>array('class'=>'ModuleScriptCache'), + 'ObjAPI'=>array('class'=>'ObjectAPI','app'=>true), + 'FormSecure'=>array('class'=>'FormSecure','app'=>true), + 'Location'=>array('class'=>'Location','app'=>true), + 'DatabaseUpgrade'=>array('class'=>'DatabaseUpgrade','app'=>true), + 'PageBuilder' => ['class' => 'PageBuilder','app'=>true], + ); + $this->gettercustom = array( + 'erp'=>array( + 'class'=>'erpAPI', + 'class_custom'=>'erpAPICustom', + 'file'=>dirname(__DIR__).'/www/lib/class.erpapi.php', + 'file_custom'=>dirname(__DIR__).'/www/lib/class.erpapi_custom.php' + ), + 'remote'=>array( + 'class'=>'Remote', + 'class_custom'=>'RemoteCustom', + 'file'=>dirname(__DIR__).'/www/lib/class.remote.php', + 'file_custom'=>dirname(__DIR__).'/www/lib/class.remote_custom.php' + ), + 'printer'=>array( + 'class'=>'Printer', + 'class_custom'=>'PrinterCustom', + 'file'=>dirname(__DIR__).'/www/lib/class.printer.php', + 'file_custom'=>dirname(__DIR__).'/www/lib/class.printer_custom.php' + ), + ); + } + + /** + * @return array + */ + public function getDbs() + { + return ConfigLoader::loadAllDescriptions(); + } + + /** + * @param int $status + */ + public function ExitXentral($status = 0) + { + if(class_exists('DevTools')){ + DevTools::exitcustom($this, $status); + } + + $dbConnected = !empty($this->DB) && !empty($this->DB->connection); + $cronjobToClose = defined('CRONJOBUID') && defined('FROMSTARTER2'); + if($dbConnected && $cronjobToClose && method_exists($this->erp,'closeAndLogCronjob')) { + $this->erp->closeAndLogCronjob(CRONJOBUID, FROMSTARTER2); + } + + if($dbConnected){ + $this->DB->Close(); + } + + exit($status); + } + + /** + * @param string $value + * + * @return mixed + */ + public function __get($value) + { + if(isset($this->getter[$value])) + { + $class = $this->getter[$value]['class']; + if($this->getter[$value]['app'] ?? false){ + $this->$value = new $class($this); + return $this->$value; + } + $this->$value = new $class(); + return $this->$value; + } + if(isset($this->gettercustom[$value])) + { + if(is_file($this->gettercustom[$value]['file_custom'])) + { + $class = $this->gettercustom[$value]['class_custom']; + }else{ + $class = $this->gettercustom[$value]['class']; + } + $this->$value = new $class($this); + return $this->$value; + } + if($value === 'DB') + { + $this->DB = new DB($this->Conf->WFdbhost,$this->Conf->WFdbname,$this->Conf->WFdbuser,$this->Conf->WFdbpass,$this,$this->Conf->WFdbport); + return $this->DB; + } + } + + /** + * @param string $value + * + * @return bool + */ + public function __isset($value) + { + if (isset($this->$value)){ + return true; + } + + if($value === 'DB'){ + return class_exists('DB', true); + } + + if(isset($this->getter[$value])){ + $className = $this->getter[$value]['class']; + if(class_exists($className, true)){ + return true; + } + } + + if(isset($this->gettercustom[$value])){ + $className = $this->gettercustom[$value]['class']; + $classNameCustom = $this->gettercustom[$value]['class_custom']; + if(class_exists($classNameCustom, true) || class_exists($className, true)){ + return true; + } + } + + return false; + } + + /** + * @param string $name + * @param mixed $value + */ + public function __set($name, $value) + { + $this->$name = $value; + } + + /** + * @param string $class + * @param bool $ownInstance + * + * @return mixed|null + */ + public function loadModule($class, $ownInstance = true) { + $class = ucfirst($class); + $classcustom = $class.'Custom'; + if(!$ownInstance && !empty($this->loadedModules[$classcustom])) { + return $this->loadedModules[$classcustom]; + } + if(!$ownInstance && !empty($this->loadedModules[$class])) { + return $this->loadedModules[$class]; + } + $phpname = strtolower($class); + if(!class_exists($class) && @is_file(dirname(__DIR__) . '/www/pages/' . $phpname . '.php')){ + include_once dirname(__DIR__) . '/www/pages/' . $phpname . '.php'; + } + if(!class_exists($classcustom) && @is_file(dirname(__DIR__) . '/www/pages/' . $phpname . '_custom.php') && class_exists($class)) { + include_once dirname(__DIR__) . '/www/pages/' . $phpname . '_custom.php'; + } + + if(class_exists($classcustom)) { + if(method_exists($classcustom, '__construct')) { + try { + $r = new ReflectionMethod($classcustom, '__construct'); + $params = $r->getParameters(); + } catch( Exception $e) { + return null; + } + $anzargs = count($params); + if($anzargs > 1) { + $obj = new $classcustom($this, true); + } + }else{ + $obj = new $classcustom($this, true); + } + } + + if(!empty($obj)) { + if($ownInstance) { + return $obj; + } + $this->loadedModules[$classcustom] = $obj; + return $this->loadedModules[$classcustom]; + } + if(!class_exists($class)) { + return null; + } + + if(method_exists($class, '__construct')) + { + try { + $r = new ReflectionMethod($class, '__construct'); + $params = $r->getParameters(); + } catch (Exception $e) { + return null; + } + $anzargs = count($params); + if($anzargs > 1) { + $obj = new $class($this, true); + } + }else{ + $obj = new $class($this, true); + } + if(empty($obj)) { + return null; + } + if($ownInstance) { + return $obj; + } + $this->loadedModules[$class] = $obj; + return $this->loadedModules[$class]; + } + + /** + * @return array|null + * @throws ReflectionException + */ + function getAppList() + { + /** @var Appstore $obj */ + $obj = $this->loadModule('appstore'); + if(!empty($obj) && method_exists($obj,'getAppList')) + { + return $obj->getAppList(); + } + + return null; + } + + public function IsWindows() + { + return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; + } + + public function getTmpFolder() + { + $userdata = $this->Conf->WFuserdata; + + if ($this->IsWindows()) { + $tmp = $userdata."\\tmp\\"; + } else { + $tmp = $userdata."/tmp/"; + } + + $tmp = str_replace('//','/',$tmp); + + if(!is_dir($tmp) && !mkdir($tmp) && !is_dir($tmp)) { + return $tmp; + } + + return $tmp; + } + + public function GetLandLang($isocode) + { + $flipped = array_flip($this->GetLaender()); + if(isset($flipped[$isocode])){ + $land = $flipped[$isocode]; + } + else + { + $land = 'unkown'; + } + return $land; + } + public function GetLaender() + { + $laender = array( + 'Afghanistan' => 'AF', + 'Ägypten' => 'EG', + 'Albanien' => 'AL', + 'Algerien' => 'DZ', + 'Andorra' => 'AD', + 'Angola' => 'AO', + 'Anguilla' => 'AI', + 'Antarktis' => 'AQ', + 'Antigua und Barbuda' => 'AG', + 'Äquatorial Guinea' => 'GQ', + 'Argentinien' => 'AR', + 'Armenien' => 'AM', + 'Aruba' => 'AW', + 'Aserbaidschan' => 'AZ', + 'Äthiopien' => 'ET', + 'Australien' => 'AU', + 'Bahamas' => 'BS', + 'Bahrain' => 'BH', + 'Bangladesh' => 'BD', + 'Barbados' => 'BB', + 'Belgien' => 'BE', + 'Belize' => 'BZ', + 'Benin' => 'BJ', + 'Bermudas' => 'BM', + 'Bhutan' => 'BT', + 'Birma' => 'MM', + 'Bolivien' => 'BO', + 'Bosnien-Herzegowina' => 'BA', + 'Botswana' => 'BW', + 'Bouvet Inseln' => 'BV', + 'Brasilien' => 'BR', + 'Britisch-Indischer Ozean' => 'IO', + 'Brunei' => 'BN', + 'Bulgarien' => 'BG', + 'Burkina Faso' => 'BF', + 'Burundi' => 'BI', + 'Chile' => 'CL', + 'China' => 'CN', + 'Christmas Island' => 'CX', + 'Cook Inseln' => 'CK', + 'Costa Rica' => 'CR', + 'Dänemark' => 'DK', + 'Deutschland' => 'DE', + 'Djibuti' => 'DJ', + 'Dominika' => 'DM', + 'Dominikanische Republik' => 'DO', + 'Ecuador' => 'EC', + 'El Salvador' => 'SV', + 'Elfenbeinküste' => 'CI', + 'Eritrea' => 'ER', + 'Estland' => 'EE', + 'Falkland Inseln' => 'FK', + 'Färöer Inseln' => 'FO', + 'Fidschi' => 'FJ', + 'Finnland' => 'FI', + 'Frankreich' => 'FR', + 'Französisch Guyana' => 'GF', + 'Französisch Polynesien' => 'PF', + 'Französisches Süd-Territorium' => 'TF', + 'Gabun' => 'GA', + 'Gambia' => 'GM', + 'Georgien' => 'GE', + 'Ghana' => 'GH', + 'Gibraltar' => 'GI', + 'Grenada' => 'GD', + 'Griechenland' => 'GR', + 'Grönland' => 'GL', + 'Großbritannien' => 'UK', + 'Großbritannien (UK)' => 'GB', + 'Guadeloupe' => 'GP', + 'Guam' => 'GU', + 'Guatemala' => 'GT', + 'Guinea' => 'GN', + 'Guinea Bissau' => 'GW', + 'Guyana' => 'GY', + 'Haiti' => 'HT', + 'Heard und McDonald Islands' => 'HM', + 'Honduras' => 'HN', + 'Hong Kong' => 'HK', + 'Indien' => 'IN', + 'Indonesien' => 'ID', + 'Irak' => 'IQ', + 'Iran' => 'IR', + 'Irland' => 'IE', + 'Island' => 'IS', + 'Israel' => 'IL', + 'Italien' => 'IT', + 'Jamaika' => 'JM', + 'Japan' => 'JP', + 'Jemen' => 'YE', + 'Jordanien' => 'JO', + 'Jugoslawien' => 'YU', + 'Kaiman Inseln' => 'KY', + 'Kambodscha' => 'KH', + 'Kamerun' => 'CM', + 'Kanada' => 'CA', + 'Kap Verde' => 'CV', + 'Kasachstan' => 'KZ', + 'Kenia' => 'KE', + 'Kirgisistan' => 'KG', + 'Kiribati' => 'KI', + 'Kokosinseln' => 'CC', + 'Kolumbien' => 'CO', + 'Komoren' => 'KM', + 'Kongo' => 'CG', + 'Kongo, Demokratische Republik' => 'CD', + 'Kosovo' => 'KO', + 'Kroatien' => 'HR', + 'Kuba' => 'CU', + 'Kuwait' => 'KW', + 'Laos' => 'LA', + 'Lesotho' => 'LS', + 'Lettland' => 'LV', + 'Libanon' => 'LB', + 'Liberia' => 'LR', + 'Libyen' => 'LY', + 'Liechtenstein' => 'LI', + 'Litauen' => 'LT', + 'Luxemburg' => 'LU', + 'Macao' => 'MO', + 'Madagaskar' => 'MG', + 'Malawi' => 'MW', + 'Malaysia' => 'MY', + 'Malediven' => 'MV', + 'Mali' => 'ML', + 'Malta' => 'MT', + 'Marianen' => 'MP', + 'Marokko' => 'MA', + 'Marshall Inseln' => 'MH', + 'Martinique' => 'MQ', + 'Mauretanien' => 'MR', + 'Mauritius' => 'MU', + 'Mayotte' => 'YT', + 'Mazedonien' => 'MK', + 'Mexiko' => 'MX', + 'Mikronesien' => 'FM', + 'Mocambique' => 'MZ', + 'Moldavien' => 'MD', + 'Monaco' => 'MC', + 'Mongolei' => 'MN', + 'Montenegro' => 'ME', + 'Montserrat' => 'MS', + 'Namibia' => 'NA', + 'Nauru' => 'NR', + 'Nepal' => 'NP', + 'Neukaledonien' => 'NC', + 'Neuseeland' => 'NZ', + 'Nicaragua' => 'NI', + 'Niederlande' => 'NL', + 'Niederländische Antillen' => 'AN', + 'Niger' => 'NE', + 'Nigeria' => 'NG', + 'Niue' => 'NU', + 'Nord Korea' => 'KP', + 'Norfolk Inseln' => 'NF', + 'Norwegen' => 'NO', + 'Oman' => 'OM', + 'Österreich' => 'AT', + 'Pakistan' => 'PK', + 'Palästina' => 'PS', + 'Palau' => 'PW', + 'Panama' => 'PA', + 'Papua Neuguinea' => 'PG', + 'Paraguay' => 'PY', + 'Peru' => 'PE', + 'Philippinen' => 'PH', + 'Pitcairn' => 'PN', + 'Polen' => 'PL', + 'Portugal' => 'PT', + 'Puerto Rico' => 'PR', + 'Qatar' => 'QA', + 'Reunion' => 'RE', + 'Ruanda' => 'RW', + 'Rumänien' => 'RO', + 'Rußland' => 'RU', + 'Saint Lucia' => 'LC', + 'Sambia' => 'ZM', + 'Samoa' => 'AS', + 'Samoa' => 'WS', + 'San Marino' => 'SM', + 'Sao Tome' => 'ST', + 'Saudi Arabien' => 'SA', + 'Schweden' => 'SE', + 'Schweiz' => 'CH', + 'Senegal' => 'SN', + 'Serbien' => 'RS', + 'Seychellen' => 'SC', + 'Sierra Leone' => 'SL', + 'Singapur' => 'SG', + 'Slowakei -slowakische Republik-' => 'SK', + 'Slowenien' => 'SI', + 'Solomon Inseln' => 'SB', + 'Somalia' => 'SO', + 'South Georgia, South Sandwich Isl.' => 'GS', + 'Spanien' => 'ES', + 'Sri Lanka' => 'LK', + 'St. Helena' => 'SH', + 'St. Kitts Nevis Anguilla' => 'KN', + 'St. Pierre und Miquelon' => 'PM', + 'St. Vincent' => 'VC', + 'Süd Korea' => 'KR', + 'Südafrika' => 'ZA', + 'Sudan' => 'SD', + 'Surinam' => 'SR', + 'Svalbard und Jan Mayen Islands' => 'SJ', + 'Swasiland' => 'SZ', + 'Syrien' => 'SY', + 'Tadschikistan' => 'TJ', + 'Taiwan' => 'TW', + 'Tansania' => 'TZ', + 'Thailand' => 'TH', + 'Timor' => 'TP', + 'Togo' => 'TG', + 'Tokelau' => 'TK', + 'Tonga' => 'TO', + 'Trinidad Tobago' => 'TT', + 'Tschad' => 'TD', + 'Tschechische Republik' => 'CZ', + 'Tunesien' => 'TN', + 'Türkei' => 'TR', + 'Turkmenistan' => 'TM', + 'Turks und Kaikos Inseln' => 'TC', + 'Tuvalu' => 'TV', + 'Uganda' => 'UG', + 'Ukraine' => 'UA', + 'Ungarn' => 'HU', + 'Uruguay' => 'UY', + 'Usbekistan' => 'UZ', + 'Vanuatu' => 'VU', + 'Vatikan' => 'VA', + 'Venezuela' => 'VE', + 'Vereinigte Arabische Emirate' => 'AE', + 'Vereinigte Staaten von Amerika' => 'US', + 'Vietnam' => 'VN', + 'Virgin Island (Brit.)' => 'VG', + 'Virgin Island (USA)' => 'VI', + 'Wallis et Futuna' => 'WF', + 'Weißrußland' => 'BY', + 'Westsahara' => 'EH', + 'Zentralafrikanische Republik' => 'CF', + 'Zimbabwe' => 'ZW', + 'Zypern' => 'CY' + ); + return $laender; + } +} diff --git a/phpwf/plugins/class.user.php b/phpwf/plugins/class.user.php index 29a4954e6..a4beb2ca2 100644 --- a/phpwf/plugins/class.user.php +++ b/phpwf/plugins/class.user.php @@ -472,7 +472,7 @@ public function GetName() } $this->loadAddressRowInCacheProperty(); - return $this->cache[$cacheKey]['name']; + return $this->cache[$cacheKey]['name'] ?? null; } /** diff --git a/www/eproosystem.php b/www/eproosystem.php index aaa092535..e3482920f 100644 --- a/www/eproosystem.php +++ b/www/eproosystem.php @@ -33,7 +33,7 @@ ini_set('display_errors', 'on'); ini_set('magic_quotes_runtime', 0); -require_once __DIR__.'/../phpwf/class.application.php'; +require_once dirname(__DIR__).'/phpwf/class.application.php'; if( WithGUI(true)) { @@ -60,18 +60,16 @@ class erpooSystem extends Application * @var Config $Conf */ - public function __construct($config,$group='') + public function __construct($config) { $this->uselaendercache = false; - parent::__construct($config, $group); + parent::__construct($config); if(WithGUI()){ $module = $this->Secure->GetGET('module'); $action = $this->Secure->GetGET('action'); $this->Tpl->Set('DASHBOARDLINK', 'index.php?module=welcome&action=start'); - $this->help = new Help($this); - $companyletter = strtoupper(substr($this->erp->Firmendaten('name'), 0, 1)); $this->Tpl->Set('COMPANYLETTER', ($companyletter != '' ? $companyletter : 'W')); @@ -112,7 +110,6 @@ public function __construct($config,$group='') $this->Tpl->Set('JSSCRIPTS', ''); } } - $this->erp->PrinterIcon(); $this->Tpl->ReadTemplatesFromPath(__DIR__ . '/widgets/templates/_gen/'); $this->Tpl->ReadTemplatesFromPath(__DIR__ . '/widgets/templates/'); $this->Tpl->ReadTemplatesFromPath(__DIR__ . '/themes/' . $this->Conf->WFconf['defaulttheme'] . '/templates/'); @@ -232,8 +229,6 @@ public function __construct($config,$group='') } $this->Tpl->Set('SAVEBUTTON', ''); - $this->help->Run(); - $this->Tpl->Set('TMPSCRIPT', ''); $msg2 = $this->Secure->GetGET('msg'); @@ -342,10 +337,6 @@ public function getSVG($path, $filename){ return file_get_contents($iconPath); } - protected function getCounterFor(string $type) - { - - } /** * creates and appends sidebar navigation */ diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index 029cc9186..7e33f6c32 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -12018,12 +12018,6 @@ function HelpIcon() $action = $this->app->Secure->GetGET("action"); } - /**@deprected**/ - function PrinterIcon() - { - // $this->app->Tpl->Add('TABSPRINT'," "); - } - // @refactor Auftrag Modul function SaldoAdresseAuftrag($adresse) { diff --git a/www/lib/class.help.php b/www/lib/class.help.php deleted file mode 100644 index 1a8ff202f..000000000 --- a/www/lib/class.help.php +++ /dev/null @@ -1,55 +0,0 @@ - -app=$app; - } - - - function Run() - { - $module = ucfirst($this->app->Secure->GetGET("module")); - $action = ucfirst($this->app->Secure->GetGET("action")); - - $methodname = $module.$action; - - if(method_exists($this,$methodname)) - { - $this->app->Tpl->Add('HELP',call_user_func( array( &$this, $methodname ), $this, null )); - } else { - $this->app->Tpl->Set('HELPDISABLEOPEN',""); - } - } - -/* - function AngebotCreate() - { - return "angebot anlegen"; - } - - function AngebotList() - { - return "angebot list"; - } -*/ - - -} - From 57a2d1a22a0e3869cc1570ad19f359b872ae30ed Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Wed, 18 Feb 2026 12:09:12 +0100 Subject: [PATCH 05/15] Remove unused `class.help.php` from Composer autoload configuration --- composer.json | 1 - phpwf/plugins/class.modulescriptcache.php | 4 ++-- phpwf/plugins/class.templateparser.php | 2 +- vendor/composer/autoload_classmap.php | 1 - vendor/composer/autoload_static.php | 1 - www/pages/wiki.php | 8 ++++---- 6 files changed, 7 insertions(+), 10 deletions(-) diff --git a/composer.json b/composer.json index 6a1638158..b9518644c 100644 --- a/composer.json +++ b/composer.json @@ -46,7 +46,6 @@ "www/lib/TransferBase.php", "www/lib/ShopimporterBase.php", "www/lib/imap.inc.php", - "www/lib/class.help.php", "www/lib/class.printer.php", "www/lib/class.image.php", "www/lib/class.location.php", diff --git a/phpwf/plugins/class.modulescriptcache.php b/phpwf/plugins/class.modulescriptcache.php index b7c79013d..5ece95090 100644 --- a/phpwf/plugins/class.modulescriptcache.php +++ b/phpwf/plugins/class.modulescriptcache.php @@ -322,9 +322,9 @@ private function includeChunk(string $chunkName, bool $isRoot = false) : void return; $manifestEntry = $this->assetManifest->$chunkName; - foreach ($manifestEntry->css as $cssFile) + foreach ($manifestEntry->css ?? [] as $cssFile) $this->renderedCss[] = $cssFile; - foreach ($manifestEntry->imports as $import) + foreach ($manifestEntry->imports ?? [] as $import) $this->includeChunk($import); if ($isRoot) diff --git a/phpwf/plugins/class.templateparser.php b/phpwf/plugins/class.templateparser.php index 8e1def444..40875dcc9 100644 --- a/phpwf/plugins/class.templateparser.php +++ b/phpwf/plugins/class.templateparser.php @@ -307,7 +307,7 @@ protected function addPath($_path) protected function pathLoaded($_path) { - if(!$this->pathes)return false; + if(!isset($this->pathes))return false; $rpos = strrpos($_path, '/www/'); if($rpos !== false) { diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 8a1ac8160..82f4cbe48 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -1690,7 +1690,6 @@ 'HTMLSelect' => $baseDir . '/phpwf/htmltags/class.form.php', 'HTMLTable' => $baseDir . '/phpwf/htmltags/class.table.php', 'HTMLTextarea' => $baseDir . '/phpwf/htmltags/class.form.php', - 'Help' => $baseDir . '/www/lib/class.help.php', 'HttpClient' => $baseDir . '/www/lib/class.httpclient.php', 'ICS' => $baseDir . '/www/plugins/class.ics.php', 'IMAP' => $baseDir . '/www/lib/imap.inc.php', diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index d64134650..413900072 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -1992,7 +1992,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'HTMLSelect' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', 'HTMLTable' => __DIR__ . '/../..' . '/phpwf/htmltags/class.table.php', 'HTMLTextarea' => __DIR__ . '/../..' . '/phpwf/htmltags/class.form.php', - 'Help' => __DIR__ . '/../..' . '/www/lib/class.help.php', 'HttpClient' => __DIR__ . '/../..' . '/www/lib/class.httpclient.php', 'ICS' => __DIR__ . '/../..' . '/www/plugins/class.ics.php', 'IMAP' => __DIR__ . '/../..' . '/www/lib/imap.inc.php', diff --git a/www/pages/wiki.php b/www/pages/wiki.php index 1cebd831b..1e4f64a14 100644 --- a/www/pages/wiki.php +++ b/www/pages/wiki.php @@ -1,4 +1,4 @@ - +*/ +?> getArticleByName($actModule,$workspace['id']); - $content = $wiki['content']; + $content = $wiki['content'] ?? null; $menu = null; if(!empty($content)){ list($menu, $content) = $this->parseMenuFromHtml($content); From 2dbebfb87ee1daccc0741636fb802b586562a721 Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Mon, 23 Feb 2026 23:36:15 +0100 Subject: [PATCH 06/15] Remove deprecated logic and unused templates from `eproosystem.php` and related files to streamline codebase. --- www/eproosystem.php | 47 +--------------- www/themes/new/templates/iconbar.tpl | 57 ------------------- www/themes/new/templates/iconbar_dunkel.tpl | 56 ------------------- www/themes/new/templates/iconbar_empty.tpl | 3 - www/themes/new/templates/page_smartphone.tpl | 58 -------------------- 5 files changed, 2 insertions(+), 219 deletions(-) delete mode 100644 www/themes/new/templates/iconbar.tpl delete mode 100644 www/themes/new/templates/iconbar_dunkel.tpl delete mode 100644 www/themes/new/templates/iconbar_empty.tpl delete mode 100644 www/themes/new/templates/page_smartphone.tpl diff --git a/www/eproosystem.php b/www/eproosystem.php index e3482920f..63931c6a4 100644 --- a/www/eproosystem.php +++ b/www/eproosystem.php @@ -119,14 +119,6 @@ public function __construct($config) $this->Tpl->ReadTemplatesFromPath(__DIR__ . '/lib/versandarten/content/'); } - if(method_exists($this->erp, 'VersionsInfos')){ - $ver = $this->erp->VersionsInfos(); - if(stripos($ver['Info'], 'Beta') !== false - || stripos($ver['Info'], 'Alpha') !== false - || stripos($ver['Info'], 'DEV') !== false - ) $this->Tpl->Set('VERSIONINFO', strtoupper($ver['Info'])); - } - $this->Tpl->Set('ID', $this->Secure->GetGET('id')); $this->Tpl->Set('POPUPWIDTH', '1200'); $this->Tpl->Set('POPUPHEIGHT', '800'); @@ -167,23 +159,6 @@ public function __construct($config) $layout_iconbar = $this->erp->Firmendaten('layout_iconbar'); - if($this->erp->Version() === 'stock'){ - $this->Tpl->Set('STOCKOPEN', ''); - } - - //nur wenn leiste nicht deaktiviert ist - if($layout_iconbar != 1){ - if($this->erp->Firmendaten('iconset_dunkel') == '1'){ - $this->Tpl->Parse('ICONBAR', 'iconbar_dunkel.tpl'); - } - else{ - $this->Tpl->Parse('ICONBAR', 'iconbar.tpl'); - } - }else{ - $this->Tpl->Parse('ICONBAR', 'iconbar_empty.tpl'); - } - if($module !== 'kalender' && ($module !== 'welcome' && $action !== 'start')){ $this->Tpl->Add('YUICSS', '.ui-widget-content {}'); } @@ -215,7 +190,6 @@ public function __construct($config) $this->Tpl->Set('THEME', $this->Conf->WFconf['defaulttheme']); $doc_root = preg_replace("!{$_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']); # ex: /var/www $path = preg_replace("!^{$doc_root}!", '', __DIR__); - $this->Tpl->Set('WEBPATH', $path); if(isset($backlink) && strpos($backlink,"index.php?module=") !== false && strpos($backlink, "&action=") !== false){ $this->Tpl->Set('TABSBACK', $backlink); @@ -264,23 +238,6 @@ public function __construct($config) $this->Tpl->Set('LIZENZHINWEIS', '| Lizenzhinweis'); - if($this->erp->Version() === 'OSS'){ - $this->Tpl->Set('WAWIVERSION', 'Open-Source Lizenz AGPLv3.0'); - } - else if($this->erp->Version() === 'ENT'){ - $this->Tpl->Set('WAWIVERSION', 'Enterprise Version'); - } - else if($this->erp->Version() === 'PRO'){ - $this->Tpl->Set('WAWIVERSION', 'Professional Version'); - } - else if($this->erp->Version() === 'PRE'){ - $this->Tpl->Set('WAWIVERSION', 'Premium Version'); - } - else{ - $this->Tpl->Set('WAWIVERSION', 'Nutzungsbedingungen'); - } - - $this->Tpl->Set('TIMESTAMP', time()); $this->Tpl->Set('THEME', $this->Conf->WFconf['defaulttheme']); @@ -1776,7 +1733,7 @@ public function GetLaender($sprache='deutsch') if($sprache!=='deutsch' && $sprache!=='englisch'){ $sprache = 'deutsch'; } - + if($sprache==='deutsch'){ if(empty($this->uselaendercache) || empty($this->laendercache['deutsch'])){ $tmp = $this->DB->SelectArr('SELECT bezeichnung_de,iso FROM laender ORDER by bezeichnung_de'); @@ -1808,7 +1765,7 @@ public function GetLaender($sprache='deutsch') } return $laender; } - + $laender = array( 'Afghanistan' => 'AF', 'Ägypten' => 'EG', diff --git a/www/themes/new/templates/iconbar.tpl b/www/themes/new/templates/iconbar.tpl deleted file mode 100644 index 1734cc16b..000000000 --- a/www/themes/new/templates/iconbar.tpl +++ /dev/null @@ -1,57 +0,0 @@ - -
- -
- - diff --git a/www/themes/new/templates/iconbar_dunkel.tpl b/www/themes/new/templates/iconbar_dunkel.tpl deleted file mode 100644 index ce1d84609..000000000 --- a/www/themes/new/templates/iconbar_dunkel.tpl +++ /dev/null @@ -1,56 +0,0 @@ - -
- -
- - diff --git a/www/themes/new/templates/iconbar_empty.tpl b/www/themes/new/templates/iconbar_empty.tpl deleted file mode 100644 index 36636e7b9..000000000 --- a/www/themes/new/templates/iconbar_empty.tpl +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/www/themes/new/templates/page_smartphone.tpl b/www/themes/new/templates/page_smartphone.tpl deleted file mode 100644 index 5b72a0f4e..000000000 --- a/www/themes/new/templates/page_smartphone.tpl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - -[HTMLTITLE] - - - - - - -
[MESSAGE]
- -[PAGE] -
-
-
- -
- - - - From 9b2056915eb389df249560469658669e06e2764d Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Tue, 3 Mar 2026 21:41:29 +0100 Subject: [PATCH 07/15] Composer update --- composer.json | 3 +- composer.lock | 112 +- vendor/aura/sqlquery/.scrutinizer.yml | 10 + vendor/aura/sqlquery/.travis.yml | 14 + vendor/aura/sqlquery/composer.json | 48 + .../aura/sqlquery/tests/AbstractQueryTest.php | 77 + .../aura/sqlquery/tests/Common/DeleteTest.php | 35 + .../aura/sqlquery/tests/Common/InsertTest.php | 336 + .../aura/sqlquery/tests/Common/SelectTest.php | 963 +++ .../aura/sqlquery/tests/Common/UpdateTest.php | 45 + vendor/aura/sqlquery/tests/FakeQuery.php | 20 + .../aura/sqlquery/tests/Mysql/DeleteTest.php | 103 + .../aura/sqlquery/tests/Mysql/InsertTest.php | 125 + .../aura/sqlquery/tests/Mysql/SelectTest.php | 128 + .../aura/sqlquery/tests/Mysql/UpdateTest.php | 100 + .../aura/sqlquery/tests/Pgsql/DeleteTest.php | 39 + .../aura/sqlquery/tests/Pgsql/InsertTest.php | 50 + .../aura/sqlquery/tests/Pgsql/SelectTest.php | 9 + .../aura/sqlquery/tests/Pgsql/UpdateTest.php | 49 + .../aura/sqlquery/tests/QueryFactoryTest.php | 76 + vendor/aura/sqlquery/tests/QuoterTest.php | 50 + .../aura/sqlquery/tests/Sqlite/DeleteTest.php | 50 + .../aura/sqlquery/tests/Sqlite/InsertTest.php | 95 + .../aura/sqlquery/tests/Sqlite/SelectTest.php | 9 + .../aura/sqlquery/tests/Sqlite/UpdateTest.php | 234 + .../aura/sqlquery/tests/Sqlsrv/DeleteTest.php | 9 + .../aura/sqlquery/tests/Sqlsrv/InsertTest.php | 9 + .../aura/sqlquery/tests/Sqlsrv/SelectTest.php | 43 + .../aura/sqlquery/tests/Sqlsrv/UpdateTest.php | 9 + vendor/autoload.php | 2 +- vendor/aws/aws-sdk-php/composer.json | 68 + vendor/bin/generate_vcards | 334 +- vendor/bin/naturalselection | 177 +- vendor/bin/sabredav | 39 +- vendor/bin/vobject | 132 +- vendor/composer/autoload_classmap.php | 476 -- vendor/composer/autoload_real.php | 10 +- vendor/composer/autoload_static.php | 488 +- vendor/composer/installed.json | 6060 +++++++++-------- vendor/composer/installed.php | 40 +- vendor/datto/json-rpc-http/.gitignore | 5 + vendor/datto/json-rpc-http/composer.json | 26 + vendor/datto/json-rpc/.gitignore | 6 + vendor/datto/json-rpc/composer.json | 33 + vendor/datto/json-rpc/tests/Api.php | 94 + vendor/datto/json-rpc/tests/ClientTest.php | 114 + vendor/datto/json-rpc/tests/ServerTest.php | 304 + vendor/ezyang/htmlpurifier/composer.json | 28 + .../DefinitionCache/Serializer/README | 0 vendor/fiskaly/fiskaly-sdk-php/.gitignore | 7 + vendor/fiskaly/fiskaly-sdk-php/.php_cs | 14 + vendor/fiskaly/fiskaly-sdk-php/composer.json | 28 + .../fiskaly-sdk-php/examples/composer.json | 12 + .../fiskaly-sdk-php/tests/ErrorTest.php | 40 + .../tests/FiskalyClientParametersTest.php | 83 + .../tests/FiskalyClientTest.php | 198 + .../fiskaly-sdk-php/tests/JsonRPCTest.php | 59 + .../fiskaly/fiskaly-sdk-php/tests/readme.md | 6 + vendor/laminas/laminas-loader/composer.json | 2 +- vendor/laminas/laminas-loader/composer.lock | 10 +- .../laminas-servicemanager/composer.json | 6 +- .../laminas-servicemanager/composer.lock | 435 +- .../src/ServiceManager.php | 3 +- .../laminas/laminas-validator/composer.lock | 613 +- .../laminas-validator/src/Hostname.php | 9 +- .../laminas-validator/src/Hostname/Biz.php | 2467 +------ .../laminas-validator/src/Hostname/Cn.php | 2467 +------ vendor/league/color-extractor/.gitignore | 5 + vendor/league/color-extractor/.php_cs | 13 + vendor/league/color-extractor/.travis.yml | 16 + vendor/league/color-extractor/composer.json | 32 + .../ColorExtractor/Test/PaletteTest.php | 67 + .../color-extractor/tests/assets/google.png | Bin 0 -> 21801 bytes .../tests/assets/red-transparent-50.png | Bin 0 -> 70 bytes .../color-extractor/tests/assets/test.gif | Bin 0 -> 227287 bytes .../color-extractor/tests/assets/test.jpeg | Bin 0 -> 16432 bytes .../color-extractor/tests/assets/test.png | Bin 0 -> 296329 bytes .../color-extractor/tests/bootstrap.php | 4 + vendor/nikic/fast-route/.gitignore | 5 + vendor/nikic/fast-route/.hhconfig | 1 + vendor/nikic/fast-route/.travis.yml | 20 + vendor/nikic/fast-route/composer.json | 24 + vendor/phpmailer/phpmailer/composer.json | 61 + vendor/rakit/validation/.editorconfig | 8 + vendor/rakit/validation/.gitattributes | 4 + vendor/rakit/validation/.gitignore | 2 + vendor/rakit/validation/composer.json | 23 + vendor/ralouphie/getallheaders/composer.json | 26 + vendor/sabre/dav/.gitignore | 43 + vendor/sabre/dav/.travis.yml | 36 + vendor/sabre/dav/bin/build.php | 0 vendor/sabre/dav/bin/googlecode_upload.py | 0 vendor/sabre/dav/bin/migrateto20.php | 0 vendor/sabre/dav/bin/migrateto21.php | 0 vendor/sabre/dav/bin/migrateto30.php | 0 vendor/sabre/dav/bin/migrateto32.php | 0 vendor/sabre/dav/bin/naturalselection | 0 vendor/sabre/dav/bin/sabredav | 0 vendor/sabre/dav/bin/sabredav.php | 0 vendor/sabre/dav/composer.json | 68 + .../Sabre/CalDAV/Backend/AbstractPDOTest.php | 1431 ++++ .../Sabre/CalDAV/Backend/AbstractTest.php | 178 + .../dav/tests/Sabre/CalDAV/Backend/Mock.php | 258 + .../Sabre/CalDAV/Backend/MockScheduling.php | 91 + .../Sabre/CalDAV/Backend/MockSharing.php | 204 + .../Backend/MockSubscriptionSupport.php | 156 + .../Sabre/CalDAV/Backend/PDOMySQLTest.php | 9 + .../Sabre/CalDAV/Backend/PDOPgSqlTest.php | 9 + .../Sabre/CalDAV/Backend/PDOSqliteTest.php | 9 + .../Sabre/CalDAV/Backend/SimplePDOTest.php | 445 ++ .../CalDAV/CalendarHomeNotificationsTest.php | 49 + .../CalendarHomeSharedCalendarsTest.php | 80 + .../CalDAV/CalendarHomeSubscriptionsTest.php | 85 + .../tests/Sabre/CalDAV/CalendarHomeTest.php | 215 + .../tests/Sabre/CalDAV/CalendarObjectTest.php | 383 ++ .../Sabre/CalDAV/CalendarQueryVAlarmTest.php | 122 + .../CalDAV/CalendarQueryValidatorTest.php | 829 +++ .../dav/tests/Sabre/CalDAV/CalendarTest.php | 256 + .../ExpandEventsDTSTARTandDTENDTest.php | 113 + .../ExpandEventsDTSTARTandDTENDbyDayTest.php | 102 + .../CalDAV/ExpandEventsDoubleEventsTest.php | 103 + .../CalDAV/ExpandEventsFloatingTimeTest.php | 207 + .../tests/Sabre/CalDAV/FreeBusyReportTest.php | 174 + .../Sabre/CalDAV/GetEventsByTimerangeTest.php | 82 + .../Sabre/CalDAV/ICSExportPluginTest.php | 386 ++ .../dav/tests/Sabre/CalDAV/Issue166Test.php | 63 + .../dav/tests/Sabre/CalDAV/Issue172Test.php | 135 + .../dav/tests/Sabre/CalDAV/Issue203Test.php | 137 + .../dav/tests/Sabre/CalDAV/Issue205Test.php | 98 + .../dav/tests/Sabre/CalDAV/Issue211Test.php | 89 + .../dav/tests/Sabre/CalDAV/Issue220Test.php | 99 + .../dav/tests/Sabre/CalDAV/Issue228Test.php | 79 + .../tests/Sabre/CalDAV/JCalTransformTest.php | 262 + .../CalDAV/Notifications/CollectionTest.php | 85 + .../Sabre/CalDAV/Notifications/NodeTest.php | 96 + .../Sabre/CalDAV/Notifications/PluginTest.php | 168 + .../dav/tests/Sabre/CalDAV/PluginTest.php | 1086 +++ .../Sabre/CalDAV/Principal/CollectionTest.php | 20 + .../Sabre/CalDAV/Principal/ProxyReadTest.php | 102 + .../Sabre/CalDAV/Principal/ProxyWriteTest.php | 40 + .../tests/Sabre/CalDAV/Principal/UserTest.php | 127 + .../CalDAV/Schedule/DeliverNewEventTest.php | 92 + .../CalDAV/Schedule/FreeBusyRequestTest.php | 611 ++ .../Sabre/CalDAV/Schedule/IMip/MockPlugin.php | 50 + .../Sabre/CalDAV/Schedule/IMipPluginTest.php | 221 + .../tests/Sabre/CalDAV/Schedule/InboxTest.php | 136 + .../Sabre/CalDAV/Schedule/OutboxPostTest.php | 134 + .../Sabre/CalDAV/Schedule/OutboxTest.php | 48 + .../Sabre/CalDAV/Schedule/PluginBasicTest.php | 39 + .../CalDAV/Schedule/PluginPropertiesTest.php | 146 + ...PluginPropertiesWithSharedCalendarTest.php | 71 + .../CalDAV/Schedule/ScheduleDeliverTest.php | 666 ++ .../CalDAV/Schedule/SchedulingObjectTest.php | 378 + .../tests/Sabre/CalDAV/SharedCalendarTest.php | 176 + .../tests/Sabre/CalDAV/SharingPluginTest.php | 396 ++ .../Subscriptions/CreateSubscriptionTest.php | 123 + .../Sabre/CalDAV/Subscriptions/PluginTest.php | 50 + .../CalDAV/Subscriptions/SubscriptionTest.php | 131 + .../sabre/dav/tests/Sabre/CalDAV/TestUtil.php | 189 + .../tests/Sabre/CalDAV/ValidateICalTest.php | 406 ++ .../Xml/Notification/InviteReplyTest.php | 146 + .../CalDAV/Xml/Notification/InviteTest.php | 165 + .../Xml/Notification/SystemStatusTest.php | 69 + .../Xml/Property/AllowedSharingModesTest.php | 38 + .../Xml/Property/EmailAddressSetTest.php | 40 + .../Sabre/CalDAV/Xml/Property/InviteTest.php | 112 + .../Property/ScheduleCalendarTranspTest.php | 118 + .../SupportedCalendarComponentSetTest.php | 102 + .../Property/SupportedCalendarDataTest.php | 36 + .../Property/SupportedCollationSetTest.php | 37 + .../Xml/Request/CalendarQueryReportTest.php | 369 + .../CalDAV/Xml/Request/InviteReplyTest.php | 78 + .../Sabre/CalDAV/Xml/Request/ShareTest.php | 83 + .../Sabre/CardDAV/AbstractPluginTest.php | 43 + .../Sabre/CardDAV/AddressBookHomeTest.php | 159 + .../Sabre/CardDAV/AddressBookQueryTest.php | 355 + .../Sabre/CardDAV/AddressBookRootTest.php | 31 + .../tests/Sabre/CardDAV/AddressBookTest.php | 194 + .../Sabre/CardDAV/Backend/AbstractPDOTest.php | 373 + .../dav/tests/Sabre/CardDAV/Backend/Mock.php | 258 + .../Sabre/CardDAV/Backend/PDOMySQLTest.php | 9 + .../Sabre/CardDAV/Backend/PDOPgSqlTest.php | 9 + .../Sabre/CardDAV/Backend/PDOSqliteTest.php | 9 + .../dav/tests/Sabre/CardDAV/CardTest.php | 210 + .../tests/Sabre/CardDAV/IDirectoryTest.php | 30 + .../dav/tests/Sabre/CardDAV/MultiGetTest.php | 99 + .../dav/tests/Sabre/CardDAV/PluginTest.php | 102 + .../CardDAV/SogoStripContentTypeTest.php | 56 + .../dav/tests/Sabre/CardDAV/TestUtil.php | 62 + .../dav/tests/Sabre/CardDAV/VCFExportTest.php | 135 + .../Sabre/CardDAV/ValidateFilterTest.php | 209 + .../tests/Sabre/CardDAV/ValidateVCardTest.php | 305 + .../Xml/Property/SupportedAddressDataTest.php | 38 + .../Property/SupportedCollationSetTest.php | 38 + .../Xml/Request/AddressBookMultiGetTest.php | 88 + .../Request/AddressBookQueryReportTest.php | 350 + .../dav/tests/Sabre/DAV/AbstractServer.php | 64 + .../DAV/Auth/Backend/AbstractBasicTest.php | 91 + .../DAV/Auth/Backend/AbstractBearerTest.php | 90 + .../DAV/Auth/Backend/AbstractDigestTest.php | 138 + .../DAV/Auth/Backend/AbstractPDOTest.php | 45 + .../Sabre/DAV/Auth/Backend/ApacheTest.php | 71 + .../DAV/Auth/Backend/BasicCallBackTest.php | 36 + .../tests/Sabre/DAV/Auth/Backend/FileTest.php | 41 + .../dav/tests/Sabre/DAV/Auth/Backend/Mock.php | 87 + .../Sabre/DAV/Auth/Backend/PDOMySQLTest.php | 9 + .../Sabre/DAV/Auth/Backend/PDOPgSqlTest.php | 9 + .../Sabre/DAV/Auth/Backend/PDOSqliteTest.php | 9 + .../dav/tests/Sabre/DAV/Auth/PluginTest.php | 133 + .../dav/tests/Sabre/DAV/BasicNodeTest.php | 235 + .../DAV/Browser/GuessContentTypeTest.php | 70 + .../DAV/Browser/MapGetToPropFindTest.php | 44 + .../tests/Sabre/DAV/Browser/PluginTest.php | 186 + .../Sabre/DAV/Browser/PropFindAllTest.php | 70 + .../sabre/dav/tests/Sabre/DAV/ClientMock.php | 34 + .../sabre/dav/tests/Sabre/DAV/ClientTest.php | 306 + .../dav/tests/Sabre/DAV/CorePluginTest.php | 14 + .../dav/tests/Sabre/DAV/DbTestHelperTrait.php | 143 + .../tests/Sabre/DAV/Exception/LockedTest.php | 67 + .../DAV/Exception/PaymentRequiredTest.php | 14 + .../DAV/Exception/ServiceUnavailableTest.php | 14 + .../DAV/Exception/TooManyMatchesTest.php | 35 + .../dav/tests/Sabre/DAV/ExceptionTest.php | 30 + .../tests/Sabre/DAV/FSExt/DirectoryTest.php | 30 + .../dav/tests/Sabre/DAV/FSExt/FileTest.php | 110 + .../dav/tests/Sabre/DAV/FSExt/ServerTest.php | 246 + .../tests/Sabre/DAV/GetIfConditionsTest.php | 337 + .../tests/Sabre/DAV/HTTPPreferParsingTest.php | 188 + .../dav/tests/Sabre/DAV/HttpCopyTest.php | 199 + .../dav/tests/Sabre/DAV/HttpDeleteTest.php | 137 + .../sabre/dav/tests/Sabre/DAV/HttpGetTest.php | 158 + .../dav/tests/Sabre/DAV/HttpHeadTest.php | 97 + .../dav/tests/Sabre/DAV/HttpMoveTest.php | 119 + .../sabre/dav/tests/Sabre/DAV/HttpPutTest.php | 349 + .../sabre/dav/tests/Sabre/DAV/Issue33Test.php | 106 + .../Sabre/DAV/Locks/Backend/AbstractTest.php | 196 + .../Sabre/DAV/Locks/Backend/FileTest.php | 24 + .../tests/Sabre/DAV/Locks/Backend/Mock.php | 139 + .../Sabre/DAV/Locks/Backend/PDOMySQLTest.php | 9 + .../Sabre/DAV/Locks/Backend/PDOPgSqlTest.php | 9 + .../Sabre/DAV/Locks/Backend/PDOSqliteTest.php | 9 + .../tests/Sabre/DAV/Locks/Backend/PDOTest.php | 20 + .../dav/tests/Sabre/DAV/Locks/MSWordTest.php | 124 + .../dav/tests/Sabre/DAV/Locks/Plugin2Test.php | 69 + .../dav/tests/Sabre/DAV/Locks/PluginTest.php | 1003 +++ .../dav/tests/Sabre/DAV/Mock/Collection.php | 168 + .../sabre/dav/tests/Sabre/DAV/Mock/File.php | 163 + .../Sabre/DAV/Mock/PropertiesCollection.php | 94 + .../dav/tests/Sabre/DAV/Mock/SharedNode.php | 125 + .../tests/Sabre/DAV/Mock/StreamingFile.php | 102 + .../sabre/dav/tests/Sabre/DAV/MockLogger.php | 36 + .../dav/tests/Sabre/DAV/Mount/PluginTest.php | 58 + .../dav/tests/Sabre/DAV/ObjectTreeTest.php | 100 + vendor/sabre/dav/tests/Sabre/DAV/PSR3Test.php | 87 + .../Sabre/DAV/PartialUpdate/FileMock.php | 122 + .../Sabre/DAV/PartialUpdate/PluginTest.php | 135 + .../DAV/PartialUpdate/SpecificationTest.php | 94 + .../dav/tests/Sabre/DAV/PropFindTest.php | 76 + .../dav/tests/Sabre/DAV/PropPatchTest.php | 351 + .../Backend/AbstractPDOTest.php | 193 + .../DAV/PropertyStorage/Backend/Mock.php | 117 + .../PropertyStorage/Backend/PDOMysqlTest.php | 9 + .../PropertyStorage/Backend/PDOPgSqlTest.php | 9 + .../PropertyStorage/Backend/PDOSqliteTest.php | 9 + .../Sabre/DAV/PropertyStorage/PluginTest.php | 117 + .../dav/tests/Sabre/DAV/ServerEventsTest.php | 126 + .../dav/tests/Sabre/DAV/ServerMKCOLTest.php | 366 + .../dav/tests/Sabre/DAV/ServerPluginTest.php | 108 + .../Sabre/DAV/ServerPreconditionTest.php | 344 + .../DAV/ServerPropsInfiniteDepthTest.php | 217 + .../dav/tests/Sabre/DAV/ServerPropsTest.php | 201 + .../dav/tests/Sabre/DAV/ServerRangeTest.php | 262 + .../dav/tests/Sabre/DAV/ServerSimpleTest.php | 475 ++ .../Sabre/DAV/ServerUpdatePropertiesTest.php | 102 + .../tests/Sabre/DAV/Sharing/PluginTest.php | 190 + .../Sabre/DAV/Sharing/ShareResourceTest.php | 210 + .../dav/tests/Sabre/DAV/SimpleFileTest.php | 19 + .../dav/tests/Sabre/DAV/StringUtilTest.php | 129 + .../Sabre/DAV/Sync/MockSyncCollection.php | 169 + .../dav/tests/Sabre/DAV/Sync/PluginTest.php | 523 ++ .../tests/Sabre/DAV/SyncTokenPropertyTest.php | 106 + .../Sabre/DAV/TemporaryFileFilterTest.php | 199 + .../sabre/dav/tests/Sabre/DAV/TestPlugin.php | 37 + vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php | 258 + .../dav/tests/Sabre/DAV/UUIDUtilTest.php | 25 + .../tests/Sabre/DAV/Xml/Element/PropTest.php | 154 + .../Sabre/DAV/Xml/Element/ResponseTest.php | 313 + .../Sabre/DAV/Xml/Element/ShareeTest.php | 98 + .../tests/Sabre/DAV/Xml/Property/HrefTest.php | 109 + .../Sabre/DAV/Xml/Property/InviteTest.php | 76 + .../DAV/Xml/Property/LastModifiedTest.php | 59 + .../Sabre/DAV/Xml/Property/LocalHrefTest.php | 69 + .../DAV/Xml/Property/LockDiscoveryTest.php | 86 + .../DAV/Xml/Property/ShareAccessTest.php | 121 + .../Xml/Property/SupportedMethodSetTest.php | 45 + .../Xml/Property/SupportedReportSetTest.php | 115 + .../Sabre/DAV/Xml/Request/PropFindTest.php | 48 + .../Sabre/DAV/Xml/Request/PropPatchTest.php | 53 + .../DAV/Xml/Request/ShareResourceTest.php | 75 + .../DAV/Xml/Request/SyncCollectionTest.php | 94 + .../sabre/dav/tests/Sabre/DAV/Xml/XmlTest.php | 48 + .../dav/tests/Sabre/DAVACL/ACLMethodTest.php | 337 + .../DAVACL/AclPrincipalPropSetReportTest.php | 69 + .../tests/Sabre/DAVACL/AllowAccessTest.php | 132 + .../tests/Sabre/DAVACL/BlockAccessTest.php | 215 + .../DAVACL/Exception/AceConflictTest.php | 39 + .../Exception/NeedPrivilegesExceptionTest.php | 49 + .../Sabre/DAVACL/Exception/NoAbstractTest.php | 39 + .../Exception/NotRecognizedPrincipalTest.php | 39 + .../Exception/NotSupportedPrivilegeTest.php | 39 + .../Sabre/DAVACL/ExpandPropertiesTest.php | 317 + .../tests/Sabre/DAVACL/FS/CollectionTest.php | 44 + .../dav/tests/Sabre/DAVACL/FS/FileTest.php | 73 + .../Sabre/DAVACL/FS/HomeCollectionTest.php | 116 + .../dav/tests/Sabre/DAVACL/MockACLNode.php | 55 + .../dav/tests/Sabre/DAVACL/MockPrincipal.php | 64 + .../tests/Sabre/DAVACL/PluginAdminTest.php | 79 + .../Sabre/DAVACL/PluginPropertiesTest.php | 415 ++ .../DAVACL/PluginUpdatePropertiesTest.php | 116 + .../PrincipalBackend/AbstractPDOTest.php | 217 + .../Sabre/DAVACL/PrincipalBackend/Mock.php | 168 + .../DAVACL/PrincipalBackend/PDOMySQLTest.php | 9 + .../DAVACL/PrincipalBackend/PDOPgSqlTest.php | 9 + .../DAVACL/PrincipalBackend/PDOSqliteTest.php | 9 + .../Sabre/DAVACL/PrincipalCollectionTest.php | 57 + .../tests/Sabre/DAVACL/PrincipalMatchTest.php | 123 + .../DAVACL/PrincipalPropertySearchTest.php | 397 ++ .../DAVACL/PrincipalSearchPropertySetTest.php | 140 + .../dav/tests/Sabre/DAVACL/PrincipalTest.php | 208 + .../tests/Sabre/DAVACL/SimplePluginTest.php | 321 + .../Sabre/DAVACL/Xml/Property/ACLTest.php | 342 + .../Xml/Property/AclRestrictionsTest.php | 30 + .../Property/CurrentUserPrivilegeSetTest.php | 86 + .../DAVACL/Xml/Property/PrincipalTest.php | 191 + .../Property/SupportedPrivilegeSetTest.php | 103 + .../Request/AclPrincipalPropSetReportTest.php | 30 + .../Xml/Request/PrincipalMatchReportTest.php | 51 + .../sabre/dav/tests/Sabre/DAVServerTest.php | 306 + .../dav/tests/Sabre/HTTP/ResponseMock.php | 22 + .../sabre/dav/tests/Sabre/HTTP/SapiMock.php | 30 + vendor/sabre/dav/tests/Sabre/TestUtil.php | 71 + vendor/sabre/dav/tests/bootstrap.php | 38 + vendor/sabre/dav/tests/phpcs/ruleset.xml | 57 + vendor/sabre/dav/tests/phpunit.xml.dist | 46 + vendor/sabre/event/.gitignore | 14 + vendor/sabre/event/.travis.yml | 26 + vendor/sabre/event/bin/.empty | 0 vendor/sabre/event/composer.json | 47 + vendor/sabre/event/examples/promise.php | 0 vendor/sabre/event/examples/tail.php | 0 .../event/tests/ContinueCallbackTest.php | 76 + vendor/sabre/event/tests/CoroutineTest.php | 262 + vendor/sabre/event/tests/EventEmitterTest.php | 318 + .../sabre/event/tests/Loop/FunctionsTest.php | 160 + vendor/sabre/event/tests/Loop/LoopTest.php | 180 + .../event/tests/Promise/FunctionsTest.php | 184 + .../sabre/event/tests/Promise/PromiseTest.php | 341 + vendor/sabre/event/tests/PromiseTest.php | 386 ++ vendor/sabre/event/tests/benchmark/bench.php | 116 + vendor/sabre/http/.gitignore | 15 + vendor/sabre/http/.travis.yml | 28 + vendor/sabre/http/bin/.empty | 0 vendor/sabre/http/composer.json | 44 + vendor/sabre/http/tests/HTTP/Auth/AWSTest.php | 235 + .../sabre/http/tests/HTTP/Auth/BasicTest.php | 69 + .../sabre/http/tests/HTTP/Auth/BearerTest.php | 57 + .../sabre/http/tests/HTTP/Auth/DigestTest.php | 191 + vendor/sabre/http/tests/HTTP/ClientTest.php | 474 ++ .../sabre/http/tests/HTTP/FunctionsTest.php | 121 + .../http/tests/HTTP/MessageDecoratorTest.php | 93 + vendor/sabre/http/tests/HTTP/MessageTest.php | 246 + .../http/tests/HTTP/RequestDecoratorTest.php | 112 + vendor/sabre/http/tests/HTTP/RequestTest.php | 167 + .../http/tests/HTTP/ResponseDecoratorTest.php | 37 + vendor/sabre/http/tests/HTTP/ResponseTest.php | 48 + vendor/sabre/http/tests/HTTP/SapiTest.php | 167 + vendor/sabre/http/tests/HTTP/URLUtilTest.php | 187 + vendor/sabre/http/tests/HTTP/UtilTest.php | 206 + vendor/sabre/http/tests/bootstrap.php | 8 + vendor/sabre/http/tests/phpcs/ruleset.xml | 57 + vendor/sabre/http/tests/phpunit.xml | 18 + vendor/sabre/uri/.gitignore | 13 + vendor/sabre/uri/.travis.yml | 14 + vendor/sabre/uri/composer.json | 41 + vendor/sabre/uri/tests/BuildTest.php | 41 + vendor/sabre/uri/tests/NormalizeTest.php | 42 + vendor/sabre/uri/tests/ParseTest.php | 193 + vendor/sabre/uri/tests/ResolveTest.php | 99 + vendor/sabre/uri/tests/SplitTest.php | 41 + vendor/sabre/uri/tests/phpcs/ruleset.xml | 57 + vendor/sabre/uri/tests/phpunit.xml.dist | 18 + vendor/sabre/vobject/.gitignore | 23 + vendor/sabre/vobject/.php_cs.dist | 12 + vendor/sabre/vobject/.travis.yml | 31 + vendor/sabre/vobject/bin/bench.php | 0 .../sabre/vobject/bin/fetch_windows_zones.php | 0 vendor/sabre/vobject/bin/generate_vcards | 0 .../vobject/bin/generateicalendardata.php | 0 vendor/sabre/vobject/bin/mergeduplicates.php | 0 vendor/sabre/vobject/bin/vobject | 0 vendor/sabre/vobject/composer.json | 91 + .../vobject/tests/VObject/AttachIssueTest.php | 22 + .../VObject/BirthdayCalendarGeneratorTest.php | 548 ++ .../sabre/vobject/tests/VObject/CliTest.php | 620 ++ .../tests/VObject/Component/AvailableTest.php | 71 + .../tests/VObject/Component/VAlarmTest.php | 172 + .../VObject/Component/VAvailabilityTest.php | 474 ++ .../tests/VObject/Component/VCalendarTest.php | 758 +++ .../tests/VObject/Component/VCardTest.php | 302 + .../tests/VObject/Component/VEventTest.php | 94 + .../tests/VObject/Component/VFreeBusyTest.php | 64 + .../tests/VObject/Component/VJournalTest.php | 94 + .../tests/VObject/Component/VTimeZoneTest.php | 54 + .../tests/VObject/Component/VTodoTest.php | 171 + .../vobject/tests/VObject/ComponentTest.php | 549 ++ .../tests/VObject/DateTimeParserTest.php | 660 ++ .../vobject/tests/VObject/DocumentTest.php | 84 + .../vobject/tests/VObject/ElementListTest.php | 30 + .../vobject/tests/VObject/EmClientTest.php | 55 + .../tests/VObject/EmptyParameterTest.php | 69 + .../tests/VObject/EmptyValueIssueTest.php | 30 + .../tests/VObject/FreeBusyDataTest.php | 311 + .../tests/VObject/FreeBusyGeneratorTest.php | 721 ++ .../tests/VObject/GoogleColonEscapingTest.php | 31 + .../VObject/ICalendar/AttachParseTest.php | 29 + .../VObject/ITip/BrokerAttendeeReplyTest.php | 1213 ++++ .../VObject/ITip/BrokerDeleteEventTest.php | 326 + .../tests/VObject/ITip/BrokerNewEventTest.php | 586 ++ .../VObject/ITip/BrokerProcessMessageTest.php | 157 + .../VObject/ITip/BrokerProcessReplyTest.php | 583 ++ .../ITip/BrokerSignificantChangesTest.php | 108 + .../tests/VObject/ITip/BrokerTester.php | 92 + ...ezoneInParseEventInfoWithoutMasterTest.php | 78 + .../VObject/ITip/BrokerUpdateEventTest.php | 817 +++ .../tests/VObject/ITip/EvolutionTest.php | 2647 +++++++ .../tests/VObject/ITip/MessageTest.php | 30 + .../vobject/tests/VObject/Issue153Test.php | 14 + .../vobject/tests/VObject/Issue259Test.php | 23 + .../tests/VObject/Issue36WorkAroundTest.php | 39 + .../vobject/tests/VObject/Issue40Test.php | 32 + .../vobject/tests/VObject/Issue64Test.php | 19 + .../vobject/tests/VObject/Issue96Test.php | 24 + .../tests/VObject/IssueUndefinedIndexTest.php | 29 + .../sabre/vobject/tests/VObject/JCalTest.php | 149 + .../sabre/vobject/tests/VObject/JCardTest.php | 194 + .../tests/VObject/LineFoldingIssueTest.php | 23 + .../vobject/tests/VObject/ParameterTest.php | 124 + .../vobject/tests/VObject/Parser/JsonTest.php | 391 ++ .../tests/VObject/Parser/MimeDirTest.php | 153 + .../VObject/Parser/QuotedPrintableTest.php | 101 + .../vobject/tests/VObject/Parser/XmlTest.php | 2808 ++++++++ .../tests/VObject/Property/BinaryTest.php | 18 + .../tests/VObject/Property/BooleanTest.php | 21 + .../tests/VObject/Property/CompoundTest.php | 48 + .../tests/VObject/Property/FloatTest.php | 29 + .../Property/ICalendar/CalAddressTest.php | 31 + .../Property/ICalendar/DateTimeTest.php | 348 + .../Property/ICalendar/DurationTest.php | 20 + .../VObject/Property/ICalendar/RecurTest.php | 432 ++ .../tests/VObject/Property/TextTest.php | 87 + .../tests/VObject/Property/UriTest.php | 26 + .../Property/VCard/DateAndOrTimeTest.php | 255 + .../Property/VCard/LanguageTagTest.php | 47 + .../Property/VCard/PhoneNumberTest.php | 19 + .../vobject/tests/VObject/PropertyTest.php | 390 ++ .../vobject/tests/VObject/ReaderTest.php | 462 ++ .../EventIterator/ByMonthInDailyTest.php | 58 + .../Recur/EventIterator/BySetPosHangTest.php | 60 + .../EventIterator/ExpandFloatingTimesTest.php | 120 + .../EventIterator/FifthTuesdayProblemTest.php | 53 + .../EventIterator/HandleRDateExpandTest.php | 59 + .../EventIterator/IncorrectExpandTest.php | 61 + .../EventIterator/InfiniteLoopProblemTest.php | 95 + .../Recur/EventIterator/Issue26Test.php | 33 + .../Recur/EventIterator/Issue48Test.php | 49 + .../Recur/EventIterator/Issue50Test.php | 126 + .../VObject/Recur/EventIterator/MainTest.php | 1414 ++++ .../Recur/EventIterator/MaxInstancesTest.php | 38 + .../EventIterator/MissingOverriddenTest.php | 61 + .../Recur/EventIterator/NoInstancesTest.php | 39 + .../EventIterator/OverrideFirstEventTest.php | 119 + .../SameDateForRecurringEventsTest.php | 56 + .../tests/VObject/Recur/RDateIteratorTest.php | 74 + .../tests/VObject/Recur/RRuleIteratorTest.php | 976 +++ .../UntilRespectsTimezoneTest.ics | 39 + .../vobject/tests/VObject/SlashRTest.php | 19 + .../tests/VObject/Splitter/ICalendarTest.php | 323 + .../tests/VObject/Splitter/VCardTest.php | 242 + .../vobject/tests/VObject/StringUtilTest.php | 50 + .../tests/VObject/TimeZoneUtilTest.php | 359 + .../vobject/tests/VObject/UUIDUtilTest.php | 36 + .../vobject/tests/VObject/VCard21Test.php | 51 + .../tests/VObject/VCardConverterTest.php | 551 ++ .../vobject/tests/VObject/VersionTest.php | 14 + .../vobject/tests/VObject/WriterTest.php | 39 + .../sabre/vobject/tests/VObject/issue153.vcf | 352 + .../sabre/vobject/tests/VObject/issue64.vcf | 351 + vendor/sabre/vobject/tests/bootstrap.php | 23 + vendor/sabre/vobject/tests/phpunit.xml | 23 + vendor/sabre/xml/.gitignore | 9 + vendor/sabre/xml/.travis.yml | 26 + vendor/sabre/xml/bin/.empty | 0 vendor/sabre/xml/composer.json | 53 + .../xml/tests/Sabre/Xml/ContextStackTest.php | 44 + .../tests/Sabre/Xml/Deserializer/EnumTest.php | 88 + .../Sabre/Xml/Deserializer/KeyValueTest.php | 153 + .../Deserializer/RepeatingElementsTest.php | 35 + .../Xml/Deserializer/ValueObjectTest.php | 169 + .../xml/tests/Sabre/Xml/Element/CDataTest.php | 58 + .../xml/tests/Sabre/Xml/Element/Eater.php | 78 + .../tests/Sabre/Xml/Element/ElementsTest.php | 129 + .../tests/Sabre/Xml/Element/KeyValueTest.php | 210 + .../xml/tests/Sabre/Xml/Element/Mock.php | 60 + .../xml/tests/Sabre/Xml/Element/UriTest.php | 76 + .../Sabre/Xml/Element/XmlFragmentTest.php | 143 + .../xml/tests/Sabre/Xml/InfiteLoopTest.php | 50 + .../sabre/xml/tests/Sabre/Xml/ReaderTest.php | 585 ++ .../tests/Sabre/Xml/Serializer/EnumTest.php | 36 + .../Xml/Serializer/RepeatingElementsTest.php | 35 + .../sabre/xml/tests/Sabre/Xml/ServiceTest.php | 409 ++ .../sabre/xml/tests/Sabre/Xml/WriterTest.php | 439 ++ vendor/sabre/xml/tests/phpcs/ruleset.xml | 56 + vendor/sabre/xml/tests/phpunit.xml.dist | 17 + vendor/smarty/smarty/composer.json | 46 + .../swiss-payment-slip-fpdf/composer.json | 59 + .../swiss-payment-slip-fpdf/composer.lock | 665 ++ .../swiss-payment-slip-pdf/composer.json | 57 + .../swiss-payment-slip-pdf/composer.lock | 576 ++ vendor/symfony/polyfill-intl-idn/Idn.php | 8 + vendor/symfony/polyfill-mbstring/Mbstring.php | 2 +- .../symfony/polyfill-mbstring/bootstrap80.php | 4 +- .../symfony/polyfill-mbstring/composer.json | 3 +- vendor/tecnickcom/tcpdf/.github/FUNDING.yml | 1 + vendor/tecnickcom/tcpdf/.gitignore | 1 + vendor/tecnickcom/tcpdf/composer.json | 47 + vendor/tecnickcom/tcpdf/tools/.htaccess | 1 + .../tecnickcom/tcpdf/tools/tcpdf_addfont.php | 0 vendor/webmozart/assert/.php-cs-fixer.php | 27 + vendor/webmozart/assert/CHANGELOG.md | 21 +- vendor/webmozart/assert/README.md | 6 +- vendor/webmozart/assert/composer.json | 31 +- vendor/webmozart/assert/src/Assert.php | 306 +- vendor/webmozart/assert/src/Mixin.php | 1231 ++-- vendor/y0lk/oauth1-etsy/.gitignore | 2 + vendor/y0lk/oauth1-etsy/.travis.yml | 15 + vendor/y0lk/oauth1-etsy/composer.json | 32 + vendor/y0lk/oauth1-etsy/tests/EtsyTest.php | 27 + 547 files changed, 80930 insertions(+), 9909 deletions(-) create mode 100644 vendor/aura/sqlquery/.scrutinizer.yml create mode 100644 vendor/aura/sqlquery/.travis.yml create mode 100644 vendor/aura/sqlquery/composer.json create mode 100644 vendor/aura/sqlquery/tests/AbstractQueryTest.php create mode 100644 vendor/aura/sqlquery/tests/Common/DeleteTest.php create mode 100644 vendor/aura/sqlquery/tests/Common/InsertTest.php create mode 100644 vendor/aura/sqlquery/tests/Common/SelectTest.php create mode 100644 vendor/aura/sqlquery/tests/Common/UpdateTest.php create mode 100644 vendor/aura/sqlquery/tests/FakeQuery.php create mode 100644 vendor/aura/sqlquery/tests/Mysql/DeleteTest.php create mode 100644 vendor/aura/sqlquery/tests/Mysql/InsertTest.php create mode 100644 vendor/aura/sqlquery/tests/Mysql/SelectTest.php create mode 100644 vendor/aura/sqlquery/tests/Mysql/UpdateTest.php create mode 100644 vendor/aura/sqlquery/tests/Pgsql/DeleteTest.php create mode 100644 vendor/aura/sqlquery/tests/Pgsql/InsertTest.php create mode 100644 vendor/aura/sqlquery/tests/Pgsql/SelectTest.php create mode 100644 vendor/aura/sqlquery/tests/Pgsql/UpdateTest.php create mode 100644 vendor/aura/sqlquery/tests/QueryFactoryTest.php create mode 100644 vendor/aura/sqlquery/tests/QuoterTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlite/DeleteTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlite/InsertTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlite/SelectTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlite/UpdateTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlsrv/DeleteTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlsrv/InsertTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlsrv/SelectTest.php create mode 100644 vendor/aura/sqlquery/tests/Sqlsrv/UpdateTest.php create mode 100644 vendor/aws/aws-sdk-php/composer.json mode change 100644 => 100755 vendor/bin/generate_vcards mode change 100644 => 100755 vendor/bin/naturalselection mode change 100644 => 100755 vendor/bin/sabredav mode change 100644 => 100755 vendor/bin/vobject create mode 100644 vendor/datto/json-rpc-http/.gitignore create mode 100644 vendor/datto/json-rpc-http/composer.json create mode 100644 vendor/datto/json-rpc/.gitignore create mode 100644 vendor/datto/json-rpc/composer.json create mode 100644 vendor/datto/json-rpc/tests/Api.php create mode 100644 vendor/datto/json-rpc/tests/ClientTest.php create mode 100644 vendor/datto/json-rpc/tests/ServerTest.php create mode 100644 vendor/ezyang/htmlpurifier/composer.json mode change 100644 => 100755 vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README create mode 100644 vendor/fiskaly/fiskaly-sdk-php/.gitignore create mode 100644 vendor/fiskaly/fiskaly-sdk-php/.php_cs create mode 100644 vendor/fiskaly/fiskaly-sdk-php/composer.json create mode 100644 vendor/fiskaly/fiskaly-sdk-php/examples/composer.json create mode 100644 vendor/fiskaly/fiskaly-sdk-php/tests/ErrorTest.php create mode 100644 vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientParametersTest.php create mode 100644 vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientTest.php create mode 100644 vendor/fiskaly/fiskaly-sdk-php/tests/JsonRPCTest.php create mode 100644 vendor/fiskaly/fiskaly-sdk-php/tests/readme.md create mode 100644 vendor/league/color-extractor/.gitignore create mode 100644 vendor/league/color-extractor/.php_cs create mode 100644 vendor/league/color-extractor/.travis.yml create mode 100644 vendor/league/color-extractor/composer.json create mode 100644 vendor/league/color-extractor/tests/League/ColorExtractor/Test/PaletteTest.php create mode 100644 vendor/league/color-extractor/tests/assets/google.png create mode 100644 vendor/league/color-extractor/tests/assets/red-transparent-50.png create mode 100644 vendor/league/color-extractor/tests/assets/test.gif create mode 100644 vendor/league/color-extractor/tests/assets/test.jpeg create mode 100644 vendor/league/color-extractor/tests/assets/test.png create mode 100644 vendor/league/color-extractor/tests/bootstrap.php create mode 100644 vendor/nikic/fast-route/.gitignore create mode 100644 vendor/nikic/fast-route/.hhconfig create mode 100644 vendor/nikic/fast-route/.travis.yml create mode 100644 vendor/nikic/fast-route/composer.json create mode 100644 vendor/phpmailer/phpmailer/composer.json create mode 100644 vendor/rakit/validation/.editorconfig create mode 100644 vendor/rakit/validation/.gitattributes create mode 100644 vendor/rakit/validation/.gitignore create mode 100644 vendor/rakit/validation/composer.json create mode 100644 vendor/ralouphie/getallheaders/composer.json create mode 100644 vendor/sabre/dav/.gitignore create mode 100644 vendor/sabre/dav/.travis.yml mode change 100644 => 100755 vendor/sabre/dav/bin/build.php mode change 100644 => 100755 vendor/sabre/dav/bin/googlecode_upload.py mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto20.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto21.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto30.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto32.php mode change 100644 => 100755 vendor/sabre/dav/bin/naturalselection mode change 100644 => 100755 vendor/sabre/dav/bin/sabredav mode change 100644 => 100755 vendor/sabre/dav/bin/sabredav.php create mode 100644 vendor/sabre/dav/composer.json create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/MockScheduling.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/MockSharing.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/MockSubscriptionSupport.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Backend/SimplePDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarHomeNotificationsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarHomeSharedCalendarsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarHomeSubscriptionsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarHomeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsFloatingTimeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/JCalTransformTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/DeliverNewEventTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/FreeBusyRequestTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/IMip/MockPlugin.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/IMipPluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/InboxTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxPostTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/PluginBasicTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/PluginPropertiesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/PluginPropertiesWithSharedCalendarTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/ScheduleDeliverTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/SchedulingObjectTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Subscriptions/CreateSubscriptionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Subscriptions/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Subscriptions/SubscriptionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Notification/InviteReplyTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Notification/InviteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Notification/SystemStatusTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/AllowedSharingModesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/EmailAddressSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/InviteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/ScheduleCalendarTranspTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/SupportedCalendarComponentSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/SupportedCalendarDataTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Property/SupportedCollationSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Request/CalendarQueryReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Request/InviteReplyTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CalDAV/Xml/Request/ShareTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookHomeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookRootTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Xml/Property/SupportedAddressDataTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Xml/Property/SupportedCollationSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Xml/Request/AddressBookMultiGetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/CardDAV/Xml/Request/AddressBookQueryReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBearerTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/BasicCallBackTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Browser/PropFindAllTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/CorePluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/DbTestHelperTrait.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Exception/PaymentRequiredTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Exception/ServiceUnavailableTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Exception/TooManyMatchesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/FSExt/DirectoryTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/GetIfConditionsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpCopyTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpGetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpHeadTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpMoveTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/Plugin2Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mock/PropertiesCollection.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mock/SharedNode.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mock/StreamingFile.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/MockLogger.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PSR3Test.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropFindTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropPatchTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/Backend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/Backend/PDOMysqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/Backend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/Backend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/PropertyStorage/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerPropsInfiniteDepthTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Sharing/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Sharing/ShareResourceTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Sync/MockSyncCollection.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Sync/PluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/SyncTokenPropertyTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/UUIDUtilTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Element/PropTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Element/ResponseTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Element/ShareeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/HrefTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/InviteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/LastModifiedTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/LocalHrefTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/LockDiscoveryTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/ShareAccessTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/SupportedMethodSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Property/SupportedReportSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Request/PropFindTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Request/PropPatchTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Request/ShareResourceTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/Request/SyncCollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAV/Xml/XmlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/AclPrincipalPropSetReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/FS/CollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/FS/FileTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/FS/HomeCollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOPgSqlTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalMatchTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Property/ACLTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Property/AclRestrictionsTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Property/CurrentUserPrivilegeSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Property/PrincipalTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Property/SupportedPrivilegeSetTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Request/AclPrincipalPropSetReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVACL/Xml/Request/PrincipalMatchReportTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/DAVServerTest.php create mode 100644 vendor/sabre/dav/tests/Sabre/HTTP/ResponseMock.php create mode 100644 vendor/sabre/dav/tests/Sabre/HTTP/SapiMock.php create mode 100644 vendor/sabre/dav/tests/Sabre/TestUtil.php create mode 100644 vendor/sabre/dav/tests/bootstrap.php create mode 100644 vendor/sabre/dav/tests/phpcs/ruleset.xml create mode 100644 vendor/sabre/dav/tests/phpunit.xml.dist create mode 100644 vendor/sabre/event/.gitignore create mode 100644 vendor/sabre/event/.travis.yml create mode 100644 vendor/sabre/event/bin/.empty create mode 100644 vendor/sabre/event/composer.json mode change 100644 => 100755 vendor/sabre/event/examples/promise.php mode change 100644 => 100755 vendor/sabre/event/examples/tail.php create mode 100644 vendor/sabre/event/tests/ContinueCallbackTest.php create mode 100644 vendor/sabre/event/tests/CoroutineTest.php create mode 100644 vendor/sabre/event/tests/EventEmitterTest.php create mode 100644 vendor/sabre/event/tests/Loop/FunctionsTest.php create mode 100644 vendor/sabre/event/tests/Loop/LoopTest.php create mode 100644 vendor/sabre/event/tests/Promise/FunctionsTest.php create mode 100644 vendor/sabre/event/tests/Promise/PromiseTest.php create mode 100644 vendor/sabre/event/tests/PromiseTest.php create mode 100644 vendor/sabre/event/tests/benchmark/bench.php create mode 100644 vendor/sabre/http/.gitignore create mode 100644 vendor/sabre/http/.travis.yml create mode 100644 vendor/sabre/http/bin/.empty create mode 100644 vendor/sabre/http/composer.json create mode 100644 vendor/sabre/http/tests/HTTP/Auth/AWSTest.php create mode 100644 vendor/sabre/http/tests/HTTP/Auth/BasicTest.php create mode 100644 vendor/sabre/http/tests/HTTP/Auth/BearerTest.php create mode 100644 vendor/sabre/http/tests/HTTP/Auth/DigestTest.php create mode 100644 vendor/sabre/http/tests/HTTP/ClientTest.php create mode 100644 vendor/sabre/http/tests/HTTP/FunctionsTest.php create mode 100644 vendor/sabre/http/tests/HTTP/MessageDecoratorTest.php create mode 100644 vendor/sabre/http/tests/HTTP/MessageTest.php create mode 100644 vendor/sabre/http/tests/HTTP/RequestDecoratorTest.php create mode 100644 vendor/sabre/http/tests/HTTP/RequestTest.php create mode 100644 vendor/sabre/http/tests/HTTP/ResponseDecoratorTest.php create mode 100644 vendor/sabre/http/tests/HTTP/ResponseTest.php create mode 100644 vendor/sabre/http/tests/HTTP/SapiTest.php create mode 100644 vendor/sabre/http/tests/HTTP/URLUtilTest.php create mode 100644 vendor/sabre/http/tests/HTTP/UtilTest.php create mode 100644 vendor/sabre/http/tests/bootstrap.php create mode 100644 vendor/sabre/http/tests/phpcs/ruleset.xml create mode 100644 vendor/sabre/http/tests/phpunit.xml create mode 100644 vendor/sabre/uri/.gitignore create mode 100644 vendor/sabre/uri/.travis.yml create mode 100644 vendor/sabre/uri/composer.json create mode 100644 vendor/sabre/uri/tests/BuildTest.php create mode 100644 vendor/sabre/uri/tests/NormalizeTest.php create mode 100644 vendor/sabre/uri/tests/ParseTest.php create mode 100644 vendor/sabre/uri/tests/ResolveTest.php create mode 100644 vendor/sabre/uri/tests/SplitTest.php create mode 100644 vendor/sabre/uri/tests/phpcs/ruleset.xml create mode 100644 vendor/sabre/uri/tests/phpunit.xml.dist create mode 100644 vendor/sabre/vobject/.gitignore create mode 100644 vendor/sabre/vobject/.php_cs.dist create mode 100644 vendor/sabre/vobject/.travis.yml mode change 100644 => 100755 vendor/sabre/vobject/bin/bench.php mode change 100644 => 100755 vendor/sabre/vobject/bin/fetch_windows_zones.php mode change 100644 => 100755 vendor/sabre/vobject/bin/generate_vcards mode change 100644 => 100755 vendor/sabre/vobject/bin/generateicalendardata.php mode change 100644 => 100755 vendor/sabre/vobject/bin/mergeduplicates.php mode change 100644 => 100755 vendor/sabre/vobject/bin/vobject create mode 100644 vendor/sabre/vobject/composer.json create mode 100644 vendor/sabre/vobject/tests/VObject/AttachIssueTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/BirthdayCalendarGeneratorTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/CliTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/AvailableTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VAlarmTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VAvailabilityTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VCalendarTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VCardTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VEventTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VFreeBusyTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VJournalTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VTimeZoneTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Component/VTodoTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ComponentTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/DateTimeParserTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/DocumentTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ElementListTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/EmClientTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/EmptyParameterTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/EmptyValueIssueTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/FreeBusyDataTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/FreeBusyGeneratorTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/GoogleColonEscapingTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ICalendar/AttachParseTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerAttendeeReplyTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerDeleteEventTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerNewEventTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerProcessMessageTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerProcessReplyTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerSignificantChangesTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerTester.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerTimezoneInParseEventInfoWithoutMasterTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/BrokerUpdateEventTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/EvolutionTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ITip/MessageTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue153Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue259Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue36WorkAroundTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue40Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue64Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Issue96Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/IssueUndefinedIndexTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/JCalTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/JCardTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/LineFoldingIssueTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ParameterTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Parser/JsonTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Parser/MimeDirTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Parser/QuotedPrintableTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Parser/XmlTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/BinaryTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/BooleanTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/CompoundTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/FloatTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/ICalendar/CalAddressTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/ICalendar/DateTimeTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/ICalendar/DurationTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/ICalendar/RecurTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/TextTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/UriTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/VCard/DateAndOrTimeTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/VCard/LanguageTagTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Property/VCard/PhoneNumberTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/PropertyTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/ReaderTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/ByMonthInDailyTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/BySetPosHangTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/ExpandFloatingTimesTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/FifthTuesdayProblemTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/HandleRDateExpandTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/IncorrectExpandTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/InfiniteLoopProblemTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/Issue26Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/Issue48Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/Issue50Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/MainTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/MaxInstancesTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/MissingOverriddenTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/NoInstancesTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/OverrideFirstEventTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/EventIterator/SameDateForRecurringEventsTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/RDateIteratorTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Recur/RRuleIteratorTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/RecurrenceIterator/UntilRespectsTimezoneTest.ics create mode 100644 vendor/sabre/vobject/tests/VObject/SlashRTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Splitter/ICalendarTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/Splitter/VCardTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/StringUtilTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/TimeZoneUtilTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/UUIDUtilTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/VCard21Test.php create mode 100644 vendor/sabre/vobject/tests/VObject/VCardConverterTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/VersionTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/WriterTest.php create mode 100644 vendor/sabre/vobject/tests/VObject/issue153.vcf create mode 100644 vendor/sabre/vobject/tests/VObject/issue64.vcf create mode 100644 vendor/sabre/vobject/tests/bootstrap.php create mode 100644 vendor/sabre/vobject/tests/phpunit.xml create mode 100644 vendor/sabre/xml/.gitignore create mode 100644 vendor/sabre/xml/.travis.yml create mode 100644 vendor/sabre/xml/bin/.empty create mode 100644 vendor/sabre/xml/composer.json create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/ContextStackTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Deserializer/EnumTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Deserializer/KeyValueTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Deserializer/RepeatingElementsTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Deserializer/ValueObjectTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/CDataTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/Eater.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/ElementsTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/KeyValueTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/Mock.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/UriTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Element/XmlFragmentTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/InfiteLoopTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/ReaderTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Serializer/EnumTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/Serializer/RepeatingElementsTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/ServiceTest.php create mode 100644 vendor/sabre/xml/tests/Sabre/Xml/WriterTest.php create mode 100644 vendor/sabre/xml/tests/phpcs/ruleset.xml create mode 100644 vendor/sabre/xml/tests/phpunit.xml.dist create mode 100644 vendor/smarty/smarty/composer.json create mode 100644 vendor/swiss-payment-slip/swiss-payment-slip-fpdf/composer.json create mode 100644 vendor/swiss-payment-slip/swiss-payment-slip-fpdf/composer.lock create mode 100644 vendor/swiss-payment-slip/swiss-payment-slip-pdf/composer.json create mode 100644 vendor/swiss-payment-slip/swiss-payment-slip-pdf/composer.lock create mode 100644 vendor/tecnickcom/tcpdf/.github/FUNDING.yml create mode 100644 vendor/tecnickcom/tcpdf/.gitignore create mode 100644 vendor/tecnickcom/tcpdf/composer.json create mode 100644 vendor/tecnickcom/tcpdf/tools/.htaccess mode change 100644 => 100755 vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php create mode 100644 vendor/webmozart/assert/.php-cs-fixer.php create mode 100644 vendor/y0lk/oauth1-etsy/.gitignore create mode 100644 vendor/y0lk/oauth1-etsy/.travis.yml create mode 100644 vendor/y0lk/oauth1-etsy/composer.json create mode 100644 vendor/y0lk/oauth1-etsy/tests/EtsyTest.php diff --git a/composer.json b/composer.json index b9518644c..5807b41b5 100644 --- a/composer.json +++ b/composer.json @@ -65,7 +65,8 @@ "config": { "platform": { "php": "8.1", - "ext-gd": "8.1" + "ext-gd": "8.1", + "ext-soap": "8.1" }, "optimize-autoloader": true } diff --git a/composer.lock b/composer.lock index 85d34929c..4b03b3dee 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "229fd9b44bc0380415380fe519e53dfb", + "content-hash": "79eff8c373a8f453cf73098a3a8ce631", "packages": [ { "name": "aura/sqlquery", @@ -676,20 +676,20 @@ }, { "name": "laminas/laminas-loader", - "version": "2.11.1", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-loader.git", - "reference": "c507d5eccb969f7208434e3980680a1f6c0b1d8d" + "reference": "ec8cee33fb254ee4d9c8e8908c870e5c797e1272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/c507d5eccb969f7208434e3980680a1f6c0b1d8d", - "reference": "c507d5eccb969f7208434e3980680a1f6c0b1d8d", + "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/ec8cee33fb254ee4d9c8e8908c870e5c797e1272", + "reference": "ec8cee33fb254ee4d9c8e8908c870e5c797e1272", "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "^8.0.0" }, "conflict": { "zendframework/zend-loader": "*" @@ -729,7 +729,7 @@ } ], "abandoned": true, - "time": "2024-12-05T14:43:32+00:00" + "time": "2025-12-30T11:30:39+00:00" }, { "name": "laminas/laminas-mail", @@ -871,16 +871,16 @@ }, { "name": "laminas/laminas-servicemanager", - "version": "3.23.0", + "version": "3.23.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "a8640182b892b99767d54404d19c5c3b3699f79b" + "reference": "06594db3a644447521eace9b5efdb12dc8446a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/a8640182b892b99767d54404d19c5c3b3699f79b", - "reference": "a8640182b892b99767d54404d19c5c3b3699f79b", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/06594db3a644447521eace9b5efdb12dc8446a33", + "reference": "06594db3a644447521eace9b5efdb12dc8446a33", "shasum": "" }, "require": { @@ -903,12 +903,12 @@ "require-dev": { "composer/package-versions-deprecated": "^1.11.99.5", "friendsofphp/proxy-manager-lts": "^1.0.18", - "laminas/laminas-code": "^4.14.0", + "laminas/laminas-code": "^4.16.0", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", "mikey179/vfsstream": "^1.6.12", - "phpbench/phpbench": "^1.3.1", - "phpunit/phpunit": "^10.5.36", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^10.5.51", "psalm/plugin-phpunit": "^0.18.4", "vimeo/psalm": "^5.26.1" }, @@ -957,7 +957,7 @@ "type": "community_bridge" } ], - "time": "2024-10-28T21:32:16+00:00" + "time": "2025-08-12T08:44:02+00:00" }, { "name": "laminas/laminas-stdlib", @@ -1020,16 +1020,16 @@ }, { "name": "laminas/laminas-validator", - "version": "2.64.2", + "version": "2.64.4", "source": { "type": "git", "url": "https://github.com/laminas/laminas-validator.git", - "reference": "771e504760448ac7af660710237ceb93be602e08" + "reference": "e2e6631f599a9b0db1e23adb633c09a2f0c68bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/771e504760448ac7af660710237ceb93be602e08", - "reference": "771e504760448ac7af660710237ceb93be602e08", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/e2e6631f599a9b0db1e23adb633c09a2f0c68bed", + "reference": "e2e6631f599a9b0db1e23adb633c09a2f0c68bed", "shasum": "" }, "require": { @@ -1100,7 +1100,7 @@ "type": "community_bridge" } ], - "time": "2024-11-26T21:29:17+00:00" + "time": "2025-06-16T14:38:00+00:00" }, { "name": "league/color-extractor", @@ -2561,16 +2561,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -2624,7 +2624,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" }, "funding": [ { @@ -2635,16 +2635,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -2705,7 +2709,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" }, "funding": [ { @@ -2716,6 +2720,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -2725,19 +2733,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -2785,7 +2794,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" }, "funding": [ { @@ -2796,12 +2805,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "tecnickcom/tcpdf", @@ -2871,28 +2884,28 @@ }, { "name": "webmozart/assert", - "version": "1.11.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", "shasum": "" }, "require": { "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", "php": "^7.2 || ^8.0" }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" }, "type": "library", "extra": { @@ -2923,9 +2936,9 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" + "source": "https://github.com/webmozarts/assert/tree/1.12.1" }, - "time": "2022-06-03T18:03:27+00:00" + "time": "2025-10-29T15:56:20+00:00" }, { "name": "y0lk/oauth1-etsy", @@ -2996,12 +3009,15 @@ "prefer-lowest": false, "platform": { "php": "^8.1", - "ext-gd": "*" + "ext-gd": "*", + "ext-curl": "*", + "ext-soap": "*" }, "platform-dev": {}, "platform-overrides": { "php": "8.1", - "ext-gd": "8.1" + "ext-gd": "8.1", + "ext-soap": "8.1" }, "plugin-api-version": "2.6.0" } diff --git a/vendor/aura/sqlquery/.scrutinizer.yml b/vendor/aura/sqlquery/.scrutinizer.yml new file mode 100644 index 000000000..7c7c84543 --- /dev/null +++ b/vendor/aura/sqlquery/.scrutinizer.yml @@ -0,0 +1,10 @@ +filter: + paths: ["src/*"] +tools: + external_code_coverage: true + php_code_coverage: true + php_sim: true + php_mess_detector: true + php_pdepend: true + php_analyzer: true + php_cpd: true diff --git a/vendor/aura/sqlquery/.travis.yml b/vendor/aura/sqlquery/.travis.yml new file mode 100644 index 000000000..7dbe61466 --- /dev/null +++ b/vendor/aura/sqlquery/.travis.yml @@ -0,0 +1,14 @@ +sudo: false +language: php +php: + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - hhvm + - 7 +script: + - phpunit --coverage-clover=coverage.clover +after_script: + - wget https://scrutinizer-ci.com/ocular.phar + - php ocular.phar code-coverage:upload --format=php-clover coverage.clover diff --git a/vendor/aura/sqlquery/composer.json b/vendor/aura/sqlquery/composer.json new file mode 100644 index 000000000..40c021cc3 --- /dev/null +++ b/vendor/aura/sqlquery/composer.json @@ -0,0 +1,48 @@ +{ + "name": "aura/sqlquery", + "type": "library", + "description": "Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.", + "keywords": [ + "mysql", + "pdo", + "pgsql", + "postgres", + "postgresql", + "sqlite", + "sql server", + "sqlserver", + "query", + "select", + "insert", + "update", + "delete", + "db", + "database", + "sql", + "dml" + ], + "homepage": "https://github.com/auraphp/Aura.SqlQuery", + "license": "BSD-2-Clause", + "authors": [ + { + "name": "Aura.SqlQuery Contributors", + "homepage": "https://github.com/auraphp/Aura.SqlQuery/contributors" + } + ], + "require": { + "php": ">=5.3.9" + }, + "autoload": { + "psr-4": { + "Aura\\SqlQuery\\": "src/" + } + }, + "extra": { + "aura": { + "type": "library" + } + }, + "suggest": { + "aura/sql": "Provides an extension to the native PDO along with a profiler and connection locator. Use version 2.*." + } +} diff --git a/vendor/aura/sqlquery/tests/AbstractQueryTest.php b/vendor/aura/sqlquery/tests/AbstractQueryTest.php new file mode 100644 index 000000000..a7eee4c3b --- /dev/null +++ b/vendor/aura/sqlquery/tests/AbstractQueryTest.php @@ -0,0 +1,77 @@ +query_factory = new QueryFactory($this->db_type); + $this->query = $this->newQuery(); + } + + protected function newQuery() + { + $method = 'new' . $this->query_type; + return $this->query_factory->$method(); + } + + protected function assertSameSql($expect, $actual) + { + // remove leading and trailing whitespace per block and line + $expect = trim($expect); + $expect = preg_replace('/^[ \t]*/m', '', $expect); + $expect = preg_replace('/[ \t]*$/m', '', $expect); + + // convert "<<" and ">>" to the correct identifier quotes + $expect = $this->requoteIdentifiers($expect); + + // remove leading and trailing whitespace per block and line + $actual = trim($actual); + $actual = preg_replace('/^[ \t]*/m', '', $actual); + $actual = preg_replace('/[ \t]*$/m', '', $actual); + + // normalize line endings to be sure tests will pass on windows and mac + $expect = preg_replace('/\r\n|\n|\r/', PHP_EOL, $expect); + $actual = preg_replace('/\r\n|\n|\r/', PHP_EOL, $actual); + + // are they the same now? + $this->assertSame($expect, $actual); + } + + protected function requoteIdentifiers($string) + { + $string = str_replace('<<', $this->query->getQuoteNamePrefix(), $string); + $string = str_replace('>>', $this->query->getQuoteNameSuffix(), $string); + return $string; + } + + protected function tearDown() + { + parent::tearDown(); + } + + public function testBindValues() + { + $actual = $this->query->getBindValues(); + $this->assertSame(array(), $actual); + + $expect = array('foo' => 'bar', 'baz' => 'dib'); + $this->query->bindValues($expect); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + + $this->query->bindValues(array('zim' => 'gir')); + $expect = array('foo' => 'bar', 'baz' => 'dib', 'zim' => 'gir'); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Common/DeleteTest.php b/vendor/aura/sqlquery/tests/Common/DeleteTest.php new file mode 100644 index 000000000..94bab9252 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Common/DeleteTest.php @@ -0,0 +1,35 @@ +query->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir'); + + $actual = $this->query->__toString(); + $expect = " + DELETE FROM <> + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + "; + + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Common/InsertTest.php b/vendor/aura/sqlquery/tests/Common/InsertTest.php new file mode 100644 index 000000000..a51b9e7a5 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Common/InsertTest.php @@ -0,0 +1,336 @@ +query_factory->setLastInsertIdNames(array( + 'tablex.colx' => 'tablex_colx_alternative_name', + )); + return parent::newQuery(); + } + + public function testCommon() + { + $this->query->into('t1') + ->cols(array('c1', 'c2')) + ->col('c3') + ->set('c4', 'NOW()') + ->set('c5', null) + ->cols(array('cx' => 'cx_value')); + + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> ( + <>, + <>, + <>, + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3, + NOW(), + NULL, + :cx + ) + '; + + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array('cx' => 'cx_value'); + $this->assertSame($expect, $actual); + } + + public function testGetLastInsertIdName_default() + { + $this->query->into('table'); + $expect = null; + $actual = $this->query->getLastInsertIdName('col'); + $this->assertSame($expect, $actual); + } + + public function testGetLastInsertIdName_alternative() + { + $this->query->into('tablex'); + $expect = 'tablex_colx_alternative_name'; + $actual = $this->query->getLastInsertIdName('colx'); + $this->assertSame($expect, $actual); + } + + public function testBindValues() + { + $this->assertInstanceOf('\Aura\SqlQuery\AbstractQuery', $this->query->bindValues(array('bar', 'bar value'))); + } + + public function testBindValue() + { + $this->assertInstanceOf('\Aura\SqlQuery\AbstractQuery', $this->query->bindValue('bar', 'bar value')); + } + + public function testBulkAddRow() + { + $this->query->into('t1'); + + $this->query->cols(array('c1' => 'v1-0', 'c2' => 'v2-0')); + $this->query->col('c3', 'v3-0'); + $this->query->set('c4', 'NOW() - 0'); + + $this->query->addRow(); + + $this->query->col('c3', 'v3-1'); + $this->query->set('c4', 'NOW() - 1'); + $this->query->cols(array('c2' => 'v2-1', 'c1' => 'v1-1')); + + $this->query->addRow(); + + $this->query->set('c4', 'NOW() - 2'); + $this->query->col('c1', 'v1-2'); + $this->query->cols(array('c2' => 'v2-2', 'c3' => 'v3-2')); + + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> + (<>, <>, <>, <>) + VALUES + (:c1_0, :c2_0, :c3_0, NOW() - 0), + (:c1_1, :c2_1, :c3_1, NOW() - 1), + (:c1_2, :c2_2, :c3_2, NOW() - 2) + '; + + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c1_0' => 'v1-0', + 'c2_0' => 'v2-0', + 'c3_0' => 'v3-0', + 'c1_1' => 'v1-1', + 'c2_1' => 'v2-1', + 'c3_1' => 'v3-1', + 'c1_2' => 'v1-2', + 'c2_2' => 'v2-2', + 'c3_2' => 'v3-2', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testBulkMissingCol() + { + $this->query->into('t1'); + + // the needed cols + $this->query->cols(array('c1' => 'v1-0', 'c2' => 'v2-0')); + $this->query->col('c3', 'v3-0'); + $this->query->set('c4', 'NOW() - 0'); + + // add another row + $this->query->addRow(); + $this->query->set('c4', 'NOW() - 1'); + $this->query->cols(array('c2' => 'v2-1', 'c1' => 'v1-1')); + + // failed to add c3, should blow up + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + $this->requoteIdentifiers("Column <> missing from row 1.") + ); + $this->query->addRow(); + } + + public function testBulkEmptyRow() + { + $this->query->into('t1'); + + $this->query->cols(array('c1' => 'v1-0', 'c2' => 'v2-0')); + $this->query->col('c3', 'v3-0'); + $this->query->set('c4', 'NOW() - 0'); + + $this->query->addRow(); + + $this->query->col('c3', 'v3-1'); + $this->query->set('c4', 'NOW() - 1'); + $this->query->cols(array('c2' => 'v2-1', 'c1' => 'v1-1')); + + $this->query->addRow(); + + $this->query->set('c4', 'NOW() - 2'); + $this->query->col('c1', 'v1-2'); + $this->query->cols(array('c2' => 'v2-2', 'c3' => 'v3-2')); + + // add an empty row + $this->query->addRow(); + + // should be the same as testBulk() + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> + (<>, <>, <>, <>) + VALUES + (:c1_0, :c2_0, :c3_0, NOW() - 0), + (:c1_1, :c2_1, :c3_1, NOW() - 1), + (:c1_2, :c2_2, :c3_2, NOW() - 2) + '; + + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c1_0' => 'v1-0', + 'c2_0' => 'v2-0', + 'c3_0' => 'v3-0', + 'c1_1' => 'v1-1', + 'c2_1' => 'v2-1', + 'c3_1' => 'v3-1', + 'c1_2' => 'v1-2', + 'c2_2' => 'v2-2', + 'c3_2' => 'v3-2', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testBulkAddRows() + { + $this->query->into('t1'); + $this->query->addRows(array( + array( + 'c1' => 'v1-0', + 'c2' => 'v2-0', + 'c3' => 'v3-0', + ), + array( + 'c1' => 'v1-1', + 'c2' => 'v2-1', + 'c3' => 'v3-1', + ), + array( + 'c1' => 'v1-2', + 'c2' => 'v2-2', + 'c3' => 'v3-2', + ), + )); + + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> + (<>, <>, <>) + VALUES + (:c1_0, :c2_0, :c3_0), + (:c1_1, :c2_1, :c3_1), + (:c1_2, :c2_2, :c3_2) + '; + + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c1_0' => 'v1-0', + 'c2_0' => 'v2-0', + 'c3_0' => 'v3-0', + 'c1_1' => 'v1-1', + 'c2_1' => 'v2-1', + 'c3_1' => 'v3-1', + 'c1_2' => 'v1-2', + 'c2_2' => 'v2-2', + 'c3_2' => 'v3-2', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testIssue60_addRowsWithOnlyOneRow() + { + $this->query->into('t1'); + $this->query->addRows(array( + array( + 'c1' => 'v1-0', + 'c2' => 'v2-0', + 'c3' => 'v3-0', + ), + )); + + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> ( + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3 + ) + '; + + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c1' => 'v1-0', + 'c2' => 'v2-0', + 'c3' => 'v3-0', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testIssue60_repeatedAddRowsWithOnlyOneRow() + { + $this->query->into('t1'); + $this->query->addRows(array( + array( + 'c1' => 'v1-0', + 'c2' => 'v2-0', + 'c3' => 'v3-0', + ), + )); + + $this->query->addRows(array( + array( + 'c1' => 'v1-1', + 'c2' => 'v2-1', + 'c3' => 'v3-1', + ), + )); + + $this->query->addRows(array( + array( + 'c1' => 'v1-2', + 'c2' => 'v2-2', + 'c3' => 'v3-2', + ), + )); + + $actual = $this->query->__toString(); + $expect = ' + INSERT INTO <> + (<>, <>, <>) + VALUES + (:c1_0, :c2_0, :c3_0), + (:c1_1, :c2_1, :c3_1), + (:c1_2, :c2_2, :c3_2) + '; + + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c1_0' => 'v1-0', + 'c2_0' => 'v2-0', + 'c3_0' => 'v3-0', + 'c1_1' => 'v1-1', + 'c2_1' => 'v2-1', + 'c3_1' => 'v3-1', + 'c1_2' => 'v1-2', + 'c2_2' => 'v2-2', + 'c3_2' => 'v3-2', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Common/SelectTest.php b/vendor/aura/sqlquery/tests/Common/SelectTest.php new file mode 100644 index 000000000..02e76d7a9 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Common/SelectTest.php @@ -0,0 +1,963 @@ +query->from('t1'); + $this->setExpectedException('Aura\SqlQuery\Exception'); + $this->query->__toString(); + + } + + public function testSetAndGetPaging() + { + $expect = 88; + $this->query->setPaging($expect); + $actual = $this->query->getPaging(); + $this->assertSame($expect, $actual); + } + + public function testDistinct() + { + $this->query->distinct() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = ' + SELECT DISTINCT + <>.<>, + <>.<>, + <>.<> + FROM + <> + '; + $this->assertSameSql($expect, $actual); + } + + public function testDuplicateFlag() + { + $this->query->distinct() + ->distinct() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = ' + SELECT DISTINCT + <>.<>, + <>.<>, + <>.<> + FROM + <> + '; + $this->assertSameSql($expect, $actual); + } + + public function testFlagUnset() + { + $this->query->distinct() + ->distinct(false) + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = ' + SELECT + <>.<>, + <>.<>, + <>.<> + FROM + <> + '; + $this->assertSameSql($expect, $actual); + } + + public function testCols() + { + $this->assertFalse($this->query->hasCols()); + + $this->query->cols(array( + 't1.c1', + 'c2' => 'a2', + 'COUNT(t1.c3)' + )); + + $this->assertTrue($this->query->hasCols()); + + $actual = $this->query->__toString(); + $expect = ' + SELECT + <>.<>, + c2 AS <>, + COUNT(<>.<>) + '; + $this->assertSameSql($expect, $actual); + } + + public function testFrom() + { + $this->query->cols(array('*')); + $this->query->from('t1') + ->from('t2'); + + $actual = $this->query->__toString(); + $expect = ' + SELECT + * + FROM + <>, + <> + '; + $this->assertSameSql($expect, $actual); + } + + public function testFromRaw() + { + $this->query->cols(array('*')); + $this->query->fromRaw('t1') + ->fromRaw('t2'); + + $actual = $this->query->__toString(); + $expect = ' + SELECT + * + FROM + t1, + t2 + '; + $this->assertSameSql($expect, $actual); + } + + public function testDuplicateFromTable() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + "Cannot reference 'FROM t1' after 'FROM t1'" + ); + $this->query->from('t1'); + } + + + public function testDuplicateFromAlias() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + "Cannot reference 'FROM t2 AS t1' after 'FROM t1'" + ); + $this->query->from('t2 AS t1'); + } + + public function testFromSubSelect() + { + $sub = 'SELECT * FROM t2'; + $this->query->cols(array('*'))->fromSubSelect($sub, 'a2'); + $expect = ' + SELECT + * + FROM + ( + SELECT * FROM t2 + ) AS <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testDuplicateSubSelectTableRef() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + "Cannot reference 'FROM (SELECT ...) AS t1' after 'FROM t1'" + ); + + $sub = 'SELECT * FROM t2'; + $this->query->fromSubSelect($sub, 't1'); + } + + public function testFromSubSelectObject() + { + $sub = $this->newQuery(); + $sub->cols(array('*')) + ->from('t2') + ->where('foo = ?', 'bar'); + + $this->query->cols(array('*')) + ->fromSubSelect($sub, 'a2') + ->where('a2.baz = ?', 'dib'); + + $expect = ' + SELECT + * + FROM + ( + SELECT + * + FROM + <> + WHERE + foo = :_1_1_ + ) AS <> + WHERE + <>.<> = :_2_ + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testJoin() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->join('left', 't2', 't1.id = t2.id'); + $this->query->join('inner', 't3 AS a3', 't2.id = a3.id'); + $this->query->from('t4'); + $this->query->join('natural', 't5'); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN <> ON <>.<> = <>.<> + INNER JOIN <> AS <> ON <>.<> = <>.<>, + <> + NATURAL JOIN <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testJoinBeforeFrom() + { + $this->query->cols(array('*')); + $this->query->join('left', 't2', 't1.id = t2.id'); + $this->query->join('inner', 't3 AS a3', 't2.id = a3.id'); + $this->query->from('t1'); + $this->query->from('t4'); + $this->query->join('natural', 't5'); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN <> ON <>.<> = <>.<> + INNER JOIN <> AS <> ON <>.<> = <>.<>, + <> + NATURAL JOIN <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testDuplicateJoinRef() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + "Cannot reference 'NATURAL JOIN t1' after 'FROM t1'" + ); + $this->query->join('natural', 't1'); + } + + public function testJoinAndBind() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->join( + 'left', + 't2', + 't1.id = t2.id AND t1.foo = ?', + array('bar') + ); + + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN <> ON <>.<> = <>.<> AND <>.<> = :_1_ + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $expect = array('_1_' => 'bar'); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testLeftAndInnerJoin() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->leftJoin('t2', 't1.id = t2.id'); + $this->query->innerJoin('t3 AS a3', 't2.id = a3.id'); + $this->query->join('natural', 't4'); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN <> ON <>.<> = <>.<> + INNER JOIN <> AS <> ON <>.<> = <>.<> + NATURAL JOIN <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testLeftAndInnerJoinWithBind() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->leftJoin('t2', 't2.id = ?', array('foo')); + $this->query->innerJoin('t3 AS a3', 'a3.id = ?', array('bar')); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN <> ON <>.<> = :_1_ + INNER JOIN <> AS <> ON <>.<> = :_2_ + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $expect = array('_1_' => 'foo', '_2_' => 'bar'); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testJoinSubSelect() + { + $sub1 = 'SELECT * FROM t2'; + $sub2 = 'SELECT * FROM t3'; + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->joinSubSelect('left', $sub1, 'a2', 't2.c1 = a3.c1'); + $this->query->joinSubSelect('natural', $sub2, 'a3'); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN ( + SELECT * FROM t2 + ) AS <> ON <>.<> = <>.<> + NATURAL JOIN ( + SELECT * FROM t3 + ) AS <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testJoinSubSelectBeforeFrom() + { + $sub1 = 'SELECT * FROM t2'; + $sub2 = 'SELECT * FROM t3'; + $this->query->cols(array('*')); + $this->query->joinSubSelect('left', $sub1, 'a2', 't2.c1 = a3.c1'); + $this->query->joinSubSelect('natural', $sub2, 'a3'); + $this->query->from('t1'); + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN ( + SELECT * FROM t2 + ) AS <> ON <>.<> = <>.<> + NATURAL JOIN ( + SELECT * FROM t3 + ) AS <> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testDuplicateJoinSubSelectRef() + { + $this->query->cols(array('*')); + $this->query->from('t1'); + + $this->setExpectedException( + 'Aura\SqlQuery\Exception', + "Cannot reference 'NATURAL JOIN (SELECT ...) AS t1' after 'FROM t1'" + ); + + $sub2 = 'SELECT * FROM t3'; + $this->query->joinSubSelect('natural', $sub2, 't1'); + } + + public function testJoinSubSelectObject() + { + $sub = $this->newQuery(); + $sub->cols(array('*'))->from('t2')->where('foo = ?', 'bar'); + + $this->query->cols(array('*')); + $this->query->from('t1'); + $this->query->joinSubSelect('left', $sub, 'a3', 't2.c1 = a3.c1'); + $this->query->where('baz = ?', 'dib'); + + $expect = ' + SELECT + * + FROM + <> + LEFT JOIN ( + SELECT + * + FROM + <> + WHERE + foo = :_1_1_ + ) AS <> ON <>.<> = <>.<> + WHERE + baz = :_2_ + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testJoinOrder() + { + $this->query->cols(array('*')); + $this->query + ->from('t1') + ->join('inner', 't2', 't2.id = t1.id') + ->join('left', 't3', 't3.id = t2.id') + ->from('t4') + ->join('inner', 't5', 't5.id = t4.id'); + $expect = ' + SELECT + * + FROM + <> + INNER JOIN <> ON <>.<> = <>.<> + LEFT JOIN <> ON <>.<> = <>.<>, + <> + INNER JOIN <> ON <>.<> = <>.<> + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testJoinOnAndUsing() + { + $this->query->cols(array('*')); + $this->query + ->from('t1') + ->join('inner', 't2', 'ON t2.id = t1.id') + ->join('left', 't3', 'USING (id)'); + $expect = ' + SELECT + * + FROM + <> + INNER JOIN <> ON <>.<> = <>.<> + LEFT JOIN <> USING (id) + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testWhere() + { + $this->query->cols(array('*')); + $this->query->where('c1 = c2') + ->where('c3 = ?', 'foo'); + $expect = ' + SELECT + * + WHERE + c1 = c2 + AND c3 = :_1_ + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array('_1_' => 'foo'); + $this->assertSame($expect, $actual); + } + + public function testOrWhere() + { + $this->query->cols(array('*')); + $this->query->orWhere('c1 = c2') + ->orWhere('c3 = ?', 'foo'); + + $expect = ' + SELECT + * + WHERE + c1 = c2 + OR c3 = :_1_ + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array('_1_' => 'foo'); + $this->assertSame($expect, $actual); + } + + public function testGroupBy() + { + $this->query->cols(array('*')); + $this->query->groupBy(array('c1', 't2.c2')); + $expect = ' + SELECT + * + GROUP BY + c1, + <>.<> + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testHaving() + { + $this->query->cols(array('*')); + $this->query->having('c1 = c2') + ->having('c3 = ?', 'foo'); + $expect = ' + SELECT + * + HAVING + c1 = c2 + AND c3 = :_1_ + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array('_1_' => 'foo'); + $this->assertSame($expect, $actual); + } + + public function testOrHaving() + { + $this->query->cols(array('*')); + $this->query->orHaving('c1 = c2') + ->orHaving('c3 = ?', 'foo'); + $expect = ' + SELECT + * + HAVING + c1 = c2 + OR c3 = :_1_ + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array('_1_' => 'foo'); + $this->assertSame($expect, $actual); + } + + public function testOrderBy() + { + $this->query->cols(array('*')); + $this->query->orderBy(array('c1', 'UPPER(t2.c2)', )); + $expect = ' + SELECT + * + ORDER BY + c1, + UPPER(<>.<>) + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testGetterOnLimitAndOffset() + { + $this->query->cols(array('*')); + $this->query->limit(10); + $this->query->offset(50); + + $this->assertSame(10, $this->query->getLimit()); + $this->assertSame(50, $this->query->getOffset()); + } + + public function testLimitOffset() + { + $this->query->cols(array('*')); + $this->query->limit(10); + $expect = ' + SELECT + * + LIMIT 10 + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $this->query->offset(40); + $expect = ' + SELECT + * + LIMIT 10 OFFSET 40 + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testPage() + { + $this->query->cols(array('*')); + $this->query->page(5); + $expect = ' + SELECT + * + LIMIT 10 OFFSET 40 + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testForUpdate() + { + $this->query->cols(array('*')); + $this->query->forUpdate(); + $expect = ' + SELECT + * + FOR UPDATE + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testUnion() + { + $this->query->cols(array('c1')) + ->from('t1') + ->union() + ->cols(array('c2')) + ->from('t2'); + $expect = ' + SELECT + c1 + FROM + <> + UNION + SELECT + c2 + FROM + <> + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testUnionAll() + { + $this->query->cols(array('c1')) + ->from('t1') + ->unionAll() + ->cols(array('c2')) + ->from('t2'); + $expect = ' + SELECT + c1 + FROM + <> + UNION ALL + SELECT + c2 + FROM + <> + '; + + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testAutobind() + { + // do these out of order + $this->query->having('baz IN (?)', array('dib', 'zim', 'gir')); + $this->query->where('foo = ?', 'bar'); + $this->query->cols(array('*')); + + $expect = ' + SELECT + * + WHERE + foo = :_2_ + HAVING + baz IN (:_1_) + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $expect = array( + '_1_' => array('dib', 'zim', 'gir'), + '_2_' => 'bar', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testAddColWithAlias() + { + $this->query->cols(array( + 'foo', + 'bar', + 'table.noalias', + 'col1 as alias1', + 'col2 alias2', + 'table.proper' => 'alias_proper', + 'legacy invalid as alias still works', + 'overwrite as alias1', + )); + + // add separately to make sure we don't overwrite sequential keys + $this->query->cols(array( + 'baz', + 'dib', + )); + + $actual = $this->query->__toString(); + + $expect = ' + SELECT + foo, + bar, + <>.<>, + overwrite AS <>, + col2 AS <>, + <
>.<> AS <>, + legacy invalid AS <>, + baz, + dib + '; + $this->assertSameSql($expect, $actual); + } + + public function testGetCols() + { + $this->query->cols(array('valueBar' => 'aliasFoo')); + + $cols = $this->query->getCols(); + + $this->assertTrue(is_array($cols)); + $this->assertTrue(count($cols) === 1); + $this->assertArrayHasKey('aliasFoo', $cols); + } + + public function testRemoveColsAlias() + { + $this->query->cols(array('valueBar' => 'aliasFoo', 'valueBaz' => 'aliasBaz')); + + $this->assertTrue($this->query->removeCol('aliasFoo')); + $cols = $this->query->getCols(); + + $this->assertTrue(is_array($cols)); + $this->assertTrue(count($cols) === 1); + $this->assertArrayNotHasKey('aliasFoo', $cols); + } + + public function testRemoveColsName() + { + $this->query->cols(array('valueBar', 'valueBaz' => 'aliasBaz')); + + $this->assertTrue($this->query->removeCol('valueBar')); + $cols = $this->query->getCols(); + + $this->assertTrue(is_array($cols)); + $this->assertTrue(count($cols) === 1); + $this->assertNotContains('valueBar', $cols); + } + + public function testRemoveColsNotFound() + { + $this->assertFalse($this->query->removeCol('valueBar')); + } + + public function testIssue47() + { + // sub select + $sub = $this->newQuery() + ->cols(array('*')) + ->from('table1 AS t1'); + $expect = ' + SELECT + * + FROM + <> AS <> + '; + $actual = $sub->__toString(); + $this->assertSameSql($expect, $actual); + + // main select + $select = $this->newQuery() + ->cols(array('*')) + ->from('table2 AS t2') + ->where("field IN (?)", $sub); + + $expect = ' + SELECT + * + FROM + <> AS <> + WHERE + field IN (SELECT + * + FROM + <> AS <>) + '; + $actual = $select->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testIssue49() + { + $this->assertSame(0, $this->query->getPage()); + $this->assertSame(10, $this->query->getPaging()); + $this->assertSame(0, $this->query->getLimit()); + $this->assertSame(0, $this->query->getOffset()); + + $this->query->page(3); + $this->assertSame(3, $this->query->getPage()); + $this->assertSame(10, $this->query->getPaging()); + $this->assertSame(10, $this->query->getLimit()); + $this->assertSame(20, $this->query->getOffset()); + + $this->query->limit(10); + $this->assertSame(0, $this->query->getPage()); + $this->assertSame(10, $this->query->getPaging()); + $this->assertSame(10, $this->query->getLimit()); + $this->assertSame(0, $this->query->getOffset()); + + $this->query->page(3); + $this->query->setPaging(50); + $this->assertSame(3, $this->query->getPage()); + $this->assertSame(50, $this->query->getPaging()); + $this->assertSame(50, $this->query->getLimit()); + $this->assertSame(100, $this->query->getOffset()); + + $this->query->offset(10); + $this->assertSame(0, $this->query->getPage()); + $this->assertSame(50, $this->query->getPaging()); + $this->assertSame(0, $this->query->getLimit()); + $this->assertSame(10, $this->query->getOffset()); + } + + public function testWhereSubSelectImportsBoundValues() + { + // sub select + $sub = $this->newQuery() + ->cols(array('*')) + ->from('table1 AS t1') + ->where('t1.foo = ?', 'bar'); + + $expect = ' + SELECT + * + FROM + <> AS <> + WHERE + <>.<> = :_1_1_ + '; + $actual = $sub->getStatement(); + $this->assertSameSql($expect, $actual); + + // main select + $select = $this->newQuery() + ->cols(array('*')) + ->from('table2 AS t2') + ->where("field IN (?)", $sub) + ->where("t2.baz = ?", 'dib'); + + $expect = ' + SELECT + * + FROM + <> AS <> + WHERE + field IN (SELECT + * + FROM + <> AS <> + WHERE + <>.<> = :_1_1_) + AND <>.<> = :_2_2_ + '; + + // B.b.: The _2_2_ means "2nd query, 2nd sequential bound value". It's + // the 2nd bound value because the 1st one is imported fromt the 1st + // query (the subselect). + + $actual = $select->getStatement(); + $this->assertSameSql($expect, $actual); + + $expect = array( + '_1_1_' => 'bar', + '_2_2_' => 'dib', + ); + $actual = $select->getBindValues(); + $this->assertSame($expect, $actual); + } + + public function testUnionSelectCanHaveSameAliasesInDifferentSelects() + { + $select = $this->query + ->cols(array( + '...' + )) + ->from('a') + ->join('INNER', 'c', 'a_cid = c_id') + ->union() + ->cols(array( + '...' + )) + ->from('b') + ->join('INNER', 'c', 'b_cid = c_id'); + + $expected = 'SELECT + ... + FROM + <> + INNER JOIN <> ON a_cid = c_id + UNION + SELECT + ... + FROM + <> + INNER JOIN <> ON b_cid = c_id'; + + $actual = (string) $select->getStatement(); + $this->assertSameSql($expected, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Common/UpdateTest.php b/vendor/aura/sqlquery/tests/Common/UpdateTest.php new file mode 100644 index 000000000..de4996dae --- /dev/null +++ b/vendor/aura/sqlquery/tests/Common/UpdateTest.php @@ -0,0 +1,45 @@ +query->table('t1') + ->cols(array('c1', 'c2')) + ->col('c3') + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir'); + + $actual = $this->query->__toString(); + $expect = " + UPDATE <> + SET + <> = :c1, + <> = :c2, + <> = :c3, + <> = NULL, + <> = NOW() + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + "; + + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/FakeQuery.php b/vendor/aura/sqlquery/tests/FakeQuery.php new file mode 100644 index 000000000..cc179ccec --- /dev/null +++ b/vendor/aura/sqlquery/tests/FakeQuery.php @@ -0,0 +1,20 @@ +> + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + "; + + public function testOrderByLimit() + { + $this->query->from('t1') + ->orderBy(array('c1', 'c2')) + ->limit(10); + + $actual = $this->query->__toString(); + $expect = ' + DELETE FROM <> + ORDER BY + c1, + c2 + LIMIT 10 + '; + $this->assertSameSql($expect, $actual); + } + + public function testLowPriority() + { + $this->query->lowPriority() + ->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir'); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'LOW_PRIORITY'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testQuick() + { + $this->query->quick() + ->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir'); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'QUICK'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testIgnore() + { + $this->query->ignore() + ->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir'); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'IGNORE'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testGetterOnLimitAndOffset() + { + $this->query->from('t1') + ->limit(5); + + $this->assertSame(5, $this->query->getLimit()); + + } +} diff --git a/vendor/aura/sqlquery/tests/Mysql/InsertTest.php b/vendor/aura/sqlquery/tests/Mysql/InsertTest.php new file mode 100644 index 000000000..0b429007e --- /dev/null +++ b/vendor/aura/sqlquery/tests/Mysql/InsertTest.php @@ -0,0 +1,125 @@ +> ( + <>, + <>, + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3, + NOW(), + NULL + ) + "; + + protected $expected_sql_on_duplicate_key_update = " + INSERT INTO <> ( + <>, + <>, + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3, + NOW(), + NULL + ) ON DUPLICATE KEY UPDATE + <> = :c1__on_duplicate_key, + <> = :c2__on_duplicate_key, + <> = :c3__on_duplicate_key, + <> = NULL, + <> = :c5__on_duplicate_key + "; + + public function testHighPriority() + { + $this->query->highPriority() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'HIGH_PRIORITY'); + + $this->assertSameSql($expect, $actual); + } + + public function testLowPriority() + { + $this->query->lowPriority() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'LOW_PRIORITY'); + + $this->assertSameSql($expect, $actual); + } + + public function testDelayed() + { + $this->query->delayed() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'DELAYED'); + + $this->assertSameSql($expect, $actual); + } + + public function testIgnore() + { + $this->query->ignore() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'IGNORE'); + + $this->assertSameSql($expect, $actual); + } + + public function testOnDuplicateKeyUpdate() + { + $this->query->into('t1') + ->cols(array('c1', 'c2' => 'c2-inserted', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null) + ->onDuplicateKeyUpdateCols(array('c1', 'c2' => 'c2-updated', 'c3')) + ->onDuplicateKeyUpdate('c4', null) + ->onDuplicateKeyUpdateCol('c5', 'c5-updated'); + + $actual = $this->query->__toString(); + $expect = $this->expected_sql_on_duplicate_key_update; + $this->assertSameSql($expect, $actual); + + $expect = array ( + 'c2' => 'c2-inserted', + 'c2__on_duplicate_key' => 'c2-updated', + 'c5__on_duplicate_key' => 'c5-updated', + ); + $actual = $this->query->getBindValues(); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Mysql/SelectTest.php b/vendor/aura/sqlquery/tests/Mysql/SelectTest.php new file mode 100644 index 000000000..95d8605b2 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Mysql/SelectTest.php @@ -0,0 +1,128 @@ +>.<>, + <>.<>, + <>.<> + FROM + <> + '; + + public function testMultiFlags() + { + $this->query->calcFoundRows() + ->distinct() + ->noCache() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_CALC_FOUND_ROWS DISTINCT SQL_NO_CACHE'); + $this->assertSameSql($expect, $actual); + } + + public function testCalcFoundRows() + { + $this->query->calcFoundRows() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_CALC_FOUND_ROWS'); + $this->assertSameSql($expect, $actual); + } + + public function testCache() + { + $this->query->cache() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_CACHE'); + $this->assertSameSql($expect, $actual); + } + + public function testNoCache() + { + $this->query->noCache() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_NO_CACHE'); + $this->assertSameSql($expect, $actual); + } + + public function testStraightJoin() + { + $this->query->straightJoin() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'STRAIGHT_JOIN'); + $this->assertSameSql($expect, $actual); + } + + public function testHighPriority() + { + $this->query->highPriority() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'HIGH_PRIORITY'); + $this->assertSameSql($expect, $actual); + } + + public function testSmallResult() + { + $this->query->smallResult() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_SMALL_RESULT'); + $this->assertSameSql($expect, $actual); + } + + public function testBigResult() + { + $this->query->bigResult() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_BIG_RESULT'); + $this->assertSameSql($expect, $actual); + } + + public function testBufferResult() + { + $this->query->bufferResult() + ->from('t1') + ->cols(array('t1.c1', 't1.c2', 't1.c3')); + + $actual = $this->query->__toString(); + + $expect = sprintf($this->expected_sql_with_flag, 'SQL_BUFFER_RESULT'); + $this->assertSameSql($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Mysql/UpdateTest.php b/vendor/aura/sqlquery/tests/Mysql/UpdateTest.php new file mode 100644 index 000000000..d8cb7f2ec --- /dev/null +++ b/vendor/aura/sqlquery/tests/Mysql/UpdateTest.php @@ -0,0 +1,100 @@ +> + SET + <> = :c1, + <> = :c2, + <> = :c3, + <> = NULL, + <> = NOW() + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + LIMIT 5 + "; + + public function testOrderByLimit() + { + $this->query->table('t1') + ->col('c1') + ->orderBy(array('c2')) + ->limit(10); + + $actual = $this->query->__toString(); + $expect = ' + UPDATE <> + SET + <> = :c1 + ORDER BY + c2 + LIMIT 10 + '; + + $this->assertSameSql($expect, $actual); + } + + public function testLowPriority() + { + $this->query->lowPriority() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, ' LOW_PRIORITY'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testIgnore() + { + $this->query->ignore() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, ' IGNORE'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testGetterOnLimitAndOffset() + { + $this->query->table('t1') + ->limit(5); + + $this->assertSame(5, $this->query->getLimit()); + } +} diff --git a/vendor/aura/sqlquery/tests/Pgsql/DeleteTest.php b/vendor/aura/sqlquery/tests/Pgsql/DeleteTest.php new file mode 100644 index 000000000..19f1cd3ec --- /dev/null +++ b/vendor/aura/sqlquery/tests/Pgsql/DeleteTest.php @@ -0,0 +1,39 @@ +query->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->returning(array('foo', 'baz', 'zim')); + + $actual = $this->query->__toString(); + $expect = " + DELETE FROM <> + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + RETURNING + foo, + baz, + zim + "; + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Pgsql/InsertTest.php b/vendor/aura/sqlquery/tests/Pgsql/InsertTest.php new file mode 100644 index 000000000..c5ed19614 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Pgsql/InsertTest.php @@ -0,0 +1,50 @@ +query->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null) + ->returning(array('c1', 'c2')) + ->returning(array('c3')); + + $actual = $this->query->__toString(); + $expect = " + INSERT INTO <> ( + <>, + <>, + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3, + NOW(), + NULL + ) + RETURNING + c1, + c2, + c3 + "; + + $this->assertSameSql($expect, $actual); + } + + public function testGetLastInsertIdName_default() + { + $this->query->into('table'); + $actual = $this->query->getLastInsertIdName('col'); + $expect = 'table_col_seq'; + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Pgsql/SelectTest.php b/vendor/aura/sqlquery/tests/Pgsql/SelectTest.php new file mode 100644 index 000000000..3df0ea8d7 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Pgsql/SelectTest.php @@ -0,0 +1,9 @@ +query->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->returning(array('c1', 'c2')) + ->returning(array('c3')); + + $actual = $this->query->__toString(); + $expect = " + UPDATE <> + SET + <> = :c1, + <> = :c2, + <> = :c3, + <> = NULL, + <> = NOW() + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + RETURNING + c1, + c2, + c3 + "; + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/QueryFactoryTest.php b/vendor/aura/sqlquery/tests/QueryFactoryTest.php new file mode 100644 index 000000000..a5ca3cbac --- /dev/null +++ b/vendor/aura/sqlquery/tests/QueryFactoryTest.php @@ -0,0 +1,76 @@ +$method(); + $this->assertInstanceOf($expect, $actual); + } + + public function provider() + { + return array( + // db-specific + array('Common', false, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Common', false, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Common', false, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Common', false, 'Delete', 'Aura\SqlQuery\Common\Delete'), + array('Mysql', false, 'Select', 'Aura\SqlQuery\Mysql\Select'), + array('Mysql', false, 'Insert', 'Aura\SqlQuery\Mysql\Insert'), + array('Mysql', false, 'Update', 'Aura\SqlQuery\Mysql\Update'), + array('Mysql', false, 'Delete', 'Aura\SqlQuery\Mysql\Delete'), + array('Pgsql', false, 'Select', 'Aura\SqlQuery\Pgsql\Select'), + array('Pgsql', false, 'Insert', 'Aura\SqlQuery\Pgsql\Insert'), + array('Pgsql', false, 'Update', 'Aura\SqlQuery\Pgsql\Update'), + array('Pgsql', false, 'Delete', 'Aura\SqlQuery\Pgsql\Delete'), + array('Sqlite', false, 'Select', 'Aura\SqlQuery\Sqlite\Select'), + array('Sqlite', false, 'Insert', 'Aura\SqlQuery\Sqlite\Insert'), + array('Sqlite', false, 'Update', 'Aura\SqlQuery\Sqlite\Update'), + array('Sqlite', false, 'Delete', 'Aura\SqlQuery\Sqlite\Delete'), + array('Sqlsrv', false, 'Select', 'Aura\SqlQuery\Sqlsrv\Select'), + array('Sqlsrv', false, 'Insert', 'Aura\SqlQuery\Sqlsrv\Insert'), + array('Sqlsrv', false, 'Update', 'Aura\SqlQuery\Sqlsrv\Update'), + array('Sqlsrv', false, 'Delete', 'Aura\SqlQuery\Sqlsrv\Delete'), + + // force common + array('Common', QueryFactory::COMMON, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Common', QueryFactory::COMMON, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Common', QueryFactory::COMMON, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Common', QueryFactory::COMMON, 'Delete', 'Aura\SqlQuery\Common\Delete'), + array('Mysql', QueryFactory::COMMON, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Mysql', QueryFactory::COMMON, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Mysql', QueryFactory::COMMON, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Mysql', QueryFactory::COMMON, 'Delete', 'Aura\SqlQuery\Common\Delete'), + array('Pgsql', QueryFactory::COMMON, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Pgsql', QueryFactory::COMMON, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Pgsql', QueryFactory::COMMON, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Pgsql', QueryFactory::COMMON, 'Delete', 'Aura\SqlQuery\Common\Delete'), + array('Sqlite', QueryFactory::COMMON, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Sqlite', QueryFactory::COMMON, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Sqlite', QueryFactory::COMMON, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Sqlite', QueryFactory::COMMON, 'Delete', 'Aura\SqlQuery\Common\Delete'), + array('Sqlsrv', QueryFactory::COMMON, 'Select', 'Aura\SqlQuery\Common\Select'), + array('Sqlsrv', QueryFactory::COMMON, 'Insert', 'Aura\SqlQuery\Common\Insert'), + array('Sqlsrv', QueryFactory::COMMON, 'Update', 'Aura\SqlQuery\Common\Update'), + array('Sqlsrv', QueryFactory::COMMON, 'Delete', 'Aura\SqlQuery\Common\Delete'), + ); + } + + public function testSeqBindPrefix() + { + $query_factory = new QueryFactory('sqlite'); + + $first = $query_factory->newSelect(); + $this->assertSame('', $first->getSeqBindPrefix()); + + $again = $query_factory->newSelect(); + $this->assertSame('_1', $again->getSeqBindPrefix()); + } +} diff --git a/vendor/aura/sqlquery/tests/QuoterTest.php b/vendor/aura/sqlquery/tests/QuoterTest.php new file mode 100644 index 000000000..a963ccca0 --- /dev/null +++ b/vendor/aura/sqlquery/tests/QuoterTest.php @@ -0,0 +1,50 @@ +quoter = new Quoter('`', '`'); + } + + public function testQuoteName() + { + // table AS alias + $actual = $this->quoter->quoteName('table AS alias'); + $this->assertSame('`table` AS `alias`', $actual); + + // table.col AS alias + $actual = $this->quoter->quoteName('table.col AS alias'); + $this->assertSame('`table`.`col` AS `alias`', $actual); + + // table alias + $actual = $this->quoter->quoteName('table alias'); + $this->assertSame('`table` `alias`', $actual); + + // table.col alias + $actual = $this->quoter->quoteName('table.col alias'); + $this->assertSame('`table`.`col` `alias`', $actual); + + // plain old identifier + $actual = $this->quoter->quoteName('table'); + $this->assertSame('`table`', $actual); + + // star + $actual = $this->quoter->quoteName('*'); + $this->assertSame('*', $actual); + + // star dot star + $actual = $this->quoter->quoteName('*.*'); + $this->assertSame('*.*', $actual); + } + + public function testQuoteNamesIn() + { + $sql = "*, *.*, f.bar, foo.bar, CONCAT('foo.bar', \"baz.dib\") AS zim"; + $actual = $this->quoter->quoteNamesIn($sql); + $expect = "*, *.*, `f`.`bar`, `foo`.`bar`, CONCAT('foo.bar', \"baz.dib\") AS `zim`"; + $this->assertSame($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Sqlite/DeleteTest.php b/vendor/aura/sqlquery/tests/Sqlite/DeleteTest.php new file mode 100644 index 000000000..f66f0665c --- /dev/null +++ b/vendor/aura/sqlquery/tests/Sqlite/DeleteTest.php @@ -0,0 +1,50 @@ +query->from('t1') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->orderBy(array('zim DESC')) + ->limit(5) + ->offset(10); + + $actual = $this->query->__toString(); + $expect = " + DELETE FROM <> + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + ORDER BY + zim DESC + LIMIT 5 OFFSET 10 + "; + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testGetterOnLimitAndOffset() + { + $this->query->from('t1') + ->limit(5) + ->offset(10); + + $this->assertSame(5, $this->query->getLimit()); + $this->assertSame(10, $this->query->getOffset()); + } +} diff --git a/vendor/aura/sqlquery/tests/Sqlite/InsertTest.php b/vendor/aura/sqlquery/tests/Sqlite/InsertTest.php new file mode 100644 index 000000000..689640d60 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Sqlite/InsertTest.php @@ -0,0 +1,95 @@ +> ( + <>, + <>, + <>, + <>, + <> + ) VALUES ( + :c1, + :c2, + :c3, + NOW(), + NULL + ) + "; + + public function testOrAbort() + { + $this->query->orAbort() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR ABORT'); + + $this->assertSameSql($expect, $actual); + } + + public function testOrFail() + { + $this->query->orFail() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR FAIL'); + + $this->assertSameSql($expect, $actual); + } + + public function testOrIgnore() + { + $this->query->orIgnore() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR IGNORE'); + + $this->assertSameSql($expect, $actual); + } + + public function testOrReplace() + { + $this->query->orReplace() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR REPLACE'); + + $this->assertSameSql($expect, $actual); + } + + public function testOrRollback() + { + $this->query->orRollback() + ->into('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', 'NOW()') + ->set('c5', null); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR ROLLBACK'); + + $this->assertSameSql($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Sqlite/SelectTest.php b/vendor/aura/sqlquery/tests/Sqlite/SelectTest.php new file mode 100644 index 000000000..374ad4264 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Sqlite/SelectTest.php @@ -0,0 +1,9 @@ +> + SET + <> = :c1, + <> = :c2, + <> = :c3, + <> = NULL, + <> = NOW() + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + LIMIT 5 + "; + + public function testOrderLimit() + { + $this->query->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->orderBy(array('zim DESC', 'baz ASC')) + ->limit(5) + ->offset(10); + + $actual = $this->query->__toString(); + $expect = " + UPDATE <> + SET + <> = :c1, + <> = :c2, + <> = :c3, + <> = NULL, + <> = NOW() + WHERE + foo = :_1_ + AND baz = :_2_ + OR zim = gir + ORDER BY + zim DESC, + baz ASC + LIMIT 5 OFFSET 10 + "; + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testOrAbort() + { + $this->query->orAbort() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR ABORT'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testOrFail() + { + $this->query->orFail() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR FAIL'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testOrIgnore() + { + $this->query->orIgnore() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR IGNORE'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testOrReplace() + { + $this->query->orReplace() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR REPLACE'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testOrRollback() + { + $this->query->orRollback() + ->table('t1') + ->cols(array('c1', 'c2', 'c3')) + ->set('c4', null) + ->set('c5', 'NOW()') + ->where('foo = ?', 'bar') + ->where('baz = ?', 'dib') + ->orWhere('zim = gir') + ->limit(5); + + $actual = $this->query->__toString(); + $expect = sprintf($this->expected_sql_with_flag, 'OR ROLLBACK'); + $this->assertSameSql($expect, $actual); + + $actual = $this->query->getBindValues(); + $expect = array( + '_1_' => 'bar', + '_2_' => 'dib', + ); + $this->assertSame($expect, $actual); + } + + public function testActual() + { + $pdo = new PDO('sqlite::memory:'); + $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $pdo->query("CREATE TABLE test ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(50) NOT NULL + )"); + + $names = array( + 'Anna', 'Betty', 'Clara', 'Donna', 'Flora', + 'Gina', 'Hanna', 'Ione', 'Julia', 'Kara', + ); + + $stm = "INSERT INTO test (name) VALUES (:name)"; + foreach ($names as $name) { + $sth = $pdo->prepare($stm); + $sth->execute(array('name' => $name)); + } + + $this->query->table('test') + ->cols(array('name')) + ->where('id = ?', 1) + ->bindValues(array('name' => 'Annabelle')); + + $stm = $this->query->__toString(); + $bind = $this->query->getBindValues(); + + $sth = $pdo->prepare($stm); + $count = $sth->execute($bind); + $this->assertEquals(1, $count); + + $sth = $pdo->prepare('SELECT * FROM test WHERE id = 1'); + $sth->execute(); + $row = $sth->fetch(PDO::FETCH_ASSOC); + $this->assertEquals('Annabelle', $row['name']); + } + + public function testGetterOnLimitAndOffset() + { + $this->query->table('t1'); + $this->query->limit(10); + $this->query->offset(5); + + $this->assertSame(10, $this->query->getLimit()); + $this->assertSame(5, $this->query->getOffset()); + } +} diff --git a/vendor/aura/sqlquery/tests/Sqlsrv/DeleteTest.php b/vendor/aura/sqlquery/tests/Sqlsrv/DeleteTest.php new file mode 100644 index 000000000..b3d47f8a5 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Sqlsrv/DeleteTest.php @@ -0,0 +1,9 @@ +query->cols(array('*')); + $this->query->limit(10); + $expect = ' + SELECT TOP 10 + * + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + + $this->query->offset(40); + $expect = ' + SELECT + * + OFFSET 40 ROWS FETCH NEXT 10 ROWS ONLY + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } + + public function testPage() + { + $this->query->cols(array('*')); + $this->query->page(5); + $expect = ' + SELECT + * + OFFSET 40 ROWS FETCH NEXT 10 ROWS ONLY + '; + $actual = $this->query->__toString(); + $this->assertSameSql($expect, $actual); + } +} diff --git a/vendor/aura/sqlquery/tests/Sqlsrv/UpdateTest.php b/vendor/aura/sqlquery/tests/Sqlsrv/UpdateTest.php new file mode 100644 index 000000000..e45ed5606 --- /dev/null +++ b/vendor/aura/sqlquery/tests/Sqlsrv/UpdateTest.php @@ -0,0 +1,9 @@ +=5.5", + "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", + "guzzlehttp/psr7": "^1.7.0", + "guzzlehttp/promises": "^1.4.0", + "mtdowling/jmespath.php": "^2.6", + "ext-pcre": "*", + "ext-json": "*", + "ext-simplexml": "*" + }, + "require-dev": { + "ext-openssl": "*", + "ext-dom": "*", + "ext-pcntl": "*", + "ext-sockets": "*", + "phpunit/phpunit": "^4.8.35|^5.4.3", + "behat/behat": "~3.0", + "doctrine/cache": "~1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "nette/neon": "^2.3", + "andrewsville/php-token-reflection": "^1.4", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "paragonie/random_compat": ">= 2", + "sebastian/comparator": "^1.2.3" + }, + "suggest": { + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-curl": "To send requests using cURL", + "ext-sockets": "To use client-side monitoring", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications" + }, + "autoload": { + "psr-4": { + "Aws\\": "src/" + }, + "files": ["src/functions.php"] + }, + "autoload-dev": { + "psr-4": { + "Aws\\Test\\": "tests/" + }, + "classmap": ["build/"] + }, + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + } +} diff --git a/vendor/bin/generate_vcards b/vendor/bin/generate_vcards old mode 100644 new mode 100755 index 4663c3c16..cfea10b99 --- a/vendor/bin/generate_vcards +++ b/vendor/bin/generate_vcards @@ -1,241 +1,119 @@ #!/usr/bin/env php testdata.vcf - -HI; - - fwrite(STDERR, $help); - exit(2); -} - -$count = (int)$argv[1]; -if ($count < 1) { - fwrite(STDERR, "Count must be at least 1\n"); - exit(2); -} - -fwrite(STDERR, "sabre/vobject " . Version::VERSION . "\n"); -fwrite(STDERR, "Generating " . $count . " vcards in vCard 4.0 format\n"); - /** - * The following list is just some random data we compiled from various - * sources online. - * - * Very little thought went into compiling this list, and certainly nothing - * political or ethical. + * Proxy PHP file generated by Composer * - * We would _love_ more additions to this to add more variation to this list. + * This file includes the referenced bin path (../sabre/vobject/bin/generate_vcards) + * using a stream wrapper to prevent the shebang from being output on PHP<8 * - * Send us PR's and don't be shy adding your own first and last name for fun. + * @generated */ -$sets = array( - "nl" => array( - "country" => "Netherlands", - "boys" => array( - "Anno", - "Bram", - "Daan", - "Evert", - "Finn", - "Jayden", - "Jens", - "Jesse", - "Levi", - "Lucas", - "Luuk", - "Milan", - "René", - "Sem", - "Sibrand", - "Willem", - ), - "girls" => array( - "Celia", - "Emma", - "Fenna", - "Geke", - "Inge", - "Julia", - "Lisa", - "Lotte", - "Mila", - "Sara", - "Sophie", - "Tess", - "Zoë", - ), - "last" => array( - "Bakker", - "Bos", - "De Boer", - "De Groot", - "De Jong", - "De Vries", - "Jansen", - "Janssen", - "Meyer", - "Mulder", - "Peters", - "Smit", - "Van Dijk", - "Van den Berg", - "Visser", - "Vos", - ), - ), - "us" => array( - "country" => "United States", - "boys" => array( - "Aiden", - "Alexander", - "Charles", - "David", - "Ethan", - "Jacob", - "James", - "Jayden", - "John", - "Joseph", - "Liam", - "Mason", - "Michael", - "Noah", - "Richard", - "Robert", - "Thomas", - "William", - ), - "girls" => array( - "Ava", - "Barbara", - "Chloe", - "Dorothy", - "Elizabeth", - "Emily", - "Emma", - "Isabella", - "Jennifer", - "Lily", - "Linda", - "Margaret", - "Maria", - "Mary", - "Mia", - "Olivia", - "Patricia", - "Roxy", - "Sophia", - "Susan", - "Zoe", - ), - "last" => array( - "Smith", - "Johnson", - "Williams", - "Jones", - "Brown", - "Davis", - "Miller", - "Wilson", - "Moore", - "Taylor", - "Anderson", - "Thomas", - "Jackson", - "White", - "Harris", - "Martin", - "Thompson", - "Garcia", - "Martinez", - "Robinson", - ), - ), -); - -$current = 0; - -$r = function($arr) { - - return $arr[mt_rand(0,count($arr)-1)]; - -}; - -$bdayStart = strtotime('-85 years'); -$bdayEnd = strtotime('-20 years'); - -while($current < $count) { - - $current++; - fwrite(STDERR, "\033[100D$current/$count"); - - $country = array_rand($sets); - $gender = mt_rand(0,1)?'girls':'boys'; - - $vcard = new Component\VCard(array( - 'VERSION' => '4.0', - 'FN' => $r($sets[$country][$gender]) . ' ' . $r($sets[$country]['last']), - 'UID' => UUIDUtil::getUUID(), - )); - - $bdayRatio = mt_rand(0,9); - - if($bdayRatio < 2) { - // 20% has a birthday property with a full date - $dt = new \DateTime('@' . mt_rand($bdayStart, $bdayEnd)); - $vcard->add('BDAY', $dt->format('Ymd')); - - } elseif ($bdayRatio < 3) { - // 10% we only know the month and date of - $dt = new \DateTime('@' . mt_rand($bdayStart, $bdayEnd)); - $vcard->add('BDAY', '--' . $dt->format('md')); - } - if ($result = $vcard->validate()) { - ob_start(); - echo "\nWe produced an invalid vcard somehow!\n"; - foreach($result as $message) { - echo " " . $message['message'] . "\n"; +namespace Composer; + +$GLOBALS['_composer_bin_dir'] = __DIR__; +$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php'; + +if (PHP_VERSION_ID < 80000) { + if (!class_exists('Composer\BinProxyWrapper')) { + /** + * @internal + */ + final class BinProxyWrapper + { + private $handle; + private $position; + private $realpath; + + public function stream_open($path, $mode, $options, &$opened_path) + { + // get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution + $opened_path = substr($path, 17); + $this->realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } } - fwrite(STDERR, ob_get_clean()); } - echo $vcard->serialize(); + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + return include("phpvfscomposer://" . __DIR__ . '/..'.'/sabre/vobject/bin/generate_vcards'); + } } -fwrite(STDERR,"\nDone.\n"); +return include __DIR__ . '/..'.'/sabre/vobject/bin/generate_vcards'; diff --git a/vendor/bin/naturalselection b/vendor/bin/naturalselection old mode 100644 new mode 100755 index 7e20439c1..fdb566282 --- a/vendor/bin/naturalselection +++ b/vendor/bin/naturalselection @@ -1,140 +1,37 @@ -#!/usr/bin/env python - -# -# Copyright (c) 2009-2010 Evert Pot -# All rights reserved. -# http://www.rooftopsolutions.nl/ -# -# This utility is distributed along with SabreDAV -# license: http://sabre.io/license/ Modified BSD License - -import os -from optparse import OptionParser -import time - -def getfreespace(path): - stat = os.statvfs(path) - return stat.f_frsize * stat.f_bavail - -def getbytesleft(path,threshold): - return getfreespace(path)-threshold - -def run(cacheDir, threshold, sleep=5, simulate=False, min_erase = 0): - - bytes = getbytesleft(cacheDir,threshold) - if (bytes>0): - print "Bytes to go before we hit threshold:", bytes - else: - print "Threshold exceeded with:", -bytes, "bytes" - dir = os.listdir(cacheDir) - dir2 = [] - for file in dir: - path = cacheDir + '/' + file - dir2.append({ - "path" : path, - "atime": os.stat(path).st_atime, - "size" : os.stat(path).st_size - }) - - dir2.sort(lambda x,y: int(x["atime"]-y["atime"])) - - filesunlinked = 0 - gainedspace = 0 - - # Left is the amount of bytes that need to be freed up - # The default is the 'min_erase setting' - left = min_erase - - # If the min_erase setting is lower than the amount of bytes over - # the threshold, we use that number instead. - if left < -bytes : - left = -bytes - - print "Need to delete at least:", left; - - for file in dir2: - - # Only deleting files if we're not simulating - if not simulate: os.unlink(file["path"]) - left = int(left - file["size"]) - gainedspace = gainedspace + file["size"] - filesunlinked = filesunlinked + 1 - - if(left<0): - break - - print "%d files deleted (%d bytes)" % (filesunlinked, gainedspace) - - - time.sleep(sleep) - - - -def main(): - parser = OptionParser( - version="naturalselection v0.3", - description="Cache directory manager. Deletes cache entries based on accesstime and free space thresholds.\n" + - "This utility is distributed alongside SabreDAV.", - usage="usage: %prog [options] cacheDirectory", - ) - parser.add_option( - '-s', - dest="simulate", - action="store_true", - help="Don't actually make changes, but just simulate the behaviour", - ) - parser.add_option( - '-r','--runs', - help="How many times to check before exiting. -1 is infinite, which is the default", - type="int", - dest="runs", - default=-1 - ) - parser.add_option( - '-n','--interval', - help="Sleep time in seconds (default = 5)", - type="int", - dest="sleep", - default=5 - ) - parser.add_option( - '-l','--threshold', - help="Threshold in bytes (default = 10737418240, which is 10GB)", - type="int", - dest="threshold", - default=10737418240 - ) - parser.add_option( - '-m', '--min-erase', - help="Minimum number of bytes to erase when the threshold is reached. " + - "Setting this option higher will reduce the number of times the cache directory will need to be scanned. " + - "(the default is 1073741824, which is 1GB.)", - type="int", - dest="min_erase", - default=1073741824 - ) - - options,args = parser.parse_args() - if len(args)<1: - parser.error("This utility requires at least 1 argument") - cacheDir = args[0] - - print "Natural Selection" - print "Cache directory:", cacheDir - free = getfreespace(cacheDir); - print "Current free disk space:", free - - runs = options.runs; - while runs!=0 : - run( - cacheDir, - sleep=options.sleep, - simulate=options.simulate, - threshold=options.threshold, - min_erase=options.min_erase - ) - if runs>0: - runs = runs - 1 - -if __name__ == '__main__' : - main() +#!/usr/bin/env sh + +# Support bash to support `source` with fallback on $0 if this does not run with bash +# https://stackoverflow.com/a/35006505/6512 +selfArg="$BASH_SOURCE" +if [ -z "$selfArg" ]; then + selfArg="$0" +fi + +self=$(realpath $selfArg 2> /dev/null) +if [ -z "$self" ]; then + self="$selfArg" +fi + +dir=$(cd "${self%[/\\]*}" > /dev/null; cd '../sabre/dav/bin' && pwd) + +if [ -d /proc/cygdrive ]; then + case $(which php) in + $(readlink -n /proc/cygdrive)/*) + # We are in Cygwin using Windows php, so the path must be translated + dir=$(cygpath -m "$dir"); + ;; + esac +fi + +export COMPOSER_RUNTIME_BIN_DIR="$(cd "${self%[/\\]*}" > /dev/null; pwd)" + +# If bash is sourcing this file, we have to source the target as well +bashSource="$BASH_SOURCE" +if [ -n "$bashSource" ]; then + if [ "$bashSource" != "$0" ]; then + source "${dir}/naturalselection" "$@" + return + fi +fi + +exec "${dir}/naturalselection" "$@" diff --git a/vendor/bin/sabredav b/vendor/bin/sabredav old mode 100644 new mode 100755 index 032371ba8..1caef5d3c --- a/vendor/bin/sabredav +++ b/vendor/bin/sabredav @@ -1,2 +1,37 @@ -#!/bin/sh -php -S 0.0.0.0:8080 `dirname $0`/sabredav.php +#!/usr/bin/env sh + +# Support bash to support `source` with fallback on $0 if this does not run with bash +# https://stackoverflow.com/a/35006505/6512 +selfArg="$BASH_SOURCE" +if [ -z "$selfArg" ]; then + selfArg="$0" +fi + +self=$(realpath $selfArg 2> /dev/null) +if [ -z "$self" ]; then + self="$selfArg" +fi + +dir=$(cd "${self%[/\\]*}" > /dev/null; cd '../sabre/dav/bin' && pwd) + +if [ -d /proc/cygdrive ]; then + case $(which php) in + $(readlink -n /proc/cygdrive)/*) + # We are in Cygwin using Windows php, so the path must be translated + dir=$(cygpath -m "$dir"); + ;; + esac +fi + +export COMPOSER_RUNTIME_BIN_DIR="$(cd "${self%[/\\]*}" > /dev/null; pwd)" + +# If bash is sourcing this file, we have to source the target as well +bashSource="$BASH_SOURCE" +if [ -n "$bashSource" ]; then + if [ "$bashSource" != "$0" ]; then + source "${dir}/sabredav" "$@" + return + fi +fi + +exec "${dir}/sabredav" "$@" diff --git a/vendor/bin/vobject b/vendor/bin/vobject old mode 100644 new mode 100755 index 2aca7e729..2a5007110 --- a/vendor/bin/vobject +++ b/vendor/bin/vobject @@ -1,27 +1,119 @@ #!/usr/bin/env php realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } } -} -if (!class_exists('Sabre\\VObject\\Version')) { - fwrite(STDERR, "Composer autoloader could not be loaded.\n"); - die(1); + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + return include("phpvfscomposer://" . __DIR__ . '/..'.'/sabre/vobject/bin/vobject'); + } } -$cli = new Cli(); -exit($cli->main($argv)); - +return include __DIR__ . '/..'.'/sabre/vobject/bin/vobject'; diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 82f4cbe48..4e4c786d5 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -56,25 +56,15 @@ 'Aura\\SqlQuery\\Sqlsrv\\Update' => $vendorDir . '/aura/sqlquery/src/Sqlsrv/Update.php', 'Aws\\ACMPCA\\ACMPCAClient' => $vendorDir . '/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php', 'Aws\\ACMPCA\\Exception\\ACMPCAException' => $vendorDir . '/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php', - 'Aws\\AIOps\\AIOpsClient' => $vendorDir . '/aws/aws-sdk-php/src/AIOps/AIOpsClient.php', - 'Aws\\AIOps\\Exception\\AIOpsException' => $vendorDir . '/aws/aws-sdk-php/src/AIOps/Exception/AIOpsException.php', - 'Aws\\ARCRegionSwitch\\ARCRegionSwitchClient' => $vendorDir . '/aws/aws-sdk-php/src/ARCRegionSwitch/ARCRegionSwitchClient.php', - 'Aws\\ARCRegionSwitch\\Exception\\ARCRegionSwitchException' => $vendorDir . '/aws/aws-sdk-php/src/ARCRegionSwitch/Exception/ARCRegionSwitchException.php', - 'Aws\\ARCZonalShift\\ARCZonalShiftClient' => $vendorDir . '/aws/aws-sdk-php/src/ARCZonalShift/ARCZonalShiftClient.php', - 'Aws\\ARCZonalShift\\Exception\\ARCZonalShiftException' => $vendorDir . '/aws/aws-sdk-php/src/ARCZonalShift/Exception/ARCZonalShiftException.php', 'Aws\\AbstractConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/AbstractConfigurationProvider.php', 'Aws\\AccessAnalyzer\\AccessAnalyzerClient' => $vendorDir . '/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php', 'Aws\\AccessAnalyzer\\Exception\\AccessAnalyzerException' => $vendorDir . '/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php', - 'Aws\\Account\\AccountClient' => $vendorDir . '/aws/aws-sdk-php/src/Account/AccountClient.php', - 'Aws\\Account\\Exception\\AccountException' => $vendorDir . '/aws/aws-sdk-php/src/Account/Exception/AccountException.php', 'Aws\\Acm\\AcmClient' => $vendorDir . '/aws/aws-sdk-php/src/Acm/AcmClient.php', 'Aws\\Acm\\Exception\\AcmException' => $vendorDir . '/aws/aws-sdk-php/src/Acm/Exception/AcmException.php', 'Aws\\AlexaForBusiness\\AlexaForBusinessClient' => $vendorDir . '/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php', 'Aws\\AlexaForBusiness\\Exception\\AlexaForBusinessException' => $vendorDir . '/aws/aws-sdk-php/src/AlexaForBusiness/Exception/AlexaForBusinessException.php', 'Aws\\AmplifyBackend\\AmplifyBackendClient' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyBackend/AmplifyBackendClient.php', 'Aws\\AmplifyBackend\\Exception\\AmplifyBackendException' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyBackend/Exception/AmplifyBackendException.php', - 'Aws\\AmplifyUIBuilder\\AmplifyUIBuilderClient' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyUIBuilder/AmplifyUIBuilderClient.php', - 'Aws\\AmplifyUIBuilder\\Exception\\AmplifyUIBuilderException' => $vendorDir . '/aws/aws-sdk-php/src/AmplifyUIBuilder/Exception/AmplifyUIBuilderException.php', 'Aws\\Amplify\\AmplifyClient' => $vendorDir . '/aws/aws-sdk-php/src/Amplify/AmplifyClient.php', 'Aws\\Amplify\\Exception\\AmplifyException' => $vendorDir . '/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php', 'Aws\\ApiGatewayManagementApi\\ApiGatewayManagementApiClient' => $vendorDir . '/aws/aws-sdk-php/src/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php', @@ -104,7 +94,6 @@ 'Aws\\Api\\Parser\\JsonParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/JsonParser.php', 'Aws\\Api\\Parser\\JsonRpcParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php', 'Aws\\Api\\Parser\\MetadataParserTrait' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php', - 'Aws\\Api\\Parser\\NonSeekableStreamDecodingEventStreamIterator' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/NonSeekableStreamDecodingEventStreamIterator.php', 'Aws\\Api\\Parser\\PayloadParserTrait' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php', 'Aws\\Api\\Parser\\QueryParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/QueryParser.php', 'Aws\\Api\\Parser\\RestJsonParser' => $vendorDir . '/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php', @@ -123,37 +112,26 @@ 'Aws\\Api\\Shape' => $vendorDir . '/aws/aws-sdk-php/src/Api/Shape.php', 'Aws\\Api\\ShapeMap' => $vendorDir . '/aws/aws-sdk-php/src/Api/ShapeMap.php', 'Aws\\Api\\StructureShape' => $vendorDir . '/aws/aws-sdk-php/src/Api/StructureShape.php', - 'Aws\\Api\\SupportedProtocols' => $vendorDir . '/aws/aws-sdk-php/src/Api/SupportedProtocols.php', 'Aws\\Api\\TimestampShape' => $vendorDir . '/aws/aws-sdk-php/src/Api/TimestampShape.php', 'Aws\\Api\\Validator' => $vendorDir . '/aws/aws-sdk-php/src/Api/Validator.php', - 'Aws\\AppConfigData\\AppConfigDataClient' => $vendorDir . '/aws/aws-sdk-php/src/AppConfigData/AppConfigDataClient.php', - 'Aws\\AppConfigData\\Exception\\AppConfigDataException' => $vendorDir . '/aws/aws-sdk-php/src/AppConfigData/Exception/AppConfigDataException.php', 'Aws\\AppConfig\\AppConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/AppConfig/AppConfigClient.php', 'Aws\\AppConfig\\Exception\\AppConfigException' => $vendorDir . '/aws/aws-sdk-php/src/AppConfig/Exception/AppConfigException.php', - 'Aws\\AppFabric\\AppFabricClient' => $vendorDir . '/aws/aws-sdk-php/src/AppFabric/AppFabricClient.php', - 'Aws\\AppFabric\\Exception\\AppFabricException' => $vendorDir . '/aws/aws-sdk-php/src/AppFabric/Exception/AppFabricException.php', 'Aws\\AppIntegrationsService\\AppIntegrationsServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/AppIntegrationsService/AppIntegrationsServiceClient.php', 'Aws\\AppIntegrationsService\\Exception\\AppIntegrationsServiceException' => $vendorDir . '/aws/aws-sdk-php/src/AppIntegrationsService/Exception/AppIntegrationsServiceException.php', 'Aws\\AppMesh\\AppMeshClient' => $vendorDir . '/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php', 'Aws\\AppMesh\\Exception\\AppMeshException' => $vendorDir . '/aws/aws-sdk-php/src/AppMesh/Exception/AppMeshException.php', 'Aws\\AppRegistry\\AppRegistryClient' => $vendorDir . '/aws/aws-sdk-php/src/AppRegistry/AppRegistryClient.php', 'Aws\\AppRegistry\\Exception\\AppRegistryException' => $vendorDir . '/aws/aws-sdk-php/src/AppRegistry/Exception/AppRegistryException.php', - 'Aws\\AppRunner\\AppRunnerClient' => $vendorDir . '/aws/aws-sdk-php/src/AppRunner/AppRunnerClient.php', - 'Aws\\AppRunner\\Exception\\AppRunnerException' => $vendorDir . '/aws/aws-sdk-php/src/AppRunner/Exception/AppRunnerException.php', 'Aws\\AppSync\\AppSyncClient' => $vendorDir . '/aws/aws-sdk-php/src/AppSync/AppSyncClient.php', 'Aws\\AppSync\\Exception\\AppSyncException' => $vendorDir . '/aws/aws-sdk-php/src/AppSync/Exception/AppSyncException.php', 'Aws\\Appflow\\AppflowClient' => $vendorDir . '/aws/aws-sdk-php/src/Appflow/AppflowClient.php', 'Aws\\Appflow\\Exception\\AppflowException' => $vendorDir . '/aws/aws-sdk-php/src/Appflow/Exception/AppflowException.php', 'Aws\\ApplicationAutoScaling\\ApplicationAutoScalingClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationAutoScaling/ApplicationAutoScalingClient.php', 'Aws\\ApplicationAutoScaling\\Exception\\ApplicationAutoScalingException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php', - 'Aws\\ApplicationCostProfiler\\ApplicationCostProfilerClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationCostProfiler/ApplicationCostProfilerClient.php', - 'Aws\\ApplicationCostProfiler\\Exception\\ApplicationCostProfilerException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationCostProfiler/Exception/ApplicationCostProfilerException.php', 'Aws\\ApplicationDiscoveryService\\ApplicationDiscoveryServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php', 'Aws\\ApplicationDiscoveryService\\Exception\\ApplicationDiscoveryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php', 'Aws\\ApplicationInsights\\ApplicationInsightsClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationInsights/ApplicationInsightsClient.php', 'Aws\\ApplicationInsights\\Exception\\ApplicationInsightsException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationInsights/Exception/ApplicationInsightsException.php', - 'Aws\\ApplicationSignals\\ApplicationSignalsClient' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationSignals/ApplicationSignalsClient.php', - 'Aws\\ApplicationSignals\\Exception\\ApplicationSignalsException' => $vendorDir . '/aws/aws-sdk-php/src/ApplicationSignals/Exception/ApplicationSignalsException.php', 'Aws\\Appstream\\AppstreamClient' => $vendorDir . '/aws/aws-sdk-php/src/Appstream/AppstreamClient.php', 'Aws\\Appstream\\Exception\\AppstreamException' => $vendorDir . '/aws/aws-sdk-php/src/Appstream/Exception/AppstreamException.php', 'Aws\\Arn\\AccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/AccessPointArn.php', @@ -166,22 +144,15 @@ 'Aws\\Arn\\ResourceTypeAndIdTrait' => $vendorDir . '/aws/aws-sdk-php/src/Arn/ResourceTypeAndIdTrait.php', 'Aws\\Arn\\S3\\AccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/AccessPointArn.php', 'Aws\\Arn\\S3\\BucketArnInterface' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/BucketArnInterface.php', - 'Aws\\Arn\\S3\\MultiRegionAccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/MultiRegionAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsAccessPointArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsArnInterface' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsArnInterface.php', 'Aws\\Arn\\S3\\OutpostsBucketArn' => $vendorDir . '/aws/aws-sdk-php/src/Arn/S3/OutpostsBucketArn.php', - 'Aws\\Artifact\\ArtifactClient' => $vendorDir . '/aws/aws-sdk-php/src/Artifact/ArtifactClient.php', - 'Aws\\Artifact\\Exception\\ArtifactException' => $vendorDir . '/aws/aws-sdk-php/src/Artifact/Exception/ArtifactException.php', 'Aws\\Athena\\AthenaClient' => $vendorDir . '/aws/aws-sdk-php/src/Athena/AthenaClient.php', 'Aws\\Athena\\Exception\\AthenaException' => $vendorDir . '/aws/aws-sdk-php/src/Athena/Exception/AthenaException.php', 'Aws\\AuditManager\\AuditManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/AuditManager/AuditManagerClient.php', 'Aws\\AuditManager\\Exception\\AuditManagerException' => $vendorDir . '/aws/aws-sdk-php/src/AuditManager/Exception/AuditManagerException.php', 'Aws\\AugmentedAIRuntime\\AugmentedAIRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/AugmentedAIRuntime/AugmentedAIRuntimeClient.php', 'Aws\\AugmentedAIRuntime\\Exception\\AugmentedAIRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/AugmentedAIRuntime/Exception/AugmentedAIRuntimeException.php', - 'Aws\\Auth\\AuthSchemeResolver' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolver.php', - 'Aws\\Auth\\AuthSchemeResolverInterface' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolverInterface.php', - 'Aws\\Auth\\AuthSelectionMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/Auth/AuthSelectionMiddleware.php', - 'Aws\\Auth\\Exception\\UnresolvedAuthSchemeException' => $vendorDir . '/aws/aws-sdk-php/src/Auth/Exception/UnresolvedAuthSchemeException.php', 'Aws\\AutoScalingPlans\\AutoScalingPlansClient' => $vendorDir . '/aws/aws-sdk-php/src/AutoScalingPlans/AutoScalingPlansClient.php', 'Aws\\AutoScalingPlans\\Exception\\AutoScalingPlansException' => $vendorDir . '/aws/aws-sdk-php/src/AutoScalingPlans/Exception/AutoScalingPlansException.php', 'Aws\\AutoScaling\\AutoScalingClient' => $vendorDir . '/aws/aws-sdk-php/src/AutoScaling/AutoScalingClient.php', @@ -189,67 +160,17 @@ 'Aws\\AwsClient' => $vendorDir . '/aws/aws-sdk-php/src/AwsClient.php', 'Aws\\AwsClientInterface' => $vendorDir . '/aws/aws-sdk-php/src/AwsClientInterface.php', 'Aws\\AwsClientTrait' => $vendorDir . '/aws/aws-sdk-php/src/AwsClientTrait.php', - 'Aws\\B2bi\\B2biClient' => $vendorDir . '/aws/aws-sdk-php/src/B2bi/B2biClient.php', - 'Aws\\B2bi\\Exception\\B2biException' => $vendorDir . '/aws/aws-sdk-php/src/B2bi/Exception/B2biException.php', - 'Aws\\BCMDashboards\\BCMDashboardsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMDashboards/BCMDashboardsClient.php', - 'Aws\\BCMDashboards\\Exception\\BCMDashboardsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMDashboards/Exception/BCMDashboardsException.php', - 'Aws\\BCMDataExports\\BCMDataExportsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMDataExports/BCMDataExportsClient.php', - 'Aws\\BCMDataExports\\Exception\\BCMDataExportsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMDataExports/Exception/BCMDataExportsException.php', - 'Aws\\BCMPricingCalculator\\BCMPricingCalculatorClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMPricingCalculator/BCMPricingCalculatorClient.php', - 'Aws\\BCMPricingCalculator\\Exception\\BCMPricingCalculatorException' => $vendorDir . '/aws/aws-sdk-php/src/BCMPricingCalculator/Exception/BCMPricingCalculatorException.php', - 'Aws\\BCMRecommendedActions\\BCMRecommendedActionsClient' => $vendorDir . '/aws/aws-sdk-php/src/BCMRecommendedActions/BCMRecommendedActionsClient.php', - 'Aws\\BCMRecommendedActions\\Exception\\BCMRecommendedActionsException' => $vendorDir . '/aws/aws-sdk-php/src/BCMRecommendedActions/Exception/BCMRecommendedActionsException.php', - 'Aws\\BackupGateway\\BackupGatewayClient' => $vendorDir . '/aws/aws-sdk-php/src/BackupGateway/BackupGatewayClient.php', - 'Aws\\BackupGateway\\Exception\\BackupGatewayException' => $vendorDir . '/aws/aws-sdk-php/src/BackupGateway/Exception/BackupGatewayException.php', - 'Aws\\BackupSearch\\BackupSearchClient' => $vendorDir . '/aws/aws-sdk-php/src/BackupSearch/BackupSearchClient.php', - 'Aws\\BackupSearch\\Exception\\BackupSearchException' => $vendorDir . '/aws/aws-sdk-php/src/BackupSearch/Exception/BackupSearchException.php', 'Aws\\Backup\\BackupClient' => $vendorDir . '/aws/aws-sdk-php/src/Backup/BackupClient.php', 'Aws\\Backup\\Exception\\BackupException' => $vendorDir . '/aws/aws-sdk-php/src/Backup/Exception/BackupException.php', 'Aws\\Batch\\BatchClient' => $vendorDir . '/aws/aws-sdk-php/src/Batch/BatchClient.php', 'Aws\\Batch\\Exception\\BatchException' => $vendorDir . '/aws/aws-sdk-php/src/Batch/Exception/BatchException.php', - 'Aws\\BedrockAgentCoreControl\\BedrockAgentCoreControlClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/BedrockAgentCoreControlClient.php', - 'Aws\\BedrockAgentCoreControl\\Exception\\BedrockAgentCoreControlException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/Exception/BedrockAgentCoreControlException.php', - 'Aws\\BedrockAgentCore\\BedrockAgentCoreClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCore/BedrockAgentCoreClient.php', - 'Aws\\BedrockAgentCore\\Exception\\BedrockAgentCoreException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentCore/Exception/BedrockAgentCoreException.php', - 'Aws\\BedrockAgentRuntime\\BedrockAgentRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentRuntime/BedrockAgentRuntimeClient.php', - 'Aws\\BedrockAgentRuntime\\Exception\\BedrockAgentRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgentRuntime/Exception/BedrockAgentRuntimeException.php', - 'Aws\\BedrockAgent\\BedrockAgentClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgent/BedrockAgentClient.php', - 'Aws\\BedrockAgent\\Exception\\BedrockAgentException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockAgent/Exception/BedrockAgentException.php', - 'Aws\\BedrockDataAutomationRuntime\\BedrockDataAutomationRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.php', - 'Aws\\BedrockDataAutomationRuntime\\Exception\\BedrockDataAutomationRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/Exception/BedrockDataAutomationRuntimeException.php', - 'Aws\\BedrockDataAutomation\\BedrockDataAutomationClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomation/BedrockDataAutomationClient.php', - 'Aws\\BedrockDataAutomation\\Exception\\BedrockDataAutomationException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockDataAutomation/Exception/BedrockDataAutomationException.php', - 'Aws\\BedrockRuntime\\BedrockRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/BedrockRuntime/BedrockRuntimeClient.php', - 'Aws\\BedrockRuntime\\Exception\\BedrockRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/BedrockRuntime/Exception/BedrockRuntimeException.php', - 'Aws\\Bedrock\\BedrockClient' => $vendorDir . '/aws/aws-sdk-php/src/Bedrock/BedrockClient.php', - 'Aws\\Bedrock\\Exception\\BedrockException' => $vendorDir . '/aws/aws-sdk-php/src/Bedrock/Exception/BedrockException.php', - 'Aws\\BillingConductor\\BillingConductorClient' => $vendorDir . '/aws/aws-sdk-php/src/BillingConductor/BillingConductorClient.php', - 'Aws\\BillingConductor\\Exception\\BillingConductorException' => $vendorDir . '/aws/aws-sdk-php/src/BillingConductor/Exception/BillingConductorException.php', - 'Aws\\Billing\\BillingClient' => $vendorDir . '/aws/aws-sdk-php/src/Billing/BillingClient.php', - 'Aws\\Billing\\Exception\\BillingException' => $vendorDir . '/aws/aws-sdk-php/src/Billing/Exception/BillingException.php', 'Aws\\Braket\\BraketClient' => $vendorDir . '/aws/aws-sdk-php/src/Braket/BraketClient.php', 'Aws\\Braket\\Exception\\BraketException' => $vendorDir . '/aws/aws-sdk-php/src/Braket/Exception/BraketException.php', 'Aws\\Budgets\\BudgetsClient' => $vendorDir . '/aws/aws-sdk-php/src/Budgets/BudgetsClient.php', 'Aws\\Budgets\\Exception\\BudgetsException' => $vendorDir . '/aws/aws-sdk-php/src/Budgets/Exception/BudgetsException.php', 'Aws\\CacheInterface' => $vendorDir . '/aws/aws-sdk-php/src/CacheInterface.php', - 'Aws\\Chatbot\\ChatbotClient' => $vendorDir . '/aws/aws-sdk-php/src/Chatbot/ChatbotClient.php', - 'Aws\\Chatbot\\Exception\\ChatbotException' => $vendorDir . '/aws/aws-sdk-php/src/Chatbot/Exception/ChatbotException.php', - 'Aws\\ChimeSDKIdentity\\ChimeSDKIdentityClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKIdentity/ChimeSDKIdentityClient.php', - 'Aws\\ChimeSDKIdentity\\Exception\\ChimeSDKIdentityException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKIdentity/Exception/ChimeSDKIdentityException.php', - 'Aws\\ChimeSDKMediaPipelines\\ChimeSDKMediaPipelinesClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.php', - 'Aws\\ChimeSDKMediaPipelines\\Exception\\ChimeSDKMediaPipelinesException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/Exception/ChimeSDKMediaPipelinesException.php', - 'Aws\\ChimeSDKMeetings\\ChimeSDKMeetingsClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMeetings/ChimeSDKMeetingsClient.php', - 'Aws\\ChimeSDKMeetings\\Exception\\ChimeSDKMeetingsException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMeetings/Exception/ChimeSDKMeetingsException.php', - 'Aws\\ChimeSDKMessaging\\ChimeSDKMessagingClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMessaging/ChimeSDKMessagingClient.php', - 'Aws\\ChimeSDKMessaging\\Exception\\ChimeSDKMessagingException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKMessaging/Exception/ChimeSDKMessagingException.php', - 'Aws\\ChimeSDKVoice\\ChimeSDKVoiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKVoice/ChimeSDKVoiceClient.php', - 'Aws\\ChimeSDKVoice\\Exception\\ChimeSDKVoiceException' => $vendorDir . '/aws/aws-sdk-php/src/ChimeSDKVoice/Exception/ChimeSDKVoiceException.php', 'Aws\\Chime\\ChimeClient' => $vendorDir . '/aws/aws-sdk-php/src/Chime/ChimeClient.php', 'Aws\\Chime\\Exception\\ChimeException' => $vendorDir . '/aws/aws-sdk-php/src/Chime/Exception/ChimeException.php', - 'Aws\\CleanRoomsML\\CleanRoomsMLClient' => $vendorDir . '/aws/aws-sdk-php/src/CleanRoomsML/CleanRoomsMLClient.php', - 'Aws\\CleanRoomsML\\Exception\\CleanRoomsMLException' => $vendorDir . '/aws/aws-sdk-php/src/CleanRoomsML/Exception/CleanRoomsMLException.php', - 'Aws\\CleanRooms\\CleanRoomsClient' => $vendorDir . '/aws/aws-sdk-php/src/CleanRooms/CleanRoomsClient.php', - 'Aws\\CleanRooms\\Exception\\CleanRoomsException' => $vendorDir . '/aws/aws-sdk-php/src/CleanRooms/Exception/CleanRoomsException.php', 'Aws\\ClientResolver' => $vendorDir . '/aws/aws-sdk-php/src/ClientResolver.php', 'Aws\\ClientSideMonitoring\\AbstractMonitoringMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php', 'Aws\\ClientSideMonitoring\\ApiCallAttemptMonitoringMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php', @@ -261,14 +182,10 @@ 'Aws\\ClientSideMonitoring\\MonitoringMiddlewareInterface' => $vendorDir . '/aws/aws-sdk-php/src/ClientSideMonitoring/MonitoringMiddlewareInterface.php', 'Aws\\Cloud9\\Cloud9Client' => $vendorDir . '/aws/aws-sdk-php/src/Cloud9/Cloud9Client.php', 'Aws\\Cloud9\\Exception\\Cloud9Exception' => $vendorDir . '/aws/aws-sdk-php/src/Cloud9/Exception/Cloud9Exception.php', - 'Aws\\CloudControlApi\\CloudControlApiClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudControlApi/CloudControlApiClient.php', - 'Aws\\CloudControlApi\\Exception\\CloudControlApiException' => $vendorDir . '/aws/aws-sdk-php/src/CloudControlApi/Exception/CloudControlApiException.php', 'Aws\\CloudDirectory\\CloudDirectoryClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudDirectory/CloudDirectoryClient.php', 'Aws\\CloudDirectory\\Exception\\CloudDirectoryException' => $vendorDir . '/aws/aws-sdk-php/src/CloudDirectory/Exception/CloudDirectoryException.php', 'Aws\\CloudFormation\\CloudFormationClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFormation/CloudFormationClient.php', 'Aws\\CloudFormation\\Exception\\CloudFormationException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFormation/Exception/CloudFormationException.php', - 'Aws\\CloudFrontKeyValueStore\\CloudFrontKeyValueStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.php', - 'Aws\\CloudFrontKeyValueStore\\Exception\\CloudFrontKeyValueStoreException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/Exception/CloudFrontKeyValueStoreException.php', 'Aws\\CloudFront\\CloudFrontClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/CloudFrontClient.php', 'Aws\\CloudFront\\CookieSigner' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/CookieSigner.php', 'Aws\\CloudFront\\Exception\\CloudFrontException' => $vendorDir . '/aws/aws-sdk-php/src/CloudFront/Exception/CloudFrontException.php', @@ -282,8 +199,6 @@ 'Aws\\CloudSearchDomain\\Exception\\CloudSearchDomainException' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearchDomain/Exception/CloudSearchDomainException.php', 'Aws\\CloudSearch\\CloudSearchClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearch/CloudSearchClient.php', 'Aws\\CloudSearch\\Exception\\CloudSearchException' => $vendorDir . '/aws/aws-sdk-php/src/CloudSearch/Exception/CloudSearchException.php', - 'Aws\\CloudTrailData\\CloudTrailDataClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrailData/CloudTrailDataClient.php', - 'Aws\\CloudTrailData\\Exception\\CloudTrailDataException' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrailData/Exception/CloudTrailDataException.php', 'Aws\\CloudTrail\\CloudTrailClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/CloudTrailClient.php', 'Aws\\CloudTrail\\Exception\\CloudTrailException' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/Exception/CloudTrailException.php', 'Aws\\CloudTrail\\LogFileIterator' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/LogFileIterator.php', @@ -291,32 +206,22 @@ 'Aws\\CloudTrail\\LogRecordIterator' => $vendorDir . '/aws/aws-sdk-php/src/CloudTrail/LogRecordIterator.php', 'Aws\\CloudWatchEvents\\CloudWatchEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvents/CloudWatchEventsClient.php', 'Aws\\CloudWatchEvents\\Exception\\CloudWatchEventsException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvents/Exception/CloudWatchEventsException.php', - 'Aws\\CloudWatchEvidently\\CloudWatchEvidentlyClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvidently/CloudWatchEvidentlyClient.php', - 'Aws\\CloudWatchEvidently\\Exception\\CloudWatchEvidentlyException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchEvidently/Exception/CloudWatchEvidentlyException.php', 'Aws\\CloudWatchLogs\\CloudWatchLogsClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchLogs/CloudWatchLogsClient.php', 'Aws\\CloudWatchLogs\\Exception\\CloudWatchLogsException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchLogs/Exception/CloudWatchLogsException.php', - 'Aws\\CloudWatchRUM\\CloudWatchRUMClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchRUM/CloudWatchRUMClient.php', - 'Aws\\CloudWatchRUM\\Exception\\CloudWatchRUMException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatchRUM/Exception/CloudWatchRUMException.php', 'Aws\\CloudWatch\\CloudWatchClient' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatch/CloudWatchClient.php', 'Aws\\CloudWatch\\Exception\\CloudWatchException' => $vendorDir . '/aws/aws-sdk-php/src/CloudWatch/Exception/CloudWatchException.php', 'Aws\\CodeArtifact\\CodeArtifactClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeArtifact/CodeArtifactClient.php', 'Aws\\CodeArtifact\\Exception\\CodeArtifactException' => $vendorDir . '/aws/aws-sdk-php/src/CodeArtifact/Exception/CodeArtifactException.php', 'Aws\\CodeBuild\\CodeBuildClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeBuild/CodeBuildClient.php', 'Aws\\CodeBuild\\Exception\\CodeBuildException' => $vendorDir . '/aws/aws-sdk-php/src/CodeBuild/Exception/CodeBuildException.php', - 'Aws\\CodeCatalyst\\CodeCatalystClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeCatalyst/CodeCatalystClient.php', - 'Aws\\CodeCatalyst\\Exception\\CodeCatalystException' => $vendorDir . '/aws/aws-sdk-php/src/CodeCatalyst/Exception/CodeCatalystException.php', 'Aws\\CodeCommit\\CodeCommitClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeCommit/CodeCommitClient.php', 'Aws\\CodeCommit\\Exception\\CodeCommitException' => $vendorDir . '/aws/aws-sdk-php/src/CodeCommit/Exception/CodeCommitException.php', - 'Aws\\CodeConnections\\CodeConnectionsClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeConnections/CodeConnectionsClient.php', - 'Aws\\CodeConnections\\Exception\\CodeConnectionsException' => $vendorDir . '/aws/aws-sdk-php/src/CodeConnections/Exception/CodeConnectionsException.php', 'Aws\\CodeDeploy\\CodeDeployClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeDeploy/CodeDeployClient.php', 'Aws\\CodeDeploy\\Exception\\CodeDeployException' => $vendorDir . '/aws/aws-sdk-php/src/CodeDeploy/Exception/CodeDeployException.php', 'Aws\\CodeGuruProfiler\\CodeGuruProfilerClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruProfiler/CodeGuruProfilerClient.php', 'Aws\\CodeGuruProfiler\\Exception\\CodeGuruProfilerException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruProfiler/Exception/CodeGuruProfilerException.php', 'Aws\\CodeGuruReviewer\\CodeGuruReviewerClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruReviewer/CodeGuruReviewerClient.php', 'Aws\\CodeGuruReviewer\\Exception\\CodeGuruReviewerException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruReviewer/Exception/CodeGuruReviewerException.php', - 'Aws\\CodeGuruSecurity\\CodeGuruSecurityClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruSecurity/CodeGuruSecurityClient.php', - 'Aws\\CodeGuruSecurity\\Exception\\CodeGuruSecurityException' => $vendorDir . '/aws/aws-sdk-php/src/CodeGuruSecurity/Exception/CodeGuruSecurityException.php', 'Aws\\CodePipeline\\CodePipelineClient' => $vendorDir . '/aws/aws-sdk-php/src/CodePipeline/CodePipelineClient.php', 'Aws\\CodePipeline\\Exception\\CodePipelineException' => $vendorDir . '/aws/aws-sdk-php/src/CodePipeline/Exception/CodePipelineException.php', 'Aws\\CodeStarNotifications\\CodeStarNotificationsClient' => $vendorDir . '/aws/aws-sdk-php/src/CodeStarNotifications/CodeStarNotificationsClient.php', @@ -339,77 +244,49 @@ 'Aws\\ComprehendMedical\\Exception\\ComprehendMedicalException' => $vendorDir . '/aws/aws-sdk-php/src/ComprehendMedical/Exception/ComprehendMedicalException.php', 'Aws\\Comprehend\\ComprehendClient' => $vendorDir . '/aws/aws-sdk-php/src/Comprehend/ComprehendClient.php', 'Aws\\Comprehend\\Exception\\ComprehendException' => $vendorDir . '/aws/aws-sdk-php/src/Comprehend/Exception/ComprehendException.php', - 'Aws\\ComputeOptimizerAutomation\\ComputeOptimizerAutomationClient' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/ComputeOptimizerAutomationClient.php', - 'Aws\\ComputeOptimizerAutomation\\Exception\\ComputeOptimizerAutomationException' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/Exception/ComputeOptimizerAutomationException.php', 'Aws\\ComputeOptimizer\\ComputeOptimizerClient' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizer/ComputeOptimizerClient.php', 'Aws\\ComputeOptimizer\\Exception\\ComputeOptimizerException' => $vendorDir . '/aws/aws-sdk-php/src/ComputeOptimizer/Exception/ComputeOptimizerException.php', 'Aws\\ConfigService\\ConfigServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConfigService/ConfigServiceClient.php', 'Aws\\ConfigService\\Exception\\ConfigServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConfigService/Exception/ConfigServiceException.php', 'Aws\\ConfigurationProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/ConfigurationProviderInterface.php', - 'Aws\\Configuration\\ConfigurationResolver' => $vendorDir . '/aws/aws-sdk-php/src/Configuration/ConfigurationResolver.php', - 'Aws\\ConnectCampaignService\\ConnectCampaignServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignService/ConnectCampaignServiceClient.php', - 'Aws\\ConnectCampaignService\\Exception\\ConnectCampaignServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignService/Exception/ConnectCampaignServiceException.php', - 'Aws\\ConnectCampaignsV2\\ConnectCampaignsV2Client' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignsV2/ConnectCampaignsV2Client.php', - 'Aws\\ConnectCampaignsV2\\Exception\\ConnectCampaignsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCampaignsV2/Exception/ConnectCampaignsV2Exception.php', - 'Aws\\ConnectCases\\ConnectCasesClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCases/ConnectCasesClient.php', - 'Aws\\ConnectCases\\Exception\\ConnectCasesException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectCases/Exception/ConnectCasesException.php', 'Aws\\ConnectContactLens\\ConnectContactLensClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectContactLens/ConnectContactLensClient.php', 'Aws\\ConnectContactLens\\Exception\\ConnectContactLensException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectContactLens/Exception/ConnectContactLensException.php', 'Aws\\ConnectParticipant\\ConnectParticipantClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectParticipant/ConnectParticipantClient.php', 'Aws\\ConnectParticipant\\Exception\\ConnectParticipantException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectParticipant/Exception/ConnectParticipantException.php', - 'Aws\\ConnectWisdomService\\ConnectWisdomServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ConnectWisdomService/ConnectWisdomServiceClient.php', - 'Aws\\ConnectWisdomService\\Exception\\ConnectWisdomServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ConnectWisdomService/Exception/ConnectWisdomServiceException.php', 'Aws\\Connect\\ConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/Connect/ConnectClient.php', 'Aws\\Connect\\Exception\\ConnectException' => $vendorDir . '/aws/aws-sdk-php/src/Connect/Exception/ConnectException.php', - 'Aws\\ControlCatalog\\ControlCatalogClient' => $vendorDir . '/aws/aws-sdk-php/src/ControlCatalog/ControlCatalogClient.php', - 'Aws\\ControlCatalog\\Exception\\ControlCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/ControlCatalog/Exception/ControlCatalogException.php', - 'Aws\\ControlTower\\ControlTowerClient' => $vendorDir . '/aws/aws-sdk-php/src/ControlTower/ControlTowerClient.php', - 'Aws\\ControlTower\\Exception\\ControlTowerException' => $vendorDir . '/aws/aws-sdk-php/src/ControlTower/Exception/ControlTowerException.php', 'Aws\\CostExplorer\\CostExplorerClient' => $vendorDir . '/aws/aws-sdk-php/src/CostExplorer/CostExplorerClient.php', 'Aws\\CostExplorer\\Exception\\CostExplorerException' => $vendorDir . '/aws/aws-sdk-php/src/CostExplorer/Exception/CostExplorerException.php', - 'Aws\\CostOptimizationHub\\CostOptimizationHubClient' => $vendorDir . '/aws/aws-sdk-php/src/CostOptimizationHub/CostOptimizationHubClient.php', - 'Aws\\CostOptimizationHub\\Exception\\CostOptimizationHubException' => $vendorDir . '/aws/aws-sdk-php/src/CostOptimizationHub/Exception/CostOptimizationHubException.php', 'Aws\\CostandUsageReportService\\CostandUsageReportServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/CostandUsageReportService/CostandUsageReportServiceClient.php', 'Aws\\CostandUsageReportService\\Exception\\CostandUsageReportServiceException' => $vendorDir . '/aws/aws-sdk-php/src/CostandUsageReportService/Exception/CostandUsageReportServiceException.php', 'Aws\\Credentials\\AssumeRoleCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/AssumeRoleCredentialProvider.php', 'Aws\\Credentials\\AssumeRoleWithWebIdentityCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/AssumeRoleWithWebIdentityCredentialProvider.php', 'Aws\\Credentials\\CredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialProvider.php', - 'Aws\\Credentials\\CredentialSources' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialSources.php', 'Aws\\Credentials\\Credentials' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/Credentials.php', 'Aws\\Credentials\\CredentialsInterface' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialsInterface.php', - 'Aws\\Credentials\\CredentialsUtils' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/CredentialsUtils.php', 'Aws\\Credentials\\EcsCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/EcsCredentialProvider.php', 'Aws\\Credentials\\InstanceProfileProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php', - 'Aws\\Credentials\\LoginCredentialProvider' => $vendorDir . '/aws/aws-sdk-php/src/Credentials/LoginCredentialProvider.php', 'Aws\\Crypto\\AbstractCryptoClient' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClient.php', 'Aws\\Crypto\\AbstractCryptoClientV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV2.php', - 'Aws\\Crypto\\AbstractCryptoClientV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV3.php', 'Aws\\Crypto\\AesDecryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesDecryptingStream.php', 'Aws\\Crypto\\AesEncryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesEncryptingStream.php', 'Aws\\Crypto\\AesGcmDecryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesGcmDecryptingStream.php', 'Aws\\Crypto\\AesGcmEncryptingStream' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesGcmEncryptingStream.php', 'Aws\\Crypto\\AesStreamInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesStreamInterface.php', 'Aws\\Crypto\\AesStreamInterfaceV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AesStreamInterfaceV2.php', - 'Aws\\Crypto\\AlgorithmConstants' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AlgorithmConstants.php', - 'Aws\\Crypto\\AlgorithmSuite' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/AlgorithmSuite.php', 'Aws\\Crypto\\Cipher\\Cbc' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/Cbc.php', 'Aws\\Crypto\\Cipher\\CipherBuilderTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherBuilderTrait.php', 'Aws\\Crypto\\Cipher\\CipherMethod' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php', 'Aws\\Crypto\\DecryptionTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTrait.php', 'Aws\\Crypto\\DecryptionTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV2.php', - 'Aws\\Crypto\\DecryptionTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV3.php', 'Aws\\Crypto\\EncryptionTrait' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTrait.php', 'Aws\\Crypto\\EncryptionTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV2.php', - 'Aws\\Crypto\\EncryptionTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV3.php', 'Aws\\Crypto\\KmsMaterialsProvider' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProvider.php', 'Aws\\Crypto\\KmsMaterialsProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV2.php', - 'Aws\\Crypto\\KmsMaterialsProviderV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV3.php', 'Aws\\Crypto\\MaterialsProvider' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProvider.php', 'Aws\\Crypto\\MaterialsProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterface.php', 'Aws\\Crypto\\MaterialsProviderInterfaceV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php', - 'Aws\\Crypto\\MaterialsProviderInterfaceV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV3.php', 'Aws\\Crypto\\MaterialsProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV2.php', - 'Aws\\Crypto\\MaterialsProviderV3' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV3.php', 'Aws\\Crypto\\MetadataEnvelope' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MetadataEnvelope.php', 'Aws\\Crypto\\MetadataStrategyInterface' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/MetadataStrategyInterface.php', 'Aws\\Crypto\\Polyfill\\AesGcm' => $vendorDir . '/aws/aws-sdk-php/src/Crypto/Polyfill/AesGcm.php', @@ -423,25 +300,14 @@ 'Aws\\DAX\\Exception\\DAXException' => $vendorDir . '/aws/aws-sdk-php/src/DAX/Exception/DAXException.php', 'Aws\\DLM\\DLMClient' => $vendorDir . '/aws/aws-sdk-php/src/DLM/DLMClient.php', 'Aws\\DLM\\Exception\\DLMException' => $vendorDir . '/aws/aws-sdk-php/src/DLM/Exception/DLMException.php', - 'Aws\\DSQL\\AuthTokenGenerator' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/AuthTokenGenerator.php', - 'Aws\\DSQL\\DSQLClient' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/DSQLClient.php', - 'Aws\\DSQL\\Exception\\DSQLException' => $vendorDir . '/aws/aws-sdk-php/src/DSQL/Exception/DSQLException.php', 'Aws\\DataExchange\\DataExchangeClient' => $vendorDir . '/aws/aws-sdk-php/src/DataExchange/DataExchangeClient.php', 'Aws\\DataExchange\\Exception\\DataExchangeException' => $vendorDir . '/aws/aws-sdk-php/src/DataExchange/Exception/DataExchangeException.php', 'Aws\\DataPipeline\\DataPipelineClient' => $vendorDir . '/aws/aws-sdk-php/src/DataPipeline/DataPipelineClient.php', 'Aws\\DataPipeline\\Exception\\DataPipelineException' => $vendorDir . '/aws/aws-sdk-php/src/DataPipeline/Exception/DataPipelineException.php', 'Aws\\DataSync\\DataSyncClient' => $vendorDir . '/aws/aws-sdk-php/src/DataSync/DataSyncClient.php', 'Aws\\DataSync\\Exception\\DataSyncException' => $vendorDir . '/aws/aws-sdk-php/src/DataSync/Exception/DataSyncException.php', - 'Aws\\DataZone\\DataZoneClient' => $vendorDir . '/aws/aws-sdk-php/src/DataZone/DataZoneClient.php', - 'Aws\\DataZone\\Exception\\DataZoneException' => $vendorDir . '/aws/aws-sdk-php/src/DataZone/Exception/DataZoneException.php', 'Aws\\DatabaseMigrationService\\DatabaseMigrationServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/DatabaseMigrationService/DatabaseMigrationServiceClient.php', 'Aws\\DatabaseMigrationService\\Exception\\DatabaseMigrationServiceException' => $vendorDir . '/aws/aws-sdk-php/src/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php', - 'Aws\\Deadline\\DeadlineClient' => $vendorDir . '/aws/aws-sdk-php/src/Deadline/DeadlineClient.php', - 'Aws\\Deadline\\Exception\\DeadlineException' => $vendorDir . '/aws/aws-sdk-php/src/Deadline/Exception/DeadlineException.php', - 'Aws\\DefaultsMode\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/Configuration.php', - 'Aws\\DefaultsMode\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationInterface.php', - 'Aws\\DefaultsMode\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationProvider.php', - 'Aws\\DefaultsMode\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/DefaultsMode/Exception/ConfigurationException.php', 'Aws\\Detective\\DetectiveClient' => $vendorDir . '/aws/aws-sdk-php/src/Detective/DetectiveClient.php', 'Aws\\Detective\\Exception\\DetectiveException' => $vendorDir . '/aws/aws-sdk-php/src/Detective/Exception/DetectiveException.php', 'Aws\\DevOpsGuru\\DevOpsGuruClient' => $vendorDir . '/aws/aws-sdk-php/src/DevOpsGuru/DevOpsGuruClient.php', @@ -450,12 +316,8 @@ 'Aws\\DeviceFarm\\Exception\\DeviceFarmException' => $vendorDir . '/aws/aws-sdk-php/src/DeviceFarm/Exception/DeviceFarmException.php', 'Aws\\DirectConnect\\DirectConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectConnect/DirectConnectClient.php', 'Aws\\DirectConnect\\Exception\\DirectConnectException' => $vendorDir . '/aws/aws-sdk-php/src/DirectConnect/Exception/DirectConnectException.php', - 'Aws\\DirectoryServiceData\\DirectoryServiceDataClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryServiceData/DirectoryServiceDataClient.php', - 'Aws\\DirectoryServiceData\\Exception\\DirectoryServiceDataException' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryServiceData/Exception/DirectoryServiceDataException.php', 'Aws\\DirectoryService\\DirectoryServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryService/DirectoryServiceClient.php', 'Aws\\DirectoryService\\Exception\\DirectoryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/DirectoryService/Exception/DirectoryServiceException.php', - 'Aws\\DocDBElastic\\DocDBElasticClient' => $vendorDir . '/aws/aws-sdk-php/src/DocDBElastic/DocDBElasticClient.php', - 'Aws\\DocDBElastic\\Exception\\DocDBElasticException' => $vendorDir . '/aws/aws-sdk-php/src/DocDBElastic/Exception/DocDBElasticException.php', 'Aws\\DocDB\\DocDBClient' => $vendorDir . '/aws/aws-sdk-php/src/DocDB/DocDBClient.php', 'Aws\\DocDB\\Exception\\DocDBException' => $vendorDir . '/aws/aws-sdk-php/src/DocDB/Exception/DocDBException.php', 'Aws\\DoctrineCacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/DoctrineCacheAdapter.php', @@ -479,14 +341,10 @@ 'Aws\\EC2InstanceConnect\\Exception\\EC2InstanceConnectException' => $vendorDir . '/aws/aws-sdk-php/src/EC2InstanceConnect/Exception/EC2InstanceConnectException.php', 'Aws\\ECRPublic\\ECRPublicClient' => $vendorDir . '/aws/aws-sdk-php/src/ECRPublic/ECRPublicClient.php', 'Aws\\ECRPublic\\Exception\\ECRPublicException' => $vendorDir . '/aws/aws-sdk-php/src/ECRPublic/Exception/ECRPublicException.php', - 'Aws\\EKSAuth\\EKSAuthClient' => $vendorDir . '/aws/aws-sdk-php/src/EKSAuth/EKSAuthClient.php', - 'Aws\\EKSAuth\\Exception\\EKSAuthException' => $vendorDir . '/aws/aws-sdk-php/src/EKSAuth/Exception/EKSAuthException.php', 'Aws\\EKS\\EKSClient' => $vendorDir . '/aws/aws-sdk-php/src/EKS/EKSClient.php', 'Aws\\EKS\\Exception\\EKSException' => $vendorDir . '/aws/aws-sdk-php/src/EKS/Exception/EKSException.php', 'Aws\\EMRContainers\\EMRContainersClient' => $vendorDir . '/aws/aws-sdk-php/src/EMRContainers/EMRContainersClient.php', 'Aws\\EMRContainers\\Exception\\EMRContainersException' => $vendorDir . '/aws/aws-sdk-php/src/EMRContainers/Exception/EMRContainersException.php', - 'Aws\\EMRServerless\\EMRServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/EMRServerless/EMRServerlessClient.php', - 'Aws\\EMRServerless\\Exception\\EMRServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/EMRServerless/Exception/EMRServerlessException.php', 'Aws\\Ec2\\Ec2Client' => $vendorDir . '/aws/aws-sdk-php/src/Ec2/Ec2Client.php', 'Aws\\Ec2\\Exception\\Ec2Exception' => $vendorDir . '/aws/aws-sdk-php/src/Ec2/Exception/Ec2Exception.php', 'Aws\\Ecr\\EcrClient' => $vendorDir . '/aws/aws-sdk-php/src/Ecr/EcrClient.php', @@ -518,41 +376,14 @@ 'Aws\\EndpointDiscovery\\EndpointList' => $vendorDir . '/aws/aws-sdk-php/src/EndpointDiscovery/EndpointList.php', 'Aws\\EndpointDiscovery\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/EndpointDiscovery/Exception/ConfigurationException.php', 'Aws\\EndpointParameterMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/EndpointParameterMiddleware.php', - 'Aws\\EndpointV2\\EndpointDefinitionProvider' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointDefinitionProvider.php', - 'Aws\\EndpointV2\\EndpointProviderV2' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointProviderV2.php', - 'Aws\\EndpointV2\\EndpointV2Middleware' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2Middleware.php', - 'Aws\\EndpointV2\\EndpointV2SerializerTrait' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2SerializerTrait.php', - 'Aws\\EndpointV2\\Rule\\AbstractRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/AbstractRule.php', - 'Aws\\EndpointV2\\Rule\\EndpointRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/EndpointRule.php', - 'Aws\\EndpointV2\\Rule\\ErrorRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/ErrorRule.php', - 'Aws\\EndpointV2\\Rule\\RuleCreator' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php', - 'Aws\\EndpointV2\\Rule\\TreeRule' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Rule/TreeRule.php', - 'Aws\\EndpointV2\\Ruleset\\Ruleset' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/Ruleset.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetEndpoint' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetEndpoint.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetParameter' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetParameter.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetStandardLibrary' => $vendorDir . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetStandardLibrary.php', 'Aws\\Endpoint\\EndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/EndpointProvider.php', 'Aws\\Endpoint\\Partition' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/Partition.php', 'Aws\\Endpoint\\PartitionEndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PartitionEndpointProvider.php', 'Aws\\Endpoint\\PartitionInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PartitionInterface.php', 'Aws\\Endpoint\\PatternEndpointProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/PatternEndpointProvider.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Configuration.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationInterface.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationProvider.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Exception/ConfigurationException.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\Configuration' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Configuration.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationInterface.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationProvider.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Exception/ConfigurationException.php', - 'Aws\\EntityResolution\\EntityResolutionClient' => $vendorDir . '/aws/aws-sdk-php/src/EntityResolution/EntityResolutionClient.php', - 'Aws\\EntityResolution\\Exception\\EntityResolutionException' => $vendorDir . '/aws/aws-sdk-php/src/EntityResolution/Exception/EntityResolutionException.php', 'Aws\\EventBridge\\EventBridgeClient' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/EventBridgeClient.php', - 'Aws\\EventBridge\\EventBridgeEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/EventBridgeEndpointMiddleware.php', 'Aws\\EventBridge\\Exception\\EventBridgeException' => $vendorDir . '/aws/aws-sdk-php/src/EventBridge/Exception/EventBridgeException.php', - 'Aws\\Evs\\EvsClient' => $vendorDir . '/aws/aws-sdk-php/src/Evs/EvsClient.php', - 'Aws\\Evs\\Exception\\EvsException' => $vendorDir . '/aws/aws-sdk-php/src/Evs/Exception/EvsException.php', 'Aws\\Exception\\AwsException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/AwsException.php', - 'Aws\\Exception\\CommonRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CommonRuntimeException.php', 'Aws\\Exception\\CouldNotCreateChecksumException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php', 'Aws\\Exception\\CredentialsException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CredentialsException.php', 'Aws\\Exception\\CryptoException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/CryptoException.php', @@ -562,7 +393,6 @@ 'Aws\\Exception\\InvalidJsonException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/InvalidJsonException.php', 'Aws\\Exception\\InvalidRegionException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/InvalidRegionException.php', 'Aws\\Exception\\MultipartUploadException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/MultipartUploadException.php', - 'Aws\\Exception\\TokenException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/TokenException.php', 'Aws\\Exception\\UnresolvedApiException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedApiException.php', 'Aws\\Exception\\UnresolvedEndpointException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedEndpointException.php', 'Aws\\Exception\\UnresolvedSignatureException' => $vendorDir . '/aws/aws-sdk-php/src/Exception/UnresolvedSignatureException.php', @@ -572,8 +402,6 @@ 'Aws\\FMS\\FMSClient' => $vendorDir . '/aws/aws-sdk-php/src/FMS/FMSClient.php', 'Aws\\FSx\\Exception\\FSxException' => $vendorDir . '/aws/aws-sdk-php/src/FSx/Exception/FSxException.php', 'Aws\\FSx\\FSxClient' => $vendorDir . '/aws/aws-sdk-php/src/FSx/FSxClient.php', - 'Aws\\FinSpaceData\\Exception\\FinSpaceDataException' => $vendorDir . '/aws/aws-sdk-php/src/FinSpaceData/Exception/FinSpaceDataException.php', - 'Aws\\FinSpaceData\\FinSpaceDataClient' => $vendorDir . '/aws/aws-sdk-php/src/FinSpaceData/FinSpaceDataClient.php', 'Aws\\Firehose\\Exception\\FirehoseException' => $vendorDir . '/aws/aws-sdk-php/src/Firehose/Exception/FirehoseException.php', 'Aws\\Firehose\\FirehoseClient' => $vendorDir . '/aws/aws-sdk-php/src/Firehose/FirehoseClient.php', 'Aws\\ForecastQueryService\\Exception\\ForecastQueryServiceException' => $vendorDir . '/aws/aws-sdk-php/src/ForecastQueryService/Exception/ForecastQueryServiceException.php', @@ -582,18 +410,8 @@ 'Aws\\ForecastService\\ForecastServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/ForecastService/ForecastServiceClient.php', 'Aws\\FraudDetector\\Exception\\FraudDetectorException' => $vendorDir . '/aws/aws-sdk-php/src/FraudDetector/Exception/FraudDetectorException.php', 'Aws\\FraudDetector\\FraudDetectorClient' => $vendorDir . '/aws/aws-sdk-php/src/FraudDetector/FraudDetectorClient.php', - 'Aws\\FreeTier\\Exception\\FreeTierException' => $vendorDir . '/aws/aws-sdk-php/src/FreeTier/Exception/FreeTierException.php', - 'Aws\\FreeTier\\FreeTierClient' => $vendorDir . '/aws/aws-sdk-php/src/FreeTier/FreeTierClient.php', - 'Aws\\GameLiftStreams\\Exception\\GameLiftStreamsException' => $vendorDir . '/aws/aws-sdk-php/src/GameLiftStreams/Exception/GameLiftStreamsException.php', - 'Aws\\GameLiftStreams\\GameLiftStreamsClient' => $vendorDir . '/aws/aws-sdk-php/src/GameLiftStreams/GameLiftStreamsClient.php', 'Aws\\GameLift\\Exception\\GameLiftException' => $vendorDir . '/aws/aws-sdk-php/src/GameLift/Exception/GameLiftException.php', 'Aws\\GameLift\\GameLiftClient' => $vendorDir . '/aws/aws-sdk-php/src/GameLift/GameLiftClient.php', - 'Aws\\GeoMaps\\Exception\\GeoMapsException' => $vendorDir . '/aws/aws-sdk-php/src/GeoMaps/Exception/GeoMapsException.php', - 'Aws\\GeoMaps\\GeoMapsClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoMaps/GeoMapsClient.php', - 'Aws\\GeoPlaces\\Exception\\GeoPlacesException' => $vendorDir . '/aws/aws-sdk-php/src/GeoPlaces/Exception/GeoPlacesException.php', - 'Aws\\GeoPlaces\\GeoPlacesClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoPlaces/GeoPlacesClient.php', - 'Aws\\GeoRoutes\\Exception\\GeoRoutesException' => $vendorDir . '/aws/aws-sdk-php/src/GeoRoutes/Exception/GeoRoutesException.php', - 'Aws\\GeoRoutes\\GeoRoutesClient' => $vendorDir . '/aws/aws-sdk-php/src/GeoRoutes/GeoRoutesClient.php', 'Aws\\Glacier\\Exception\\GlacierException' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/Exception/GlacierException.php', 'Aws\\Glacier\\GlacierClient' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/GlacierClient.php', 'Aws\\Glacier\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/Glacier/MultipartUploader.php', @@ -617,7 +435,6 @@ 'Aws\\Handler\\GuzzleV5\\GuzzleStream' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV5/GuzzleStream.php', 'Aws\\Handler\\GuzzleV5\\PsrStream' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV5/PsrStream.php', 'Aws\\Handler\\GuzzleV6\\GuzzleHandler' => $vendorDir . '/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php', - 'Aws\\Handler\\Guzzle\\GuzzleHandler' => $vendorDir . '/aws/aws-sdk-php/src/Handler/Guzzle/GuzzleHandler.php', 'Aws\\HasDataTrait' => $vendorDir . '/aws/aws-sdk-php/src/HasDataTrait.php', 'Aws\\HasMonitoringEventsTrait' => $vendorDir . '/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php', 'Aws\\HashInterface' => $vendorDir . '/aws/aws-sdk-php/src/HashInterface.php', @@ -629,8 +446,6 @@ 'Aws\\History' => $vendorDir . '/aws/aws-sdk-php/src/History.php', 'Aws\\Honeycode\\Exception\\HoneycodeException' => $vendorDir . '/aws/aws-sdk-php/src/Honeycode/Exception/HoneycodeException.php', 'Aws\\Honeycode\\HoneycodeClient' => $vendorDir . '/aws/aws-sdk-php/src/Honeycode/HoneycodeClient.php', - 'Aws\\IVSRealTime\\Exception\\IVSRealTimeException' => $vendorDir . '/aws/aws-sdk-php/src/IVSRealTime/Exception/IVSRealTimeException.php', - 'Aws\\IVSRealTime\\IVSRealTimeClient' => $vendorDir . '/aws/aws-sdk-php/src/IVSRealTime/IVSRealTimeClient.php', 'Aws\\IVS\\Exception\\IVSException' => $vendorDir . '/aws/aws-sdk-php/src/IVS/Exception/IVSException.php', 'Aws\\IVS\\IVSClient' => $vendorDir . '/aws/aws-sdk-php/src/IVS/IVSClient.php', 'Aws\\Iam\\Exception\\IamException' => $vendorDir . '/aws/aws-sdk-php/src/Iam/Exception/IamException.php', @@ -638,24 +453,11 @@ 'Aws\\IdempotencyTokenMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/IdempotencyTokenMiddleware.php', 'Aws\\IdentityStore\\Exception\\IdentityStoreException' => $vendorDir . '/aws/aws-sdk-php/src/IdentityStore/Exception/IdentityStoreException.php', 'Aws\\IdentityStore\\IdentityStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/IdentityStore/IdentityStoreClient.php', - 'Aws\\Identity\\AwsCredentialIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/AwsCredentialIdentity.php', - 'Aws\\Identity\\BearerTokenIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/BearerTokenIdentity.php', - 'Aws\\Identity\\IdentityInterface' => $vendorDir . '/aws/aws-sdk-php/src/Identity/IdentityInterface.php', - 'Aws\\Identity\\S3\\S3ExpressIdentity' => $vendorDir . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentity.php', - 'Aws\\Identity\\S3\\S3ExpressIdentityProvider' => $vendorDir . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentityProvider.php', 'Aws\\ImportExport\\Exception\\ImportExportException' => $vendorDir . '/aws/aws-sdk-php/src/ImportExport/Exception/ImportExportException.php', 'Aws\\ImportExport\\ImportExportClient' => $vendorDir . '/aws/aws-sdk-php/src/ImportExport/ImportExportClient.php', 'Aws\\InputValidationMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/InputValidationMiddleware.php', - 'Aws\\Inspector2\\Exception\\Inspector2Exception' => $vendorDir . '/aws/aws-sdk-php/src/Inspector2/Exception/Inspector2Exception.php', - 'Aws\\Inspector2\\Inspector2Client' => $vendorDir . '/aws/aws-sdk-php/src/Inspector2/Inspector2Client.php', - 'Aws\\InspectorScan\\Exception\\InspectorScanException' => $vendorDir . '/aws/aws-sdk-php/src/InspectorScan/Exception/InspectorScanException.php', - 'Aws\\InspectorScan\\InspectorScanClient' => $vendorDir . '/aws/aws-sdk-php/src/InspectorScan/InspectorScanClient.php', 'Aws\\Inspector\\Exception\\InspectorException' => $vendorDir . '/aws/aws-sdk-php/src/Inspector/Exception/InspectorException.php', 'Aws\\Inspector\\InspectorClient' => $vendorDir . '/aws/aws-sdk-php/src/Inspector/InspectorClient.php', - 'Aws\\InternetMonitor\\Exception\\InternetMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/InternetMonitor/Exception/InternetMonitorException.php', - 'Aws\\InternetMonitor\\InternetMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/InternetMonitor/InternetMonitorClient.php', - 'Aws\\Invoicing\\Exception\\InvoicingException' => $vendorDir . '/aws/aws-sdk-php/src/Invoicing/Exception/InvoicingException.php', - 'Aws\\Invoicing\\InvoicingClient' => $vendorDir . '/aws/aws-sdk-php/src/Invoicing/InvoicingClient.php', 'Aws\\IoT1ClickDevicesService\\Exception\\IoT1ClickDevicesServiceException' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php', 'Aws\\IoT1ClickDevicesService\\IoT1ClickDevicesServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php', 'Aws\\IoT1ClickProjects\\Exception\\IoT1ClickProjectsException' => $vendorDir . '/aws/aws-sdk-php/src/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php', @@ -670,20 +472,14 @@ 'Aws\\IoTEvents\\IoTEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTEvents/IoTEventsClient.php', 'Aws\\IoTFleetHub\\Exception\\IoTFleetHubException' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetHub/Exception/IoTFleetHubException.php', 'Aws\\IoTFleetHub\\IoTFleetHubClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetHub/IoTFleetHubClient.php', - 'Aws\\IoTFleetWise\\Exception\\IoTFleetWiseException' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetWise/Exception/IoTFleetWiseException.php', - 'Aws\\IoTFleetWise\\IoTFleetWiseClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTFleetWise/IoTFleetWiseClient.php', 'Aws\\IoTJobsDataPlane\\Exception\\IoTJobsDataPlaneException' => $vendorDir . '/aws/aws-sdk-php/src/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php', 'Aws\\IoTJobsDataPlane\\IoTJobsDataPlaneClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTJobsDataPlane/IoTJobsDataPlaneClient.php', - 'Aws\\IoTManagedIntegrations\\Exception\\IoTManagedIntegrationsException' => $vendorDir . '/aws/aws-sdk-php/src/IoTManagedIntegrations/Exception/IoTManagedIntegrationsException.php', - 'Aws\\IoTManagedIntegrations\\IoTManagedIntegrationsClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTManagedIntegrations/IoTManagedIntegrationsClient.php', 'Aws\\IoTSecureTunneling\\Exception\\IoTSecureTunnelingException' => $vendorDir . '/aws/aws-sdk-php/src/IoTSecureTunneling/Exception/IoTSecureTunnelingException.php', 'Aws\\IoTSecureTunneling\\IoTSecureTunnelingClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTSecureTunneling/IoTSecureTunnelingClient.php', 'Aws\\IoTSiteWise\\Exception\\IoTSiteWiseException' => $vendorDir . '/aws/aws-sdk-php/src/IoTSiteWise/Exception/IoTSiteWiseException.php', 'Aws\\IoTSiteWise\\IoTSiteWiseClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTSiteWise/IoTSiteWiseClient.php', 'Aws\\IoTThingsGraph\\Exception\\IoTThingsGraphException' => $vendorDir . '/aws/aws-sdk-php/src/IoTThingsGraph/Exception/IoTThingsGraphException.php', 'Aws\\IoTThingsGraph\\IoTThingsGraphClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTThingsGraph/IoTThingsGraphClient.php', - 'Aws\\IoTTwinMaker\\Exception\\IoTTwinMakerException' => $vendorDir . '/aws/aws-sdk-php/src/IoTTwinMaker/Exception/IoTTwinMakerException.php', - 'Aws\\IoTTwinMaker\\IoTTwinMakerClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTTwinMaker/IoTTwinMakerClient.php', 'Aws\\IoTWireless\\Exception\\IoTWirelessException' => $vendorDir . '/aws/aws-sdk-php/src/IoTWireless/Exception/IoTWirelessException.php', 'Aws\\IoTWireless\\IoTWirelessClient' => $vendorDir . '/aws/aws-sdk-php/src/IoTWireless/IoTWirelessClient.php', 'Aws\\IotDataPlane\\Exception\\IotDataPlaneException' => $vendorDir . '/aws/aws-sdk-php/src/IotDataPlane/Exception/IotDataPlaneException.php', @@ -691,16 +487,8 @@ 'Aws\\Iot\\Exception\\IotException' => $vendorDir . '/aws/aws-sdk-php/src/Iot/Exception/IotException.php', 'Aws\\Iot\\IotClient' => $vendorDir . '/aws/aws-sdk-php/src/Iot/IotClient.php', 'Aws\\JsonCompiler' => $vendorDir . '/aws/aws-sdk-php/src/JsonCompiler.php', - 'Aws\\KafkaConnect\\Exception\\KafkaConnectException' => $vendorDir . '/aws/aws-sdk-php/src/KafkaConnect/Exception/KafkaConnectException.php', - 'Aws\\KafkaConnect\\KafkaConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/KafkaConnect/KafkaConnectClient.php', 'Aws\\Kafka\\Exception\\KafkaException' => $vendorDir . '/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php', 'Aws\\Kafka\\KafkaClient' => $vendorDir . '/aws/aws-sdk-php/src/Kafka/KafkaClient.php', - 'Aws\\KendraRanking\\Exception\\KendraRankingException' => $vendorDir . '/aws/aws-sdk-php/src/KendraRanking/Exception/KendraRankingException.php', - 'Aws\\KendraRanking\\KendraRankingClient' => $vendorDir . '/aws/aws-sdk-php/src/KendraRanking/KendraRankingClient.php', - 'Aws\\KeyspacesStreams\\Exception\\KeyspacesStreamsException' => $vendorDir . '/aws/aws-sdk-php/src/KeyspacesStreams/Exception/KeyspacesStreamsException.php', - 'Aws\\KeyspacesStreams\\KeyspacesStreamsClient' => $vendorDir . '/aws/aws-sdk-php/src/KeyspacesStreams/KeyspacesStreamsClient.php', - 'Aws\\Keyspaces\\Exception\\KeyspacesException' => $vendorDir . '/aws/aws-sdk-php/src/Keyspaces/Exception/KeyspacesException.php', - 'Aws\\Keyspaces\\KeyspacesClient' => $vendorDir . '/aws/aws-sdk-php/src/Keyspaces/KeyspacesClient.php', 'Aws\\KinesisAnalyticsV2\\Exception\\KinesisAnalyticsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php', 'Aws\\KinesisAnalyticsV2\\KinesisAnalyticsV2Client' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php', 'Aws\\KinesisAnalytics\\Exception\\KinesisAnalyticsException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisAnalytics/Exception/KinesisAnalyticsException.php', @@ -711,8 +499,6 @@ 'Aws\\KinesisVideoMedia\\KinesisVideoMediaClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoMedia/KinesisVideoMediaClient.php', 'Aws\\KinesisVideoSignalingChannels\\Exception\\KinesisVideoSignalingChannelsException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/Exception/KinesisVideoSignalingChannelsException.php', 'Aws\\KinesisVideoSignalingChannels\\KinesisVideoSignalingChannelsClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/KinesisVideoSignalingChannelsClient.php', - 'Aws\\KinesisVideoWebRTCStorage\\Exception\\KinesisVideoWebRTCStorageException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/Exception/KinesisVideoWebRTCStorageException.php', - 'Aws\\KinesisVideoWebRTCStorage\\KinesisVideoWebRTCStorageClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.php', 'Aws\\KinesisVideo\\Exception\\KinesisVideoException' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideo/Exception/KinesisVideoException.php', 'Aws\\KinesisVideo\\KinesisVideoClient' => $vendorDir . '/aws/aws-sdk-php/src/KinesisVideo/KinesisVideoClient.php', 'Aws\\Kinesis\\Exception\\KinesisException' => $vendorDir . '/aws/aws-sdk-php/src/Kinesis/Exception/KinesisException.php', @@ -723,8 +509,6 @@ 'Aws\\LakeFormation\\LakeFormationClient' => $vendorDir . '/aws/aws-sdk-php/src/LakeFormation/LakeFormationClient.php', 'Aws\\Lambda\\Exception\\LambdaException' => $vendorDir . '/aws/aws-sdk-php/src/Lambda/Exception/LambdaException.php', 'Aws\\Lambda\\LambdaClient' => $vendorDir . '/aws/aws-sdk-php/src/Lambda/LambdaClient.php', - 'Aws\\LaunchWizard\\Exception\\LaunchWizardException' => $vendorDir . '/aws/aws-sdk-php/src/LaunchWizard/Exception/LaunchWizardException.php', - 'Aws\\LaunchWizard\\LaunchWizardClient' => $vendorDir . '/aws/aws-sdk-php/src/LaunchWizard/LaunchWizardClient.php', 'Aws\\LexModelBuildingService\\Exception\\LexModelBuildingServiceException' => $vendorDir . '/aws/aws-sdk-php/src/LexModelBuildingService/Exception/LexModelBuildingServiceException.php', 'Aws\\LexModelBuildingService\\LexModelBuildingServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LexModelBuildingService/LexModelBuildingServiceClient.php', 'Aws\\LexModelsV2\\Exception\\LexModelsV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/LexModelsV2/Exception/LexModelsV2Exception.php', @@ -733,29 +517,19 @@ 'Aws\\LexRuntimeService\\LexRuntimeServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeService/LexRuntimeServiceClient.php', 'Aws\\LexRuntimeV2\\Exception\\LexRuntimeV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeV2/Exception/LexRuntimeV2Exception.php', 'Aws\\LexRuntimeV2\\LexRuntimeV2Client' => $vendorDir . '/aws/aws-sdk-php/src/LexRuntimeV2/LexRuntimeV2Client.php', - 'Aws\\LicenseManagerLinuxSubscriptions\\Exception\\LicenseManagerLinuxSubscriptionsException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/Exception/LicenseManagerLinuxSubscriptionsException.php', - 'Aws\\LicenseManagerLinuxSubscriptions\\LicenseManagerLinuxSubscriptionsClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.php', - 'Aws\\LicenseManagerUserSubscriptions\\Exception\\LicenseManagerUserSubscriptionsException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/Exception/LicenseManagerUserSubscriptionsException.php', - 'Aws\\LicenseManagerUserSubscriptions\\LicenseManagerUserSubscriptionsClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.php', 'Aws\\LicenseManager\\Exception\\LicenseManagerException' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php', 'Aws\\LicenseManager\\LicenseManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/LicenseManager/LicenseManagerClient.php', 'Aws\\Lightsail\\Exception\\LightsailException' => $vendorDir . '/aws/aws-sdk-php/src/Lightsail/Exception/LightsailException.php', 'Aws\\Lightsail\\LightsailClient' => $vendorDir . '/aws/aws-sdk-php/src/Lightsail/LightsailClient.php', 'Aws\\LocationService\\Exception\\LocationServiceException' => $vendorDir . '/aws/aws-sdk-php/src/LocationService/Exception/LocationServiceException.php', 'Aws\\LocationService\\LocationServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/LocationService/LocationServiceClient.php', - 'Aws\\LookoutEquipment\\Exception\\LookoutEquipmentException' => $vendorDir . '/aws/aws-sdk-php/src/LookoutEquipment/Exception/LookoutEquipmentException.php', - 'Aws\\LookoutEquipment\\LookoutEquipmentClient' => $vendorDir . '/aws/aws-sdk-php/src/LookoutEquipment/LookoutEquipmentClient.php', 'Aws\\LookoutforVision\\Exception\\LookoutforVisionException' => $vendorDir . '/aws/aws-sdk-php/src/LookoutforVision/Exception/LookoutforVisionException.php', 'Aws\\LookoutforVision\\LookoutforVisionClient' => $vendorDir . '/aws/aws-sdk-php/src/LookoutforVision/LookoutforVisionClient.php', 'Aws\\LruArrayCache' => $vendorDir . '/aws/aws-sdk-php/src/LruArrayCache.php', - 'Aws\\MPA\\Exception\\MPAException' => $vendorDir . '/aws/aws-sdk-php/src/MPA/Exception/MPAException.php', - 'Aws\\MPA\\MPAClient' => $vendorDir . '/aws/aws-sdk-php/src/MPA/MPAClient.php', 'Aws\\MQ\\Exception\\MQException' => $vendorDir . '/aws/aws-sdk-php/src/MQ/Exception/MQException.php', 'Aws\\MQ\\MQClient' => $vendorDir . '/aws/aws-sdk-php/src/MQ/MQClient.php', 'Aws\\MTurk\\Exception\\MTurkException' => $vendorDir . '/aws/aws-sdk-php/src/MTurk/Exception/MTurkException.php', 'Aws\\MTurk\\MTurkClient' => $vendorDir . '/aws/aws-sdk-php/src/MTurk/MTurkClient.php', - 'Aws\\MWAAServerless\\Exception\\MWAAServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/MWAAServerless/Exception/MWAAServerlessException.php', - 'Aws\\MWAAServerless\\MWAAServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/MWAAServerless/MWAAServerlessClient.php', 'Aws\\MWAA\\Exception\\MWAAException' => $vendorDir . '/aws/aws-sdk-php/src/MWAA/Exception/MWAAException.php', 'Aws\\MWAA\\MWAAClient' => $vendorDir . '/aws/aws-sdk-php/src/MWAA/MWAAClient.php', 'Aws\\MachineLearning\\Exception\\MachineLearningException' => $vendorDir . '/aws/aws-sdk-php/src/MachineLearning/Exception/MachineLearningException.php', @@ -764,38 +538,22 @@ 'Aws\\Macie2\\Macie2Client' => $vendorDir . '/aws/aws-sdk-php/src/Macie2/Macie2Client.php', 'Aws\\Macie\\Exception\\MacieException' => $vendorDir . '/aws/aws-sdk-php/src/Macie/Exception/MacieException.php', 'Aws\\Macie\\MacieClient' => $vendorDir . '/aws/aws-sdk-php/src/Macie/MacieClient.php', - 'Aws\\MailManager\\Exception\\MailManagerException' => $vendorDir . '/aws/aws-sdk-php/src/MailManager/Exception/MailManagerException.php', - 'Aws\\MailManager\\MailManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/MailManager/MailManagerClient.php', - 'Aws\\MainframeModernization\\Exception\\MainframeModernizationException' => $vendorDir . '/aws/aws-sdk-php/src/MainframeModernization/Exception/MainframeModernizationException.php', - 'Aws\\MainframeModernization\\MainframeModernizationClient' => $vendorDir . '/aws/aws-sdk-php/src/MainframeModernization/MainframeModernizationClient.php', - 'Aws\\ManagedBlockchainQuery\\Exception\\ManagedBlockchainQueryException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/Exception/ManagedBlockchainQueryException.php', - 'Aws\\ManagedBlockchainQuery\\ManagedBlockchainQueryClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/ManagedBlockchainQueryClient.php', 'Aws\\ManagedBlockchain\\Exception\\ManagedBlockchainException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchain/Exception/ManagedBlockchainException.php', 'Aws\\ManagedBlockchain\\ManagedBlockchainClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedBlockchain/ManagedBlockchainClient.php', - 'Aws\\ManagedGrafana\\Exception\\ManagedGrafanaException' => $vendorDir . '/aws/aws-sdk-php/src/ManagedGrafana/Exception/ManagedGrafanaException.php', - 'Aws\\ManagedGrafana\\ManagedGrafanaClient' => $vendorDir . '/aws/aws-sdk-php/src/ManagedGrafana/ManagedGrafanaClient.php', - 'Aws\\MarketplaceAgreement\\Exception\\MarketplaceAgreementException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceAgreement/Exception/MarketplaceAgreementException.php', - 'Aws\\MarketplaceAgreement\\MarketplaceAgreementClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceAgreement/MarketplaceAgreementClient.php', 'Aws\\MarketplaceCatalog\\Exception\\MarketplaceCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCatalog/Exception/MarketplaceCatalogException.php', 'Aws\\MarketplaceCatalog\\MarketplaceCatalogClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCatalog/MarketplaceCatalogClient.php', 'Aws\\MarketplaceCommerceAnalytics\\Exception\\MarketplaceCommerceAnalyticsException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php', 'Aws\\MarketplaceCommerceAnalytics\\MarketplaceCommerceAnalyticsClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php', - 'Aws\\MarketplaceDeployment\\Exception\\MarketplaceDeploymentException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceDeployment/Exception/MarketplaceDeploymentException.php', - 'Aws\\MarketplaceDeployment\\MarketplaceDeploymentClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceDeployment/MarketplaceDeploymentClient.php', 'Aws\\MarketplaceEntitlementService\\Exception\\MarketplaceEntitlementServiceException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php', 'Aws\\MarketplaceEntitlementService\\MarketplaceEntitlementServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php', 'Aws\\MarketplaceMetering\\Exception\\MarketplaceMeteringException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceMetering/Exception/MarketplaceMeteringException.php', 'Aws\\MarketplaceMetering\\MarketplaceMeteringClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceMetering/MarketplaceMeteringClient.php', - 'Aws\\MarketplaceReporting\\Exception\\MarketplaceReportingException' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceReporting/Exception/MarketplaceReportingException.php', - 'Aws\\MarketplaceReporting\\MarketplaceReportingClient' => $vendorDir . '/aws/aws-sdk-php/src/MarketplaceReporting/MarketplaceReportingClient.php', 'Aws\\MediaConnect\\Exception\\MediaConnectException' => $vendorDir . '/aws/aws-sdk-php/src/MediaConnect/Exception/MediaConnectException.php', 'Aws\\MediaConnect\\MediaConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaConnect/MediaConnectClient.php', 'Aws\\MediaConvert\\Exception\\MediaConvertException' => $vendorDir . '/aws/aws-sdk-php/src/MediaConvert/Exception/MediaConvertException.php', 'Aws\\MediaConvert\\MediaConvertClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaConvert/MediaConvertClient.php', 'Aws\\MediaLive\\Exception\\MediaLiveException' => $vendorDir . '/aws/aws-sdk-php/src/MediaLive/Exception/MediaLiveException.php', 'Aws\\MediaLive\\MediaLiveClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaLive/MediaLiveClient.php', - 'Aws\\MediaPackageV2\\Exception\\MediaPackageV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageV2/Exception/MediaPackageV2Exception.php', - 'Aws\\MediaPackageV2\\MediaPackageV2Client' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageV2/MediaPackageV2Client.php', 'Aws\\MediaPackageVod\\Exception\\MediaPackageVodException' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageVod/Exception/MediaPackageVodException.php', 'Aws\\MediaPackageVod\\MediaPackageVodClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackageVod/MediaPackageVodClient.php', 'Aws\\MediaPackage\\Exception\\MediaPackageException' => $vendorDir . '/aws/aws-sdk-php/src/MediaPackage/Exception/MediaPackageException.php', @@ -806,20 +564,9 @@ 'Aws\\MediaStore\\MediaStoreClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaStore/MediaStoreClient.php', 'Aws\\MediaTailor\\Exception\\MediaTailorException' => $vendorDir . '/aws/aws-sdk-php/src/MediaTailor/Exception/MediaTailorException.php', 'Aws\\MediaTailor\\MediaTailorClient' => $vendorDir . '/aws/aws-sdk-php/src/MediaTailor/MediaTailorClient.php', - 'Aws\\MedicalImaging\\Exception\\MedicalImagingException' => $vendorDir . '/aws/aws-sdk-php/src/MedicalImaging/Exception/MedicalImagingException.php', - 'Aws\\MedicalImaging\\MedicalImagingClient' => $vendorDir . '/aws/aws-sdk-php/src/MedicalImaging/MedicalImagingClient.php', - 'Aws\\MemoryDB\\Exception\\MemoryDBException' => $vendorDir . '/aws/aws-sdk-php/src/MemoryDB/Exception/MemoryDBException.php', - 'Aws\\MemoryDB\\MemoryDBClient' => $vendorDir . '/aws/aws-sdk-php/src/MemoryDB/MemoryDBClient.php', - 'Aws\\MetricsBuilder' => $vendorDir . '/aws/aws-sdk-php/src/MetricsBuilder.php', 'Aws\\Middleware' => $vendorDir . '/aws/aws-sdk-php/src/Middleware.php', 'Aws\\MigrationHubConfig\\Exception\\MigrationHubConfigException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubConfig/Exception/MigrationHubConfigException.php', 'Aws\\MigrationHubConfig\\MigrationHubConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubConfig/MigrationHubConfigClient.php', - 'Aws\\MigrationHubOrchestrator\\Exception\\MigrationHubOrchestratorException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/Exception/MigrationHubOrchestratorException.php', - 'Aws\\MigrationHubOrchestrator\\MigrationHubOrchestratorClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/MigrationHubOrchestratorClient.php', - 'Aws\\MigrationHubRefactorSpaces\\Exception\\MigrationHubRefactorSpacesException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/Exception/MigrationHubRefactorSpacesException.php', - 'Aws\\MigrationHubRefactorSpaces\\MigrationHubRefactorSpacesClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.php', - 'Aws\\MigrationHubStrategyRecommendations\\Exception\\MigrationHubStrategyRecommendationsException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/Exception/MigrationHubStrategyRecommendationsException.php', - 'Aws\\MigrationHubStrategyRecommendations\\MigrationHubStrategyRecommendationsClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/MigrationHubStrategyRecommendationsClient.php', 'Aws\\MigrationHub\\Exception\\MigrationHubException' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHub/Exception/MigrationHubException.php', 'Aws\\MigrationHub\\MigrationHubClient' => $vendorDir . '/aws/aws-sdk-php/src/MigrationHub/MigrationHubClient.php', 'Aws\\Mobile\\Exception\\MobileException' => $vendorDir . '/aws/aws-sdk-php/src/Mobile/Exception/MobileException.php', @@ -830,40 +577,12 @@ 'Aws\\Multipart\\AbstractUploadManager' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/AbstractUploadManager.php', 'Aws\\Multipart\\AbstractUploader' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/AbstractUploader.php', 'Aws\\Multipart\\UploadState' => $vendorDir . '/aws/aws-sdk-php/src/Multipart/UploadState.php', - 'Aws\\NeptuneGraph\\Exception\\NeptuneGraphException' => $vendorDir . '/aws/aws-sdk-php/src/NeptuneGraph/Exception/NeptuneGraphException.php', - 'Aws\\NeptuneGraph\\NeptuneGraphClient' => $vendorDir . '/aws/aws-sdk-php/src/NeptuneGraph/NeptuneGraphClient.php', 'Aws\\Neptune\\Exception\\NeptuneException' => $vendorDir . '/aws/aws-sdk-php/src/Neptune/Exception/NeptuneException.php', 'Aws\\Neptune\\NeptuneClient' => $vendorDir . '/aws/aws-sdk-php/src/Neptune/NeptuneClient.php', - 'Aws\\Neptunedata\\Exception\\NeptunedataException' => $vendorDir . '/aws/aws-sdk-php/src/Neptunedata/Exception/NeptunedataException.php', - 'Aws\\Neptunedata\\NeptunedataClient' => $vendorDir . '/aws/aws-sdk-php/src/Neptunedata/NeptunedataClient.php', 'Aws\\NetworkFirewall\\Exception\\NetworkFirewallException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFirewall/Exception/NetworkFirewallException.php', 'Aws\\NetworkFirewall\\NetworkFirewallClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFirewall/NetworkFirewallClient.php', - 'Aws\\NetworkFlowMonitor\\Exception\\NetworkFlowMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFlowMonitor/Exception/NetworkFlowMonitorException.php', - 'Aws\\NetworkFlowMonitor\\NetworkFlowMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkFlowMonitor/NetworkFlowMonitorClient.php', 'Aws\\NetworkManager\\Exception\\NetworkManagerException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkManager/Exception/NetworkManagerException.php', 'Aws\\NetworkManager\\NetworkManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkManager/NetworkManagerClient.php', - 'Aws\\NetworkMonitor\\Exception\\NetworkMonitorException' => $vendorDir . '/aws/aws-sdk-php/src/NetworkMonitor/Exception/NetworkMonitorException.php', - 'Aws\\NetworkMonitor\\NetworkMonitorClient' => $vendorDir . '/aws/aws-sdk-php/src/NetworkMonitor/NetworkMonitorClient.php', - 'Aws\\NotificationsContacts\\Exception\\NotificationsContactsException' => $vendorDir . '/aws/aws-sdk-php/src/NotificationsContacts/Exception/NotificationsContactsException.php', - 'Aws\\NotificationsContacts\\NotificationsContactsClient' => $vendorDir . '/aws/aws-sdk-php/src/NotificationsContacts/NotificationsContactsClient.php', - 'Aws\\Notifications\\Exception\\NotificationsException' => $vendorDir . '/aws/aws-sdk-php/src/Notifications/Exception/NotificationsException.php', - 'Aws\\Notifications\\NotificationsClient' => $vendorDir . '/aws/aws-sdk-php/src/Notifications/NotificationsClient.php', - 'Aws\\NovaAct\\Exception\\NovaActException' => $vendorDir . '/aws/aws-sdk-php/src/NovaAct/Exception/NovaActException.php', - 'Aws\\NovaAct\\NovaActClient' => $vendorDir . '/aws/aws-sdk-php/src/NovaAct/NovaActClient.php', - 'Aws\\OAM\\Exception\\OAMException' => $vendorDir . '/aws/aws-sdk-php/src/OAM/Exception/OAMException.php', - 'Aws\\OAM\\OAMClient' => $vendorDir . '/aws/aws-sdk-php/src/OAM/OAMClient.php', - 'Aws\\OSIS\\Exception\\OSISException' => $vendorDir . '/aws/aws-sdk-php/src/OSIS/Exception/OSISException.php', - 'Aws\\OSIS\\OSISClient' => $vendorDir . '/aws/aws-sdk-php/src/OSIS/OSISClient.php', - 'Aws\\ObservabilityAdmin\\Exception\\ObservabilityAdminException' => $vendorDir . '/aws/aws-sdk-php/src/ObservabilityAdmin/Exception/ObservabilityAdminException.php', - 'Aws\\ObservabilityAdmin\\ObservabilityAdminClient' => $vendorDir . '/aws/aws-sdk-php/src/ObservabilityAdmin/ObservabilityAdminClient.php', - 'Aws\\Odb\\Exception\\OdbException' => $vendorDir . '/aws/aws-sdk-php/src/Odb/Exception/OdbException.php', - 'Aws\\Odb\\OdbClient' => $vendorDir . '/aws/aws-sdk-php/src/Odb/OdbClient.php', - 'Aws\\Omics\\Exception\\OmicsException' => $vendorDir . '/aws/aws-sdk-php/src/Omics/Exception/OmicsException.php', - 'Aws\\Omics\\OmicsClient' => $vendorDir . '/aws/aws-sdk-php/src/Omics/OmicsClient.php', - 'Aws\\OpenSearchServerless\\Exception\\OpenSearchServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchServerless/Exception/OpenSearchServerlessException.php', - 'Aws\\OpenSearchServerless\\OpenSearchServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchServerless/OpenSearchServerlessClient.php', - 'Aws\\OpenSearchService\\Exception\\OpenSearchServiceException' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchService/Exception/OpenSearchServiceException.php', - 'Aws\\OpenSearchService\\OpenSearchServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/OpenSearchService/OpenSearchServiceClient.php', 'Aws\\OpsWorksCM\\Exception\\OpsWorksCMException' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorksCM/Exception/OpsWorksCMException.php', 'Aws\\OpsWorksCM\\OpsWorksCMClient' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorksCM/OpsWorksCMClient.php', 'Aws\\OpsWorks\\Exception\\OpsWorksException' => $vendorDir . '/aws/aws-sdk-php/src/OpsWorks/Exception/OpsWorksException.php', @@ -872,28 +591,8 @@ 'Aws\\Organizations\\OrganizationsClient' => $vendorDir . '/aws/aws-sdk-php/src/Organizations/OrganizationsClient.php', 'Aws\\Outposts\\Exception\\OutpostsException' => $vendorDir . '/aws/aws-sdk-php/src/Outposts/Exception/OutpostsException.php', 'Aws\\Outposts\\OutpostsClient' => $vendorDir . '/aws/aws-sdk-php/src/Outposts/OutpostsClient.php', - 'Aws\\PCS\\Exception\\PCSException' => $vendorDir . '/aws/aws-sdk-php/src/PCS/Exception/PCSException.php', - 'Aws\\PCS\\PCSClient' => $vendorDir . '/aws/aws-sdk-php/src/PCS/PCSClient.php', 'Aws\\PI\\Exception\\PIException' => $vendorDir . '/aws/aws-sdk-php/src/PI/Exception/PIException.php', 'Aws\\PI\\PIClient' => $vendorDir . '/aws/aws-sdk-php/src/PI/PIClient.php', - 'Aws\\Panorama\\Exception\\PanoramaException' => $vendorDir . '/aws/aws-sdk-php/src/Panorama/Exception/PanoramaException.php', - 'Aws\\Panorama\\PanoramaClient' => $vendorDir . '/aws/aws-sdk-php/src/Panorama/PanoramaClient.php', - 'Aws\\PartnerCentralAccount\\Exception\\PartnerCentralAccountException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralAccount/Exception/PartnerCentralAccountException.php', - 'Aws\\PartnerCentralAccount\\PartnerCentralAccountClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralAccount/PartnerCentralAccountClient.php', - 'Aws\\PartnerCentralBenefits\\Exception\\PartnerCentralBenefitsException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralBenefits/Exception/PartnerCentralBenefitsException.php', - 'Aws\\PartnerCentralBenefits\\PartnerCentralBenefitsClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralBenefits/PartnerCentralBenefitsClient.php', - 'Aws\\PartnerCentralChannel\\Exception\\PartnerCentralChannelException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralChannel/Exception/PartnerCentralChannelException.php', - 'Aws\\PartnerCentralChannel\\PartnerCentralChannelClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralChannel/PartnerCentralChannelClient.php', - 'Aws\\PartnerCentralSelling\\Exception\\PartnerCentralSellingException' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralSelling/Exception/PartnerCentralSellingException.php', - 'Aws\\PartnerCentralSelling\\PartnerCentralSellingClient' => $vendorDir . '/aws/aws-sdk-php/src/PartnerCentralSelling/PartnerCentralSellingClient.php', - 'Aws\\PaymentCryptographyData\\Exception\\PaymentCryptographyDataException' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptographyData/Exception/PaymentCryptographyDataException.php', - 'Aws\\PaymentCryptographyData\\PaymentCryptographyDataClient' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptographyData/PaymentCryptographyDataClient.php', - 'Aws\\PaymentCryptography\\Exception\\PaymentCryptographyException' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptography/Exception/PaymentCryptographyException.php', - 'Aws\\PaymentCryptography\\PaymentCryptographyClient' => $vendorDir . '/aws/aws-sdk-php/src/PaymentCryptography/PaymentCryptographyClient.php', - 'Aws\\PcaConnectorAd\\Exception\\PcaConnectorAdException' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorAd/Exception/PcaConnectorAdException.php', - 'Aws\\PcaConnectorAd\\PcaConnectorAdClient' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorAd/PcaConnectorAdClient.php', - 'Aws\\PcaConnectorScep\\Exception\\PcaConnectorScepException' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorScep/Exception/PcaConnectorScepException.php', - 'Aws\\PcaConnectorScep\\PcaConnectorScepClient' => $vendorDir . '/aws/aws-sdk-php/src/PcaConnectorScep/PcaConnectorScepClient.php', 'Aws\\PersonalizeEvents\\Exception\\PersonalizeEventsException' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeEvents/Exception/PersonalizeEventsException.php', 'Aws\\PersonalizeEvents\\PersonalizeEventsClient' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeEvents/PersonalizeEventsClient.php', 'Aws\\PersonalizeRuntime\\Exception\\PersonalizeRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/PersonalizeRuntime/Exception/PersonalizeRuntimeException.php', @@ -903,14 +602,10 @@ 'Aws\\PhpHash' => $vendorDir . '/aws/aws-sdk-php/src/PhpHash.php', 'Aws\\PinpointEmail\\Exception\\PinpointEmailException' => $vendorDir . '/aws/aws-sdk-php/src/PinpointEmail/Exception/PinpointEmailException.php', 'Aws\\PinpointEmail\\PinpointEmailClient' => $vendorDir . '/aws/aws-sdk-php/src/PinpointEmail/PinpointEmailClient.php', - 'Aws\\PinpointSMSVoiceV2\\Exception\\PinpointSMSVoiceV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/Exception/PinpointSMSVoiceV2Exception.php', - 'Aws\\PinpointSMSVoiceV2\\PinpointSMSVoiceV2Client' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/PinpointSMSVoiceV2Client.php', 'Aws\\PinpointSMSVoice\\Exception\\PinpointSMSVoiceException' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php', 'Aws\\PinpointSMSVoice\\PinpointSMSVoiceClient' => $vendorDir . '/aws/aws-sdk-php/src/PinpointSMSVoice/PinpointSMSVoiceClient.php', 'Aws\\Pinpoint\\Exception\\PinpointException' => $vendorDir . '/aws/aws-sdk-php/src/Pinpoint/Exception/PinpointException.php', 'Aws\\Pinpoint\\PinpointClient' => $vendorDir . '/aws/aws-sdk-php/src/Pinpoint/PinpointClient.php', - 'Aws\\Pipes\\Exception\\PipesException' => $vendorDir . '/aws/aws-sdk-php/src/Pipes/Exception/PipesException.php', - 'Aws\\Pipes\\PipesClient' => $vendorDir . '/aws/aws-sdk-php/src/Pipes/PipesClient.php', 'Aws\\Polly\\Exception\\PollyException' => $vendorDir . '/aws/aws-sdk-php/src/Polly/Exception/PollyException.php', 'Aws\\Polly\\PollyClient' => $vendorDir . '/aws/aws-sdk-php/src/Polly/PollyClient.php', 'Aws\\PresignUrlMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/PresignUrlMiddleware.php', @@ -918,49 +613,27 @@ 'Aws\\Pricing\\PricingClient' => $vendorDir . '/aws/aws-sdk-php/src/Pricing/PricingClient.php', 'Aws\\PrometheusService\\Exception\\PrometheusServiceException' => $vendorDir . '/aws/aws-sdk-php/src/PrometheusService/Exception/PrometheusServiceException.php', 'Aws\\PrometheusService\\PrometheusServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/PrometheusService/PrometheusServiceClient.php', - 'Aws\\Proton\\Exception\\ProtonException' => $vendorDir . '/aws/aws-sdk-php/src/Proton/Exception/ProtonException.php', - 'Aws\\Proton\\ProtonClient' => $vendorDir . '/aws/aws-sdk-php/src/Proton/ProtonClient.php', 'Aws\\Psr16CacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/Psr16CacheAdapter.php', 'Aws\\PsrCacheAdapter' => $vendorDir . '/aws/aws-sdk-php/src/PsrCacheAdapter.php', - 'Aws\\QApps\\Exception\\QAppsException' => $vendorDir . '/aws/aws-sdk-php/src/QApps/Exception/QAppsException.php', - 'Aws\\QApps\\QAppsClient' => $vendorDir . '/aws/aws-sdk-php/src/QApps/QAppsClient.php', - 'Aws\\QBusiness\\Exception\\QBusinessException' => $vendorDir . '/aws/aws-sdk-php/src/QBusiness/Exception/QBusinessException.php', - 'Aws\\QBusiness\\QBusinessClient' => $vendorDir . '/aws/aws-sdk-php/src/QBusiness/QBusinessClient.php', - 'Aws\\QConnect\\Exception\\QConnectException' => $vendorDir . '/aws/aws-sdk-php/src/QConnect/Exception/QConnectException.php', - 'Aws\\QConnect\\QConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/QConnect/QConnectClient.php', 'Aws\\QLDBSession\\Exception\\QLDBSessionException' => $vendorDir . '/aws/aws-sdk-php/src/QLDBSession/Exception/QLDBSessionException.php', 'Aws\\QLDBSession\\QLDBSessionClient' => $vendorDir . '/aws/aws-sdk-php/src/QLDBSession/QLDBSessionClient.php', 'Aws\\QLDB\\Exception\\QLDBException' => $vendorDir . '/aws/aws-sdk-php/src/QLDB/Exception/QLDBException.php', 'Aws\\QLDB\\QLDBClient' => $vendorDir . '/aws/aws-sdk-php/src/QLDB/QLDBClient.php', - 'Aws\\QueryCompatibleInputMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/QueryCompatibleInputMiddleware.php', 'Aws\\QuickSight\\Exception\\QuickSightException' => $vendorDir . '/aws/aws-sdk-php/src/QuickSight/Exception/QuickSightException.php', 'Aws\\QuickSight\\QuickSightClient' => $vendorDir . '/aws/aws-sdk-php/src/QuickSight/QuickSightClient.php', 'Aws\\RAM\\Exception\\RAMException' => $vendorDir . '/aws/aws-sdk-php/src/RAM/Exception/RAMException.php', 'Aws\\RAM\\RAMClient' => $vendorDir . '/aws/aws-sdk-php/src/RAM/RAMClient.php', 'Aws\\RDSDataService\\Exception\\RDSDataServiceException' => $vendorDir . '/aws/aws-sdk-php/src/RDSDataService/Exception/RDSDataServiceException.php', 'Aws\\RDSDataService\\RDSDataServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/RDSDataService/RDSDataServiceClient.php', - 'Aws\\RTBFabric\\Exception\\RTBFabricException' => $vendorDir . '/aws/aws-sdk-php/src/RTBFabric/Exception/RTBFabricException.php', - 'Aws\\RTBFabric\\RTBFabricClient' => $vendorDir . '/aws/aws-sdk-php/src/RTBFabric/RTBFabricClient.php', 'Aws\\Rds\\AuthTokenGenerator' => $vendorDir . '/aws/aws-sdk-php/src/Rds/AuthTokenGenerator.php', 'Aws\\Rds\\Exception\\RdsException' => $vendorDir . '/aws/aws-sdk-php/src/Rds/Exception/RdsException.php', 'Aws\\Rds\\RdsClient' => $vendorDir . '/aws/aws-sdk-php/src/Rds/RdsClient.php', - 'Aws\\RecycleBin\\Exception\\RecycleBinException' => $vendorDir . '/aws/aws-sdk-php/src/RecycleBin/Exception/RecycleBinException.php', - 'Aws\\RecycleBin\\RecycleBinClient' => $vendorDir . '/aws/aws-sdk-php/src/RecycleBin/RecycleBinClient.php', 'Aws\\RedshiftDataAPIService\\Exception\\RedshiftDataAPIServiceException' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftDataAPIService/Exception/RedshiftDataAPIServiceException.php', 'Aws\\RedshiftDataAPIService\\RedshiftDataAPIServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftDataAPIService/RedshiftDataAPIServiceClient.php', - 'Aws\\RedshiftServerless\\Exception\\RedshiftServerlessException' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftServerless/Exception/RedshiftServerlessException.php', - 'Aws\\RedshiftServerless\\RedshiftServerlessClient' => $vendorDir . '/aws/aws-sdk-php/src/RedshiftServerless/RedshiftServerlessClient.php', 'Aws\\Redshift\\Exception\\RedshiftException' => $vendorDir . '/aws/aws-sdk-php/src/Redshift/Exception/RedshiftException.php', 'Aws\\Redshift\\RedshiftClient' => $vendorDir . '/aws/aws-sdk-php/src/Redshift/RedshiftClient.php', 'Aws\\Rekognition\\Exception\\RekognitionException' => $vendorDir . '/aws/aws-sdk-php/src/Rekognition/Exception/RekognitionException.php', 'Aws\\Rekognition\\RekognitionClient' => $vendorDir . '/aws/aws-sdk-php/src/Rekognition/RekognitionClient.php', - 'Aws\\Repostspace\\Exception\\RepostspaceException' => $vendorDir . '/aws/aws-sdk-php/src/Repostspace/Exception/RepostspaceException.php', - 'Aws\\Repostspace\\RepostspaceClient' => $vendorDir . '/aws/aws-sdk-php/src/Repostspace/RepostspaceClient.php', - 'Aws\\RequestCompressionMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/RequestCompressionMiddleware.php', - 'Aws\\ResilienceHub\\Exception\\ResilienceHubException' => $vendorDir . '/aws/aws-sdk-php/src/ResilienceHub/Exception/ResilienceHubException.php', - 'Aws\\ResilienceHub\\ResilienceHubClient' => $vendorDir . '/aws/aws-sdk-php/src/ResilienceHub/ResilienceHubClient.php', - 'Aws\\ResourceExplorer2\\Exception\\ResourceExplorer2Exception' => $vendorDir . '/aws/aws-sdk-php/src/ResourceExplorer2/Exception/ResourceExplorer2Exception.php', - 'Aws\\ResourceExplorer2\\ResourceExplorer2Client' => $vendorDir . '/aws/aws-sdk-php/src/ResourceExplorer2/ResourceExplorer2Client.php', 'Aws\\ResourceGroupsTaggingAPI\\Exception\\ResourceGroupsTaggingAPIException' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php', 'Aws\\ResourceGroupsTaggingAPI\\ResourceGroupsTaggingAPIClient' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php', 'Aws\\ResourceGroups\\Exception\\ResourceGroupsException' => $vendorDir . '/aws/aws-sdk-php/src/ResourceGroups/Exception/ResourceGroupsException.php', @@ -980,20 +653,8 @@ 'Aws\\Retry\\RetryHelperTrait' => $vendorDir . '/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php', 'Aws\\RoboMaker\\Exception\\RoboMakerException' => $vendorDir . '/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php', 'Aws\\RoboMaker\\RoboMakerClient' => $vendorDir . '/aws/aws-sdk-php/src/RoboMaker/RoboMakerClient.php', - 'Aws\\RolesAnywhere\\Exception\\RolesAnywhereException' => $vendorDir . '/aws/aws-sdk-php/src/RolesAnywhere/Exception/RolesAnywhereException.php', - 'Aws\\RolesAnywhere\\RolesAnywhereClient' => $vendorDir . '/aws/aws-sdk-php/src/RolesAnywhere/RolesAnywhereClient.php', 'Aws\\Route53Domains\\Exception\\Route53DomainsException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Domains/Exception/Route53DomainsException.php', 'Aws\\Route53Domains\\Route53DomainsClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Domains/Route53DomainsClient.php', - 'Aws\\Route53GlobalResolver\\Exception\\Route53GlobalResolverException' => $vendorDir . '/aws/aws-sdk-php/src/Route53GlobalResolver/Exception/Route53GlobalResolverException.php', - 'Aws\\Route53GlobalResolver\\Route53GlobalResolverClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53GlobalResolver/Route53GlobalResolverClient.php', - 'Aws\\Route53Profiles\\Exception\\Route53ProfilesException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Profiles/Exception/Route53ProfilesException.php', - 'Aws\\Route53Profiles\\Route53ProfilesClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Profiles/Route53ProfilesClient.php', - 'Aws\\Route53RecoveryCluster\\Exception\\Route53RecoveryClusterException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Exception/Route53RecoveryClusterException.php', - 'Aws\\Route53RecoveryCluster\\Route53RecoveryClusterClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Route53RecoveryClusterClient.php', - 'Aws\\Route53RecoveryControlConfig\\Exception\\Route53RecoveryControlConfigException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Exception/Route53RecoveryControlConfigException.php', - 'Aws\\Route53RecoveryControlConfig\\Route53RecoveryControlConfigClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Route53RecoveryControlConfigClient.php', - 'Aws\\Route53RecoveryReadiness\\Exception\\Route53RecoveryReadinessException' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Exception/Route53RecoveryReadinessException.php', - 'Aws\\Route53RecoveryReadiness\\Route53RecoveryReadinessClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Route53RecoveryReadinessClient.php', 'Aws\\Route53Resolver\\Exception\\Route53ResolverException' => $vendorDir . '/aws/aws-sdk-php/src/Route53Resolver/Exception/Route53ResolverException.php', 'Aws\\Route53Resolver\\Route53ResolverClient' => $vendorDir . '/aws/aws-sdk-php/src/Route53Resolver/Route53ResolverClient.php', 'Aws\\Route53\\Exception\\Route53Exception' => $vendorDir . '/aws/aws-sdk-php/src/Route53/Exception/Route53Exception.php', @@ -1004,44 +665,31 @@ 'Aws\\S3Control\\S3ControlEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php', 'Aws\\S3Outposts\\Exception\\S3OutpostsException' => $vendorDir . '/aws/aws-sdk-php/src/S3Outposts/Exception/S3OutpostsException.php', 'Aws\\S3Outposts\\S3OutpostsClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Outposts/S3OutpostsClient.php', - 'Aws\\S3Tables\\Exception\\S3TablesException' => $vendorDir . '/aws/aws-sdk-php/src/S3Tables/Exception/S3TablesException.php', - 'Aws\\S3Tables\\S3TablesClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Tables/S3TablesClient.php', - 'Aws\\S3Vectors\\Exception\\S3VectorsException' => $vendorDir . '/aws/aws-sdk-php/src/S3Vectors/Exception/S3VectorsException.php', - 'Aws\\S3Vectors\\S3VectorsClient' => $vendorDir . '/aws/aws-sdk-php/src/S3Vectors/S3VectorsClient.php', 'Aws\\S3\\AmbiguousSuccessParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/AmbiguousSuccessParser.php', 'Aws\\S3\\ApplyChecksumMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php', 'Aws\\S3\\BatchDelete' => $vendorDir . '/aws/aws-sdk-php/src/S3/BatchDelete.php', 'Aws\\S3\\BucketEndpointArnMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/BucketEndpointArnMiddleware.php', 'Aws\\S3\\BucketEndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/BucketEndpointMiddleware.php', - 'Aws\\S3\\CalculatesChecksumTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/CalculatesChecksumTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTraitV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV2.php', - 'Aws\\S3\\Crypto\\CryptoParamsTraitV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV3.php', 'Aws\\S3\\Crypto\\HeadersMetadataStrategy' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/HeadersMetadataStrategy.php', 'Aws\\S3\\Crypto\\InstructionFileMetadataStrategy' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/InstructionFileMetadataStrategy.php', 'Aws\\S3\\Crypto\\S3EncryptionClient' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClient.php', 'Aws\\S3\\Crypto\\S3EncryptionClientV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV2.php', - 'Aws\\S3\\Crypto\\S3EncryptionClientV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV3.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploader.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV2' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV2.php', - 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV3' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV3.php', 'Aws\\S3\\Crypto\\UserAgentTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/Crypto/UserAgentTrait.php', 'Aws\\S3\\EndpointRegionHelperTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/EndpointRegionHelperTrait.php', 'Aws\\S3\\Exception\\DeleteMultipleObjectsException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php', 'Aws\\S3\\Exception\\PermanentRedirectException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php', 'Aws\\S3\\Exception\\S3Exception' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/S3Exception.php', 'Aws\\S3\\Exception\\S3MultipartUploadException' => $vendorDir . '/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php', - 'Aws\\S3\\ExpiresParsingMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php', 'Aws\\S3\\GetBucketLocationParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/GetBucketLocationParser.php', 'Aws\\S3\\MultipartCopy' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartCopy.php', 'Aws\\S3\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartUploader.php', 'Aws\\S3\\MultipartUploadingTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/MultipartUploadingTrait.php', 'Aws\\S3\\ObjectCopier' => $vendorDir . '/aws/aws-sdk-php/src/S3/ObjectCopier.php', 'Aws\\S3\\ObjectUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/ObjectUploader.php', - 'Aws\\S3\\Parser\\GetBucketLocationResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/GetBucketLocationResultMutator.php', - 'Aws\\S3\\Parser\\S3Parser' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/S3Parser.php', - 'Aws\\S3\\Parser\\S3ResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/S3ResultMutator.php', - 'Aws\\S3\\Parser\\ValidateResponseChecksumResultMutator' => $vendorDir . '/aws/aws-sdk-php/src/S3/Parser/ValidateResponseChecksumResultMutator.php', 'Aws\\S3\\PermanentRedirectMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php', 'Aws\\S3\\PostObject' => $vendorDir . '/aws/aws-sdk-php/src/S3/PostObject.php', 'Aws\\S3\\PostObjectV4' => $vendorDir . '/aws/aws-sdk-php/src/S3/PostObjectV4.php', @@ -1056,43 +704,6 @@ 'Aws\\S3\\S3ClientTrait' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3ClientTrait.php', 'Aws\\S3\\S3EndpointMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3EndpointMiddleware.php', 'Aws\\S3\\S3MultiRegionClient' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php', - 'Aws\\S3\\S3Transfer\\AbstractMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\AbstractMultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartUploader.php', - 'Aws\\S3\\S3Transfer\\Exception\\FileDownloadException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/FileDownloadException.php', - 'Aws\\S3\\S3Transfer\\Exception\\ProgressTrackerException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/ProgressTrackerException.php', - 'Aws\\S3\\S3Transfer\\Exception\\S3TransferException' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/S3TransferException.php', - 'Aws\\S3\\S3Transfer\\Models\\AbstractTransferRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/AbstractTransferRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryResult.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadFileRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadFileRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadResult.php', - 'Aws\\S3\\S3Transfer\\Models\\S3TransferManagerConfig' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/S3TransferManagerConfig.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryResult.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadRequest' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadResult' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadResult.php', - 'Aws\\S3\\S3Transfer\\MultipartUploader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/MultipartUploader.php', - 'Aws\\S3\\S3Transfer\\PartGetMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/PartGetMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\Progress\\AbstractProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\AbstractTransferListener' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractTransferListener.php', - 'Aws\\S3\\S3Transfer\\Progress\\ColoredTransferProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ColoredTransferProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\ConsoleProgressBar' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ConsoleProgressBar.php', - 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressTracker' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressTracker.php', - 'Aws\\S3\\S3Transfer\\Progress\\PlainProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/PlainProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarFactoryInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarFactoryInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressTrackerInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressTrackerInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\SingleProgressTracker' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/SingleProgressTracker.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferListenerNotifier' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferListenerNotifier.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressBarFormat' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressSnapshot' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressSnapshot.php', - 'Aws\\S3\\S3Transfer\\RangeGetMultipartDownloader' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/RangeGetMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\S3TransferManager' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/S3TransferManager.php', - 'Aws\\S3\\S3Transfer\\Utils\\AbstractDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/AbstractDownloadHandler.php', - 'Aws\\S3\\S3Transfer\\Utils\\FileDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/FileDownloadHandler.php', - 'Aws\\S3\\S3Transfer\\Utils\\StreamDownloadHandler' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/StreamDownloadHandler.php', 'Aws\\S3\\S3UriParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/S3UriParser.php', 'Aws\\S3\\SSECMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/S3/SSECMiddleware.php', 'Aws\\S3\\StreamWrapper' => $vendorDir . '/aws/aws-sdk-php/src/S3/StreamWrapper.php', @@ -1101,15 +712,6 @@ 'Aws\\S3\\UseArnRegion\\ConfigurationInterface' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationInterface.php', 'Aws\\S3\\UseArnRegion\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationProvider.php', 'Aws\\S3\\UseArnRegion\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/S3/UseArnRegion/Exception/ConfigurationException.php', - 'Aws\\S3\\ValidateResponseChecksumParser' => $vendorDir . '/aws/aws-sdk-php/src/S3/ValidateResponseChecksumParser.php', - 'Aws\\SSMContacts\\Exception\\SSMContactsException' => $vendorDir . '/aws/aws-sdk-php/src/SSMContacts/Exception/SSMContactsException.php', - 'Aws\\SSMContacts\\SSMContactsClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMContacts/SSMContactsClient.php', - 'Aws\\SSMGuiConnect\\Exception\\SSMGuiConnectException' => $vendorDir . '/aws/aws-sdk-php/src/SSMGuiConnect/Exception/SSMGuiConnectException.php', - 'Aws\\SSMGuiConnect\\SSMGuiConnectClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMGuiConnect/SSMGuiConnectClient.php', - 'Aws\\SSMIncidents\\Exception\\SSMIncidentsException' => $vendorDir . '/aws/aws-sdk-php/src/SSMIncidents/Exception/SSMIncidentsException.php', - 'Aws\\SSMIncidents\\SSMIncidentsClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMIncidents/SSMIncidentsClient.php', - 'Aws\\SSMQuickSetup\\Exception\\SSMQuickSetupException' => $vendorDir . '/aws/aws-sdk-php/src/SSMQuickSetup/Exception/SSMQuickSetupException.php', - 'Aws\\SSMQuickSetup\\SSMQuickSetupClient' => $vendorDir . '/aws/aws-sdk-php/src/SSMQuickSetup/SSMQuickSetupClient.php', 'Aws\\SSOAdmin\\Exception\\SSOAdminException' => $vendorDir . '/aws/aws-sdk-php/src/SSOAdmin/Exception/SSOAdminException.php', 'Aws\\SSOAdmin\\SSOAdminClient' => $vendorDir . '/aws/aws-sdk-php/src/SSOAdmin/SSOAdminClient.php', 'Aws\\SSOOIDC\\Exception\\SSOOIDCException' => $vendorDir . '/aws/aws-sdk-php/src/SSOOIDC/Exception/SSOOIDCException.php', @@ -1118,10 +720,6 @@ 'Aws\\SSO\\SSOClient' => $vendorDir . '/aws/aws-sdk-php/src/SSO/SSOClient.php', 'Aws\\SageMakerFeatureStoreRuntime\\Exception\\SageMakerFeatureStoreRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/Exception/SageMakerFeatureStoreRuntimeException.php', 'Aws\\SageMakerFeatureStoreRuntime\\SageMakerFeatureStoreRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.php', - 'Aws\\SageMakerGeospatial\\Exception\\SageMakerGeospatialException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerGeospatial/Exception/SageMakerGeospatialException.php', - 'Aws\\SageMakerGeospatial\\SageMakerGeospatialClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerGeospatial/SageMakerGeospatialClient.php', - 'Aws\\SageMakerMetrics\\Exception\\SageMakerMetricsException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerMetrics/Exception/SageMakerMetricsException.php', - 'Aws\\SageMakerMetrics\\SageMakerMetricsClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerMetrics/SageMakerMetricsClient.php', 'Aws\\SageMakerRuntime\\Exception\\SageMakerRuntimeException' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerRuntime/Exception/SageMakerRuntimeException.php', 'Aws\\SageMakerRuntime\\SageMakerRuntimeClient' => $vendorDir . '/aws/aws-sdk-php/src/SageMakerRuntime/SageMakerRuntimeClient.php', 'Aws\\SageMaker\\Exception\\SageMakerException' => $vendorDir . '/aws/aws-sdk-php/src/SageMaker/Exception/SageMakerException.php', @@ -1130,20 +728,13 @@ 'Aws\\SagemakerEdgeManager\\SagemakerEdgeManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/SagemakerEdgeManager/SagemakerEdgeManagerClient.php', 'Aws\\SavingsPlans\\Exception\\SavingsPlansException' => $vendorDir . '/aws/aws-sdk-php/src/SavingsPlans/Exception/SavingsPlansException.php', 'Aws\\SavingsPlans\\SavingsPlansClient' => $vendorDir . '/aws/aws-sdk-php/src/SavingsPlans/SavingsPlansClient.php', - 'Aws\\Scheduler\\Exception\\SchedulerException' => $vendorDir . '/aws/aws-sdk-php/src/Scheduler/Exception/SchedulerException.php', - 'Aws\\Scheduler\\SchedulerClient' => $vendorDir . '/aws/aws-sdk-php/src/Scheduler/SchedulerClient.php', 'Aws\\Schemas\\Exception\\SchemasException' => $vendorDir . '/aws/aws-sdk-php/src/Schemas/Exception/SchemasException.php', 'Aws\\Schemas\\SchemasClient' => $vendorDir . '/aws/aws-sdk-php/src/Schemas/SchemasClient.php', - 'Aws\\Script\\Composer\\Composer' => $vendorDir . '/aws/aws-sdk-php/src/Script/Composer/Composer.php', 'Aws\\Sdk' => $vendorDir . '/aws/aws-sdk-php/src/Sdk.php', 'Aws\\SecretsManager\\Exception\\SecretsManagerException' => $vendorDir . '/aws/aws-sdk-php/src/SecretsManager/Exception/SecretsManagerException.php', 'Aws\\SecretsManager\\SecretsManagerClient' => $vendorDir . '/aws/aws-sdk-php/src/SecretsManager/SecretsManagerClient.php', 'Aws\\SecurityHub\\Exception\\SecurityHubException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php', 'Aws\\SecurityHub\\SecurityHubClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityHub/SecurityHubClient.php', - 'Aws\\SecurityIR\\Exception\\SecurityIRException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityIR/Exception/SecurityIRException.php', - 'Aws\\SecurityIR\\SecurityIRClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityIR/SecurityIRClient.php', - 'Aws\\SecurityLake\\Exception\\SecurityLakeException' => $vendorDir . '/aws/aws-sdk-php/src/SecurityLake/Exception/SecurityLakeException.php', - 'Aws\\SecurityLake\\SecurityLakeClient' => $vendorDir . '/aws/aws-sdk-php/src/SecurityLake/SecurityLakeClient.php', 'Aws\\ServerlessApplicationRepository\\Exception\\ServerlessApplicationRepositoryException' => $vendorDir . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php', 'Aws\\ServerlessApplicationRepository\\ServerlessApplicationRepositoryClient' => $vendorDir . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php', 'Aws\\ServiceCatalog\\Exception\\ServiceCatalogException' => $vendorDir . '/aws/aws-sdk-php/src/ServiceCatalog/Exception/ServiceCatalogException.php', @@ -1161,31 +752,19 @@ 'Aws\\Shield\\Exception\\ShieldException' => $vendorDir . '/aws/aws-sdk-php/src/Shield/Exception/ShieldException.php', 'Aws\\Shield\\ShieldClient' => $vendorDir . '/aws/aws-sdk-php/src/Shield/ShieldClient.php', 'Aws\\Signature\\AnonymousSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/AnonymousSignature.php', - 'Aws\\Signature\\DpopSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/DpopSignature.php', - 'Aws\\Signature\\S3ExpressSignature' => $vendorDir . '/aws/aws-sdk-php/src/Signature/S3ExpressSignature.php', 'Aws\\Signature\\S3SignatureV4' => $vendorDir . '/aws/aws-sdk-php/src/Signature/S3SignatureV4.php', 'Aws\\Signature\\SignatureInterface' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureInterface.php', 'Aws\\Signature\\SignatureProvider' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureProvider.php', 'Aws\\Signature\\SignatureTrait' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureTrait.php', 'Aws\\Signature\\SignatureV4' => $vendorDir . '/aws/aws-sdk-php/src/Signature/SignatureV4.php', - 'Aws\\Signin\\Exception\\SigninException' => $vendorDir . '/aws/aws-sdk-php/src/Signin/Exception/SigninException.php', - 'Aws\\Signin\\SigninClient' => $vendorDir . '/aws/aws-sdk-php/src/Signin/SigninClient.php', - 'Aws\\SimSpaceWeaver\\Exception\\SimSpaceWeaverException' => $vendorDir . '/aws/aws-sdk-php/src/SimSpaceWeaver/Exception/SimSpaceWeaverException.php', - 'Aws\\SimSpaceWeaver\\SimSpaceWeaverClient' => $vendorDir . '/aws/aws-sdk-php/src/SimSpaceWeaver/SimSpaceWeaverClient.php', 'Aws\\Sms\\Exception\\SmsException' => $vendorDir . '/aws/aws-sdk-php/src/Sms/Exception/SmsException.php', 'Aws\\Sms\\SmsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sms/SmsClient.php', 'Aws\\SnowBall\\Exception\\SnowBallException' => $vendorDir . '/aws/aws-sdk-php/src/SnowBall/Exception/SnowBallException.php', 'Aws\\SnowBall\\SnowBallClient' => $vendorDir . '/aws/aws-sdk-php/src/SnowBall/SnowBallClient.php', - 'Aws\\SnowDeviceManagement\\Exception\\SnowDeviceManagementException' => $vendorDir . '/aws/aws-sdk-php/src/SnowDeviceManagement/Exception/SnowDeviceManagementException.php', - 'Aws\\SnowDeviceManagement\\SnowDeviceManagementClient' => $vendorDir . '/aws/aws-sdk-php/src/SnowDeviceManagement/SnowDeviceManagementClient.php', 'Aws\\Sns\\Exception\\SnsException' => $vendorDir . '/aws/aws-sdk-php/src/Sns/Exception/SnsException.php', 'Aws\\Sns\\SnsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sns/SnsClient.php', - 'Aws\\SocialMessaging\\Exception\\SocialMessagingException' => $vendorDir . '/aws/aws-sdk-php/src/SocialMessaging/Exception/SocialMessagingException.php', - 'Aws\\SocialMessaging\\SocialMessagingClient' => $vendorDir . '/aws/aws-sdk-php/src/SocialMessaging/SocialMessagingClient.php', 'Aws\\Sqs\\Exception\\SqsException' => $vendorDir . '/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php', 'Aws\\Sqs\\SqsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sqs/SqsClient.php', - 'Aws\\SsmSap\\Exception\\SsmSapException' => $vendorDir . '/aws/aws-sdk-php/src/SsmSap/Exception/SsmSapException.php', - 'Aws\\SsmSap\\SsmSapClient' => $vendorDir . '/aws/aws-sdk-php/src/SsmSap/SsmSapClient.php', 'Aws\\Ssm\\Exception\\SsmException' => $vendorDir . '/aws/aws-sdk-php/src/Ssm/Exception/SsmException.php', 'Aws\\Ssm\\SsmClient' => $vendorDir . '/aws/aws-sdk-php/src/Ssm/SsmClient.php', 'Aws\\StorageGateway\\Exception\\StorageGatewayException' => $vendorDir . '/aws/aws-sdk-php/src/StorageGateway/Exception/StorageGatewayException.php', @@ -1197,39 +776,18 @@ 'Aws\\Sts\\RegionalEndpoints\\ConfigurationProvider' => $vendorDir . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/ConfigurationProvider.php', 'Aws\\Sts\\RegionalEndpoints\\Exception\\ConfigurationException' => $vendorDir . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/Exception/ConfigurationException.php', 'Aws\\Sts\\StsClient' => $vendorDir . '/aws/aws-sdk-php/src/Sts/StsClient.php', - 'Aws\\SupplyChain\\Exception\\SupplyChainException' => $vendorDir . '/aws/aws-sdk-php/src/SupplyChain/Exception/SupplyChainException.php', - 'Aws\\SupplyChain\\SupplyChainClient' => $vendorDir . '/aws/aws-sdk-php/src/SupplyChain/SupplyChainClient.php', - 'Aws\\SupportApp\\Exception\\SupportAppException' => $vendorDir . '/aws/aws-sdk-php/src/SupportApp/Exception/SupportAppException.php', - 'Aws\\SupportApp\\SupportAppClient' => $vendorDir . '/aws/aws-sdk-php/src/SupportApp/SupportAppClient.php', 'Aws\\Support\\Exception\\SupportException' => $vendorDir . '/aws/aws-sdk-php/src/Support/Exception/SupportException.php', 'Aws\\Support\\SupportClient' => $vendorDir . '/aws/aws-sdk-php/src/Support/SupportClient.php', 'Aws\\Swf\\Exception\\SwfException' => $vendorDir . '/aws/aws-sdk-php/src/Swf/Exception/SwfException.php', 'Aws\\Swf\\SwfClient' => $vendorDir . '/aws/aws-sdk-php/src/Swf/SwfClient.php', 'Aws\\Synthetics\\Exception\\SyntheticsException' => $vendorDir . '/aws/aws-sdk-php/src/Synthetics/Exception/SyntheticsException.php', 'Aws\\Synthetics\\SyntheticsClient' => $vendorDir . '/aws/aws-sdk-php/src/Synthetics/SyntheticsClient.php', - 'Aws\\TaxSettings\\Exception\\TaxSettingsException' => $vendorDir . '/aws/aws-sdk-php/src/TaxSettings/Exception/TaxSettingsException.php', - 'Aws\\TaxSettings\\TaxSettingsClient' => $vendorDir . '/aws/aws-sdk-php/src/TaxSettings/TaxSettingsClient.php', 'Aws\\Textract\\Exception\\TextractException' => $vendorDir . '/aws/aws-sdk-php/src/Textract/Exception/TextractException.php', 'Aws\\Textract\\TextractClient' => $vendorDir . '/aws/aws-sdk-php/src/Textract/TextractClient.php', - 'Aws\\TimestreamInfluxDB\\Exception\\TimestreamInfluxDBException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamInfluxDB/Exception/TimestreamInfluxDBException.php', - 'Aws\\TimestreamInfluxDB\\TimestreamInfluxDBClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamInfluxDB/TimestreamInfluxDBClient.php', 'Aws\\TimestreamQuery\\Exception\\TimestreamQueryException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamQuery/Exception/TimestreamQueryException.php', 'Aws\\TimestreamQuery\\TimestreamQueryClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamQuery/TimestreamQueryClient.php', 'Aws\\TimestreamWrite\\Exception\\TimestreamWriteException' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamWrite/Exception/TimestreamWriteException.php', 'Aws\\TimestreamWrite\\TimestreamWriteClient' => $vendorDir . '/aws/aws-sdk-php/src/TimestreamWrite/TimestreamWriteClient.php', - 'Aws\\Tnb\\Exception\\TnbException' => $vendorDir . '/aws/aws-sdk-php/src/Tnb/Exception/TnbException.php', - 'Aws\\Tnb\\TnbClient' => $vendorDir . '/aws/aws-sdk-php/src/Tnb/TnbClient.php', - 'Aws\\Token\\BearerTokenAuthorization' => $vendorDir . '/aws/aws-sdk-php/src/Token/BearerTokenAuthorization.php', - 'Aws\\Token\\BedrockTokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/BedrockTokenProvider.php', - 'Aws\\Token\\ParsesIniTrait' => $vendorDir . '/aws/aws-sdk-php/src/Token/ParsesIniTrait.php', - 'Aws\\Token\\RefreshableTokenProviderInterface' => $vendorDir . '/aws/aws-sdk-php/src/Token/RefreshableTokenProviderInterface.php', - 'Aws\\Token\\SsoToken' => $vendorDir . '/aws/aws-sdk-php/src/Token/SsoToken.php', - 'Aws\\Token\\SsoTokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/SsoTokenProvider.php', - 'Aws\\Token\\Token' => $vendorDir . '/aws/aws-sdk-php/src/Token/Token.php', - 'Aws\\Token\\TokenAuthorization' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenAuthorization.php', - 'Aws\\Token\\TokenInterface' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenInterface.php', - 'Aws\\Token\\TokenProvider' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenProvider.php', - 'Aws\\Token\\TokenSource' => $vendorDir . '/aws/aws-sdk-php/src/Token/TokenSource.php', 'Aws\\TraceMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/TraceMiddleware.php', 'Aws\\TranscribeService\\Exception\\TranscribeServiceException' => $vendorDir . '/aws/aws-sdk-php/src/TranscribeService/Exception/TranscribeServiceException.php', 'Aws\\TranscribeService\\TranscribeServiceClient' => $vendorDir . '/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php', @@ -1237,15 +795,6 @@ 'Aws\\Transfer\\TransferClient' => $vendorDir . '/aws/aws-sdk-php/src/Transfer/TransferClient.php', 'Aws\\Translate\\Exception\\TranslateException' => $vendorDir . '/aws/aws-sdk-php/src/Translate/Exception/TranslateException.php', 'Aws\\Translate\\TranslateClient' => $vendorDir . '/aws/aws-sdk-php/src/Translate/TranslateClient.php', - 'Aws\\TrustedAdvisor\\Exception\\TrustedAdvisorException' => $vendorDir . '/aws/aws-sdk-php/src/TrustedAdvisor/Exception/TrustedAdvisorException.php', - 'Aws\\TrustedAdvisor\\TrustedAdvisorClient' => $vendorDir . '/aws/aws-sdk-php/src/TrustedAdvisor/TrustedAdvisorClient.php', - 'Aws\\UserAgentMiddleware' => $vendorDir . '/aws/aws-sdk-php/src/UserAgentMiddleware.php', - 'Aws\\VPCLattice\\Exception\\VPCLatticeException' => $vendorDir . '/aws/aws-sdk-php/src/VPCLattice/Exception/VPCLatticeException.php', - 'Aws\\VPCLattice\\VPCLatticeClient' => $vendorDir . '/aws/aws-sdk-php/src/VPCLattice/VPCLatticeClient.php', - 'Aws\\VerifiedPermissions\\Exception\\VerifiedPermissionsException' => $vendorDir . '/aws/aws-sdk-php/src/VerifiedPermissions/Exception/VerifiedPermissionsException.php', - 'Aws\\VerifiedPermissions\\VerifiedPermissionsClient' => $vendorDir . '/aws/aws-sdk-php/src/VerifiedPermissions/VerifiedPermissionsClient.php', - 'Aws\\VoiceID\\Exception\\VoiceIDException' => $vendorDir . '/aws/aws-sdk-php/src/VoiceID/Exception/VoiceIDException.php', - 'Aws\\VoiceID\\VoiceIDClient' => $vendorDir . '/aws/aws-sdk-php/src/VoiceID/VoiceIDClient.php', 'Aws\\WAFV2\\Exception\\WAFV2Exception' => $vendorDir . '/aws/aws-sdk-php/src/WAFV2/Exception/WAFV2Exception.php', 'Aws\\WAFV2\\WAFV2Client' => $vendorDir . '/aws/aws-sdk-php/src/WAFV2/WAFV2Client.php', 'Aws\\WafRegional\\Exception\\WafRegionalException' => $vendorDir . '/aws/aws-sdk-php/src/WafRegional/Exception/WafRegionalException.php', @@ -1255,8 +804,6 @@ 'Aws\\Waiter' => $vendorDir . '/aws/aws-sdk-php/src/Waiter.php', 'Aws\\WellArchitected\\Exception\\WellArchitectedException' => $vendorDir . '/aws/aws-sdk-php/src/WellArchitected/Exception/WellArchitectedException.php', 'Aws\\WellArchitected\\WellArchitectedClient' => $vendorDir . '/aws/aws-sdk-php/src/WellArchitected/WellArchitectedClient.php', - 'Aws\\Wickr\\Exception\\WickrException' => $vendorDir . '/aws/aws-sdk-php/src/Wickr/Exception/WickrException.php', - 'Aws\\Wickr\\WickrClient' => $vendorDir . '/aws/aws-sdk-php/src/Wickr/WickrClient.php', 'Aws\\WorkDocs\\Exception\\WorkDocsException' => $vendorDir . '/aws/aws-sdk-php/src/WorkDocs/Exception/WorkDocsException.php', 'Aws\\WorkDocs\\WorkDocsClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php', 'Aws\\WorkLink\\Exception\\WorkLinkException' => $vendorDir . '/aws/aws-sdk-php/src/WorkLink/Exception/WorkLinkException.php', @@ -1265,29 +812,15 @@ 'Aws\\WorkMailMessageFlow\\WorkMailMessageFlowClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkMailMessageFlow/WorkMailMessageFlowClient.php', 'Aws\\WorkMail\\Exception\\WorkMailException' => $vendorDir . '/aws/aws-sdk-php/src/WorkMail/Exception/WorkMailException.php', 'Aws\\WorkMail\\WorkMailClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkMail/WorkMailClient.php', - 'Aws\\WorkSpacesThinClient\\Exception\\WorkSpacesThinClientException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesThinClient/Exception/WorkSpacesThinClientException.php', - 'Aws\\WorkSpacesThinClient\\WorkSpacesThinClientClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesThinClient/WorkSpacesThinClientClient.php', - 'Aws\\WorkSpacesWeb\\Exception\\WorkSpacesWebException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesWeb/Exception/WorkSpacesWebException.php', - 'Aws\\WorkSpacesWeb\\WorkSpacesWebClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpacesWeb/WorkSpacesWebClient.php', 'Aws\\WorkSpaces\\Exception\\WorkSpacesException' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpaces/Exception/WorkSpacesException.php', 'Aws\\WorkSpaces\\WorkSpacesClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php', - 'Aws\\WorkspacesInstances\\Exception\\WorkspacesInstancesException' => $vendorDir . '/aws/aws-sdk-php/src/WorkspacesInstances/Exception/WorkspacesInstancesException.php', - 'Aws\\WorkspacesInstances\\WorkspacesInstancesClient' => $vendorDir . '/aws/aws-sdk-php/src/WorkspacesInstances/WorkspacesInstancesClient.php', 'Aws\\WrappedHttpHandler' => $vendorDir . '/aws/aws-sdk-php/src/WrappedHttpHandler.php', 'Aws\\XRay\\Exception\\XRayException' => $vendorDir . '/aws/aws-sdk-php/src/XRay/Exception/XRayException.php', 'Aws\\XRay\\XRayClient' => $vendorDir . '/aws/aws-sdk-php/src/XRay/XRayClient.php', - 'Aws\\drs\\Exception\\drsException' => $vendorDir . '/aws/aws-sdk-php/src/drs/Exception/drsException.php', - 'Aws\\drs\\drsClient' => $vendorDir . '/aws/aws-sdk-php/src/drs/drsClient.php', - 'Aws\\finspace\\Exception\\finspaceException' => $vendorDir . '/aws/aws-sdk-php/src/finspace/Exception/finspaceException.php', - 'Aws\\finspace\\finspaceClient' => $vendorDir . '/aws/aws-sdk-php/src/finspace/finspaceClient.php', 'Aws\\imagebuilder\\Exception\\imagebuilderException' => $vendorDir . '/aws/aws-sdk-php/src/imagebuilder/Exception/imagebuilderException.php', 'Aws\\imagebuilder\\imagebuilderClient' => $vendorDir . '/aws/aws-sdk-php/src/imagebuilder/imagebuilderClient.php', - 'Aws\\ivschat\\Exception\\ivschatException' => $vendorDir . '/aws/aws-sdk-php/src/ivschat/Exception/ivschatException.php', - 'Aws\\ivschat\\ivschatClient' => $vendorDir . '/aws/aws-sdk-php/src/ivschat/ivschatClient.php', 'Aws\\kendra\\Exception\\kendraException' => $vendorDir . '/aws/aws-sdk-php/src/kendra/Exception/kendraException.php', 'Aws\\kendra\\kendraClient' => $vendorDir . '/aws/aws-sdk-php/src/kendra/kendraClient.php', - 'Aws\\mgn\\Exception\\mgnException' => $vendorDir . '/aws/aws-sdk-php/src/mgn/Exception/mgnException.php', - 'Aws\\mgn\\mgnClient' => $vendorDir . '/aws/aws-sdk-php/src/mgn/mgnClient.php', 'Aws\\signer\\Exception\\signerException' => $vendorDir . '/aws/aws-sdk-php/src/signer/Exception/signerException.php', 'Aws\\signer\\signerClient' => $vendorDir . '/aws/aws-sdk-php/src/signer/signerClient.php', 'BestellungPDF' => $baseDir . '/www/lib/dokumente/class.bestellung.php', @@ -1365,11 +898,8 @@ 'Geschaeftsbrief' => $baseDir . '/www/lib/dokumente/class.geschaeftsbrief.php', 'GroupTable' => $baseDir . '/phpwf/widgets/grouptable.php', 'GutschriftPDF' => $baseDir . '/www/lib/dokumente/class.gutschrift.php', - 'GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php', - 'GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php', 'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php', - 'GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php', 'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -1391,12 +921,10 @@ 'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', - 'GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php', 'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php', - 'GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php', 'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php', 'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -1420,10 +948,8 @@ 'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php', 'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php', 'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php', - 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php', 'GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php', - 'GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php', 'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php', 'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php', 'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php', @@ -2132,10 +1658,8 @@ 'ObjectAPI' => $baseDir . '/phpwf/plugins/class.objectapi.php', 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', 'PDF_EPS' => $baseDir . '/www/lib/pdf/fpdf_final.php', - 'PHPMailer\\PHPMailer\\DSNConfigurator' => $vendorDir . '/phpmailer/phpmailer/src/DSNConfigurator.php', 'PHPMailer\\PHPMailer\\Exception' => $vendorDir . '/phpmailer/phpmailer/src/Exception.php', 'PHPMailer\\PHPMailer\\OAuth' => $vendorDir . '/phpmailer/phpmailer/src/OAuth.php', - 'PHPMailer\\PHPMailer\\OAuthTokenProvider' => $vendorDir . '/phpmailer/phpmailer/src/OAuthTokenProvider.php', 'PHPMailer\\PHPMailer\\PHPMailer' => $vendorDir . '/phpmailer/phpmailer/src/PHPMailer.php', 'PHPMailer\\PHPMailer\\POP3' => $vendorDir . '/phpmailer/phpmailer/src/POP3.php', 'PHPMailer\\PHPMailer\\SMTP' => $vendorDir . '/phpmailer/phpmailer/src/SMTP.php', diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index adb873a96..00d985aef 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit0c49a81c1214ef2f7493c6ce921b17ee +class ComposerAutoloaderInit79eff8c373a8f453cf73098a3a8ce631 { private static $loader; @@ -24,16 +24,16 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit0c49a81c1214ef2f7493c6ce921b17ee', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit79eff8c373a8f453cf73098a3a8ce631', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit0c49a81c1214ef2f7493c6ce921b17ee', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit79eff8c373a8f453cf73098a3a8ce631', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::getInitializer($loader)); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 413900072..90af1651a 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee +class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 { public static $files = array ( '383eaff206634a77a1be54e64e6459c7' => __DIR__ . '/..' . '/sabre/uri/lib/functions.php', @@ -358,25 +358,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aura\\SqlQuery\\Sqlsrv\\Update' => __DIR__ . '/..' . '/aura/sqlquery/src/Sqlsrv/Update.php', 'Aws\\ACMPCA\\ACMPCAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php', 'Aws\\ACMPCA\\Exception\\ACMPCAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php', - 'Aws\\AIOps\\AIOpsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AIOps/AIOpsClient.php', - 'Aws\\AIOps\\Exception\\AIOpsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AIOps/Exception/AIOpsException.php', - 'Aws\\ARCRegionSwitch\\ARCRegionSwitchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCRegionSwitch/ARCRegionSwitchClient.php', - 'Aws\\ARCRegionSwitch\\Exception\\ARCRegionSwitchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCRegionSwitch/Exception/ARCRegionSwitchException.php', - 'Aws\\ARCZonalShift\\ARCZonalShiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCZonalShift/ARCZonalShiftClient.php', - 'Aws\\ARCZonalShift\\Exception\\ARCZonalShiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ARCZonalShift/Exception/ARCZonalShiftException.php', 'Aws\\AbstractConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AbstractConfigurationProvider.php', 'Aws\\AccessAnalyzer\\AccessAnalyzerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php', 'Aws\\AccessAnalyzer\\Exception\\AccessAnalyzerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php', - 'Aws\\Account\\AccountClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Account/AccountClient.php', - 'Aws\\Account\\Exception\\AccountException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Account/Exception/AccountException.php', 'Aws\\Acm\\AcmClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Acm/AcmClient.php', 'Aws\\Acm\\Exception\\AcmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Acm/Exception/AcmException.php', 'Aws\\AlexaForBusiness\\AlexaForBusinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php', 'Aws\\AlexaForBusiness\\Exception\\AlexaForBusinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AlexaForBusiness/Exception/AlexaForBusinessException.php', 'Aws\\AmplifyBackend\\AmplifyBackendClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyBackend/AmplifyBackendClient.php', 'Aws\\AmplifyBackend\\Exception\\AmplifyBackendException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyBackend/Exception/AmplifyBackendException.php', - 'Aws\\AmplifyUIBuilder\\AmplifyUIBuilderClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyUIBuilder/AmplifyUIBuilderClient.php', - 'Aws\\AmplifyUIBuilder\\Exception\\AmplifyUIBuilderException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AmplifyUIBuilder/Exception/AmplifyUIBuilderException.php', 'Aws\\Amplify\\AmplifyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Amplify/AmplifyClient.php', 'Aws\\Amplify\\Exception\\AmplifyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php', 'Aws\\ApiGatewayManagementApi\\ApiGatewayManagementApiClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php', @@ -406,7 +396,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Api\\Parser\\JsonParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/JsonParser.php', 'Aws\\Api\\Parser\\JsonRpcParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php', 'Aws\\Api\\Parser\\MetadataParserTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php', - 'Aws\\Api\\Parser\\NonSeekableStreamDecodingEventStreamIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/NonSeekableStreamDecodingEventStreamIterator.php', 'Aws\\Api\\Parser\\PayloadParserTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php', 'Aws\\Api\\Parser\\QueryParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/QueryParser.php', 'Aws\\Api\\Parser\\RestJsonParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php', @@ -425,37 +414,26 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Api\\Shape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Shape.php', 'Aws\\Api\\ShapeMap' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/ShapeMap.php', 'Aws\\Api\\StructureShape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/StructureShape.php', - 'Aws\\Api\\SupportedProtocols' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/SupportedProtocols.php', 'Aws\\Api\\TimestampShape' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/TimestampShape.php', 'Aws\\Api\\Validator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Api/Validator.php', - 'Aws\\AppConfigData\\AppConfigDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfigData/AppConfigDataClient.php', - 'Aws\\AppConfigData\\Exception\\AppConfigDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfigData/Exception/AppConfigDataException.php', 'Aws\\AppConfig\\AppConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfig/AppConfigClient.php', 'Aws\\AppConfig\\Exception\\AppConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppConfig/Exception/AppConfigException.php', - 'Aws\\AppFabric\\AppFabricClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppFabric/AppFabricClient.php', - 'Aws\\AppFabric\\Exception\\AppFabricException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppFabric/Exception/AppFabricException.php', 'Aws\\AppIntegrationsService\\AppIntegrationsServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppIntegrationsService/AppIntegrationsServiceClient.php', 'Aws\\AppIntegrationsService\\Exception\\AppIntegrationsServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppIntegrationsService/Exception/AppIntegrationsServiceException.php', 'Aws\\AppMesh\\AppMeshClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php', 'Aws\\AppMesh\\Exception\\AppMeshException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppMesh/Exception/AppMeshException.php', 'Aws\\AppRegistry\\AppRegistryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRegistry/AppRegistryClient.php', 'Aws\\AppRegistry\\Exception\\AppRegistryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRegistry/Exception/AppRegistryException.php', - 'Aws\\AppRunner\\AppRunnerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRunner/AppRunnerClient.php', - 'Aws\\AppRunner\\Exception\\AppRunnerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppRunner/Exception/AppRunnerException.php', 'Aws\\AppSync\\AppSyncClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppSync/AppSyncClient.php', 'Aws\\AppSync\\Exception\\AppSyncException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AppSync/Exception/AppSyncException.php', 'Aws\\Appflow\\AppflowClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appflow/AppflowClient.php', 'Aws\\Appflow\\Exception\\AppflowException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appflow/Exception/AppflowException.php', 'Aws\\ApplicationAutoScaling\\ApplicationAutoScalingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationAutoScaling/ApplicationAutoScalingClient.php', 'Aws\\ApplicationAutoScaling\\Exception\\ApplicationAutoScalingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php', - 'Aws\\ApplicationCostProfiler\\ApplicationCostProfilerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationCostProfiler/ApplicationCostProfilerClient.php', - 'Aws\\ApplicationCostProfiler\\Exception\\ApplicationCostProfilerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationCostProfiler/Exception/ApplicationCostProfilerException.php', 'Aws\\ApplicationDiscoveryService\\ApplicationDiscoveryServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php', 'Aws\\ApplicationDiscoveryService\\Exception\\ApplicationDiscoveryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php', 'Aws\\ApplicationInsights\\ApplicationInsightsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationInsights/ApplicationInsightsClient.php', 'Aws\\ApplicationInsights\\Exception\\ApplicationInsightsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationInsights/Exception/ApplicationInsightsException.php', - 'Aws\\ApplicationSignals\\ApplicationSignalsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationSignals/ApplicationSignalsClient.php', - 'Aws\\ApplicationSignals\\Exception\\ApplicationSignalsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ApplicationSignals/Exception/ApplicationSignalsException.php', 'Aws\\Appstream\\AppstreamClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appstream/AppstreamClient.php', 'Aws\\Appstream\\Exception\\AppstreamException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Appstream/Exception/AppstreamException.php', 'Aws\\Arn\\AccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/AccessPointArn.php', @@ -468,22 +446,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Arn\\ResourceTypeAndIdTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/ResourceTypeAndIdTrait.php', 'Aws\\Arn\\S3\\AccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/AccessPointArn.php', 'Aws\\Arn\\S3\\BucketArnInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/BucketArnInterface.php', - 'Aws\\Arn\\S3\\MultiRegionAccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/MultiRegionAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsAccessPointArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsAccessPointArn.php', 'Aws\\Arn\\S3\\OutpostsArnInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsArnInterface.php', 'Aws\\Arn\\S3\\OutpostsBucketArn' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Arn/S3/OutpostsBucketArn.php', - 'Aws\\Artifact\\ArtifactClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Artifact/ArtifactClient.php', - 'Aws\\Artifact\\Exception\\ArtifactException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Artifact/Exception/ArtifactException.php', 'Aws\\Athena\\AthenaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Athena/AthenaClient.php', 'Aws\\Athena\\Exception\\AthenaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Athena/Exception/AthenaException.php', 'Aws\\AuditManager\\AuditManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AuditManager/AuditManagerClient.php', 'Aws\\AuditManager\\Exception\\AuditManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AuditManager/Exception/AuditManagerException.php', 'Aws\\AugmentedAIRuntime\\AugmentedAIRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AugmentedAIRuntime/AugmentedAIRuntimeClient.php', 'Aws\\AugmentedAIRuntime\\Exception\\AugmentedAIRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AugmentedAIRuntime/Exception/AugmentedAIRuntimeException.php', - 'Aws\\Auth\\AuthSchemeResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolver.php', - 'Aws\\Auth\\AuthSchemeResolverInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSchemeResolverInterface.php', - 'Aws\\Auth\\AuthSelectionMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/AuthSelectionMiddleware.php', - 'Aws\\Auth\\Exception\\UnresolvedAuthSchemeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Auth/Exception/UnresolvedAuthSchemeException.php', 'Aws\\AutoScalingPlans\\AutoScalingPlansClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScalingPlans/AutoScalingPlansClient.php', 'Aws\\AutoScalingPlans\\Exception\\AutoScalingPlansException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScalingPlans/Exception/AutoScalingPlansException.php', 'Aws\\AutoScaling\\AutoScalingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AutoScaling/AutoScalingClient.php', @@ -491,67 +462,17 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\AwsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClient.php', 'Aws\\AwsClientInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClientInterface.php', 'Aws\\AwsClientTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/AwsClientTrait.php', - 'Aws\\B2bi\\B2biClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/B2bi/B2biClient.php', - 'Aws\\B2bi\\Exception\\B2biException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/B2bi/Exception/B2biException.php', - 'Aws\\BCMDashboards\\BCMDashboardsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDashboards/BCMDashboardsClient.php', - 'Aws\\BCMDashboards\\Exception\\BCMDashboardsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDashboards/Exception/BCMDashboardsException.php', - 'Aws\\BCMDataExports\\BCMDataExportsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDataExports/BCMDataExportsClient.php', - 'Aws\\BCMDataExports\\Exception\\BCMDataExportsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMDataExports/Exception/BCMDataExportsException.php', - 'Aws\\BCMPricingCalculator\\BCMPricingCalculatorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMPricingCalculator/BCMPricingCalculatorClient.php', - 'Aws\\BCMPricingCalculator\\Exception\\BCMPricingCalculatorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMPricingCalculator/Exception/BCMPricingCalculatorException.php', - 'Aws\\BCMRecommendedActions\\BCMRecommendedActionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMRecommendedActions/BCMRecommendedActionsClient.php', - 'Aws\\BCMRecommendedActions\\Exception\\BCMRecommendedActionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BCMRecommendedActions/Exception/BCMRecommendedActionsException.php', - 'Aws\\BackupGateway\\BackupGatewayClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupGateway/BackupGatewayClient.php', - 'Aws\\BackupGateway\\Exception\\BackupGatewayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupGateway/Exception/BackupGatewayException.php', - 'Aws\\BackupSearch\\BackupSearchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupSearch/BackupSearchClient.php', - 'Aws\\BackupSearch\\Exception\\BackupSearchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BackupSearch/Exception/BackupSearchException.php', 'Aws\\Backup\\BackupClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Backup/BackupClient.php', 'Aws\\Backup\\Exception\\BackupException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Backup/Exception/BackupException.php', 'Aws\\Batch\\BatchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Batch/BatchClient.php', 'Aws\\Batch\\Exception\\BatchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Batch/Exception/BatchException.php', - 'Aws\\BedrockAgentCoreControl\\BedrockAgentCoreControlClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/BedrockAgentCoreControlClient.php', - 'Aws\\BedrockAgentCoreControl\\Exception\\BedrockAgentCoreControlException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCoreControl/Exception/BedrockAgentCoreControlException.php', - 'Aws\\BedrockAgentCore\\BedrockAgentCoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCore/BedrockAgentCoreClient.php', - 'Aws\\BedrockAgentCore\\Exception\\BedrockAgentCoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentCore/Exception/BedrockAgentCoreException.php', - 'Aws\\BedrockAgentRuntime\\BedrockAgentRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentRuntime/BedrockAgentRuntimeClient.php', - 'Aws\\BedrockAgentRuntime\\Exception\\BedrockAgentRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgentRuntime/Exception/BedrockAgentRuntimeException.php', - 'Aws\\BedrockAgent\\BedrockAgentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgent/BedrockAgentClient.php', - 'Aws\\BedrockAgent\\Exception\\BedrockAgentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockAgent/Exception/BedrockAgentException.php', - 'Aws\\BedrockDataAutomationRuntime\\BedrockDataAutomationRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.php', - 'Aws\\BedrockDataAutomationRuntime\\Exception\\BedrockDataAutomationRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomationRuntime/Exception/BedrockDataAutomationRuntimeException.php', - 'Aws\\BedrockDataAutomation\\BedrockDataAutomationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomation/BedrockDataAutomationClient.php', - 'Aws\\BedrockDataAutomation\\Exception\\BedrockDataAutomationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockDataAutomation/Exception/BedrockDataAutomationException.php', - 'Aws\\BedrockRuntime\\BedrockRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockRuntime/BedrockRuntimeClient.php', - 'Aws\\BedrockRuntime\\Exception\\BedrockRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BedrockRuntime/Exception/BedrockRuntimeException.php', - 'Aws\\Bedrock\\BedrockClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Bedrock/BedrockClient.php', - 'Aws\\Bedrock\\Exception\\BedrockException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Bedrock/Exception/BedrockException.php', - 'Aws\\BillingConductor\\BillingConductorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BillingConductor/BillingConductorClient.php', - 'Aws\\BillingConductor\\Exception\\BillingConductorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/BillingConductor/Exception/BillingConductorException.php', - 'Aws\\Billing\\BillingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Billing/BillingClient.php', - 'Aws\\Billing\\Exception\\BillingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Billing/Exception/BillingException.php', 'Aws\\Braket\\BraketClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Braket/BraketClient.php', 'Aws\\Braket\\Exception\\BraketException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Braket/Exception/BraketException.php', 'Aws\\Budgets\\BudgetsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Budgets/BudgetsClient.php', 'Aws\\Budgets\\Exception\\BudgetsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Budgets/Exception/BudgetsException.php', 'Aws\\CacheInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CacheInterface.php', - 'Aws\\Chatbot\\ChatbotClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chatbot/ChatbotClient.php', - 'Aws\\Chatbot\\Exception\\ChatbotException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chatbot/Exception/ChatbotException.php', - 'Aws\\ChimeSDKIdentity\\ChimeSDKIdentityClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKIdentity/ChimeSDKIdentityClient.php', - 'Aws\\ChimeSDKIdentity\\Exception\\ChimeSDKIdentityException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKIdentity/Exception/ChimeSDKIdentityException.php', - 'Aws\\ChimeSDKMediaPipelines\\ChimeSDKMediaPipelinesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.php', - 'Aws\\ChimeSDKMediaPipelines\\Exception\\ChimeSDKMediaPipelinesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMediaPipelines/Exception/ChimeSDKMediaPipelinesException.php', - 'Aws\\ChimeSDKMeetings\\ChimeSDKMeetingsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMeetings/ChimeSDKMeetingsClient.php', - 'Aws\\ChimeSDKMeetings\\Exception\\ChimeSDKMeetingsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMeetings/Exception/ChimeSDKMeetingsException.php', - 'Aws\\ChimeSDKMessaging\\ChimeSDKMessagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMessaging/ChimeSDKMessagingClient.php', - 'Aws\\ChimeSDKMessaging\\Exception\\ChimeSDKMessagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKMessaging/Exception/ChimeSDKMessagingException.php', - 'Aws\\ChimeSDKVoice\\ChimeSDKVoiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKVoice/ChimeSDKVoiceClient.php', - 'Aws\\ChimeSDKVoice\\Exception\\ChimeSDKVoiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ChimeSDKVoice/Exception/ChimeSDKVoiceException.php', 'Aws\\Chime\\ChimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chime/ChimeClient.php', 'Aws\\Chime\\Exception\\ChimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Chime/Exception/ChimeException.php', - 'Aws\\CleanRoomsML\\CleanRoomsMLClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRoomsML/CleanRoomsMLClient.php', - 'Aws\\CleanRoomsML\\Exception\\CleanRoomsMLException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRoomsML/Exception/CleanRoomsMLException.php', - 'Aws\\CleanRooms\\CleanRoomsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRooms/CleanRoomsClient.php', - 'Aws\\CleanRooms\\Exception\\CleanRoomsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CleanRooms/Exception/CleanRoomsException.php', 'Aws\\ClientResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientResolver.php', 'Aws\\ClientSideMonitoring\\AbstractMonitoringMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php', 'Aws\\ClientSideMonitoring\\ApiCallAttemptMonitoringMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php', @@ -563,14 +484,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ClientSideMonitoring\\MonitoringMiddlewareInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ClientSideMonitoring/MonitoringMiddlewareInterface.php', 'Aws\\Cloud9\\Cloud9Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Cloud9/Cloud9Client.php', 'Aws\\Cloud9\\Exception\\Cloud9Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Cloud9/Exception/Cloud9Exception.php', - 'Aws\\CloudControlApi\\CloudControlApiClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudControlApi/CloudControlApiClient.php', - 'Aws\\CloudControlApi\\Exception\\CloudControlApiException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudControlApi/Exception/CloudControlApiException.php', 'Aws\\CloudDirectory\\CloudDirectoryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudDirectory/CloudDirectoryClient.php', 'Aws\\CloudDirectory\\Exception\\CloudDirectoryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudDirectory/Exception/CloudDirectoryException.php', 'Aws\\CloudFormation\\CloudFormationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFormation/CloudFormationClient.php', 'Aws\\CloudFormation\\Exception\\CloudFormationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFormation/Exception/CloudFormationException.php', - 'Aws\\CloudFrontKeyValueStore\\CloudFrontKeyValueStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.php', - 'Aws\\CloudFrontKeyValueStore\\Exception\\CloudFrontKeyValueStoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFrontKeyValueStore/Exception/CloudFrontKeyValueStoreException.php', 'Aws\\CloudFront\\CloudFrontClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/CloudFrontClient.php', 'Aws\\CloudFront\\CookieSigner' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/CookieSigner.php', 'Aws\\CloudFront\\Exception\\CloudFrontException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudFront/Exception/CloudFrontException.php', @@ -584,8 +501,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\CloudSearchDomain\\Exception\\CloudSearchDomainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearchDomain/Exception/CloudSearchDomainException.php', 'Aws\\CloudSearch\\CloudSearchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearch/CloudSearchClient.php', 'Aws\\CloudSearch\\Exception\\CloudSearchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudSearch/Exception/CloudSearchException.php', - 'Aws\\CloudTrailData\\CloudTrailDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrailData/CloudTrailDataClient.php', - 'Aws\\CloudTrailData\\Exception\\CloudTrailDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrailData/Exception/CloudTrailDataException.php', 'Aws\\CloudTrail\\CloudTrailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/CloudTrailClient.php', 'Aws\\CloudTrail\\Exception\\CloudTrailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/Exception/CloudTrailException.php', 'Aws\\CloudTrail\\LogFileIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/LogFileIterator.php', @@ -593,32 +508,22 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\CloudTrail\\LogRecordIterator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudTrail/LogRecordIterator.php', 'Aws\\CloudWatchEvents\\CloudWatchEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvents/CloudWatchEventsClient.php', 'Aws\\CloudWatchEvents\\Exception\\CloudWatchEventsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvents/Exception/CloudWatchEventsException.php', - 'Aws\\CloudWatchEvidently\\CloudWatchEvidentlyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvidently/CloudWatchEvidentlyClient.php', - 'Aws\\CloudWatchEvidently\\Exception\\CloudWatchEvidentlyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchEvidently/Exception/CloudWatchEvidentlyException.php', 'Aws\\CloudWatchLogs\\CloudWatchLogsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchLogs/CloudWatchLogsClient.php', 'Aws\\CloudWatchLogs\\Exception\\CloudWatchLogsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchLogs/Exception/CloudWatchLogsException.php', - 'Aws\\CloudWatchRUM\\CloudWatchRUMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchRUM/CloudWatchRUMClient.php', - 'Aws\\CloudWatchRUM\\Exception\\CloudWatchRUMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatchRUM/Exception/CloudWatchRUMException.php', 'Aws\\CloudWatch\\CloudWatchClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatch/CloudWatchClient.php', 'Aws\\CloudWatch\\Exception\\CloudWatchException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CloudWatch/Exception/CloudWatchException.php', 'Aws\\CodeArtifact\\CodeArtifactClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeArtifact/CodeArtifactClient.php', 'Aws\\CodeArtifact\\Exception\\CodeArtifactException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeArtifact/Exception/CodeArtifactException.php', 'Aws\\CodeBuild\\CodeBuildClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeBuild/CodeBuildClient.php', 'Aws\\CodeBuild\\Exception\\CodeBuildException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeBuild/Exception/CodeBuildException.php', - 'Aws\\CodeCatalyst\\CodeCatalystClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCatalyst/CodeCatalystClient.php', - 'Aws\\CodeCatalyst\\Exception\\CodeCatalystException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCatalyst/Exception/CodeCatalystException.php', 'Aws\\CodeCommit\\CodeCommitClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCommit/CodeCommitClient.php', 'Aws\\CodeCommit\\Exception\\CodeCommitException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeCommit/Exception/CodeCommitException.php', - 'Aws\\CodeConnections\\CodeConnectionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeConnections/CodeConnectionsClient.php', - 'Aws\\CodeConnections\\Exception\\CodeConnectionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeConnections/Exception/CodeConnectionsException.php', 'Aws\\CodeDeploy\\CodeDeployClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeDeploy/CodeDeployClient.php', 'Aws\\CodeDeploy\\Exception\\CodeDeployException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeDeploy/Exception/CodeDeployException.php', 'Aws\\CodeGuruProfiler\\CodeGuruProfilerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruProfiler/CodeGuruProfilerClient.php', 'Aws\\CodeGuruProfiler\\Exception\\CodeGuruProfilerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruProfiler/Exception/CodeGuruProfilerException.php', 'Aws\\CodeGuruReviewer\\CodeGuruReviewerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruReviewer/CodeGuruReviewerClient.php', 'Aws\\CodeGuruReviewer\\Exception\\CodeGuruReviewerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruReviewer/Exception/CodeGuruReviewerException.php', - 'Aws\\CodeGuruSecurity\\CodeGuruSecurityClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruSecurity/CodeGuruSecurityClient.php', - 'Aws\\CodeGuruSecurity\\Exception\\CodeGuruSecurityException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeGuruSecurity/Exception/CodeGuruSecurityException.php', 'Aws\\CodePipeline\\CodePipelineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodePipeline/CodePipelineClient.php', 'Aws\\CodePipeline\\Exception\\CodePipelineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodePipeline/Exception/CodePipelineException.php', 'Aws\\CodeStarNotifications\\CodeStarNotificationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CodeStarNotifications/CodeStarNotificationsClient.php', @@ -641,77 +546,49 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ComprehendMedical\\Exception\\ComprehendMedicalException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComprehendMedical/Exception/ComprehendMedicalException.php', 'Aws\\Comprehend\\ComprehendClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Comprehend/ComprehendClient.php', 'Aws\\Comprehend\\Exception\\ComprehendException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Comprehend/Exception/ComprehendException.php', - 'Aws\\ComputeOptimizerAutomation\\ComputeOptimizerAutomationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/ComputeOptimizerAutomationClient.php', - 'Aws\\ComputeOptimizerAutomation\\Exception\\ComputeOptimizerAutomationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizerAutomation/Exception/ComputeOptimizerAutomationException.php', 'Aws\\ComputeOptimizer\\ComputeOptimizerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizer/ComputeOptimizerClient.php', 'Aws\\ComputeOptimizer\\Exception\\ComputeOptimizerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ComputeOptimizer/Exception/ComputeOptimizerException.php', 'Aws\\ConfigService\\ConfigServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigService/ConfigServiceClient.php', 'Aws\\ConfigService\\Exception\\ConfigServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigService/Exception/ConfigServiceException.php', 'Aws\\ConfigurationProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConfigurationProviderInterface.php', - 'Aws\\Configuration\\ConfigurationResolver' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Configuration/ConfigurationResolver.php', - 'Aws\\ConnectCampaignService\\ConnectCampaignServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignService/ConnectCampaignServiceClient.php', - 'Aws\\ConnectCampaignService\\Exception\\ConnectCampaignServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignService/Exception/ConnectCampaignServiceException.php', - 'Aws\\ConnectCampaignsV2\\ConnectCampaignsV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignsV2/ConnectCampaignsV2Client.php', - 'Aws\\ConnectCampaignsV2\\Exception\\ConnectCampaignsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCampaignsV2/Exception/ConnectCampaignsV2Exception.php', - 'Aws\\ConnectCases\\ConnectCasesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCases/ConnectCasesClient.php', - 'Aws\\ConnectCases\\Exception\\ConnectCasesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectCases/Exception/ConnectCasesException.php', 'Aws\\ConnectContactLens\\ConnectContactLensClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectContactLens/ConnectContactLensClient.php', 'Aws\\ConnectContactLens\\Exception\\ConnectContactLensException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectContactLens/Exception/ConnectContactLensException.php', 'Aws\\ConnectParticipant\\ConnectParticipantClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectParticipant/ConnectParticipantClient.php', 'Aws\\ConnectParticipant\\Exception\\ConnectParticipantException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectParticipant/Exception/ConnectParticipantException.php', - 'Aws\\ConnectWisdomService\\ConnectWisdomServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectWisdomService/ConnectWisdomServiceClient.php', - 'Aws\\ConnectWisdomService\\Exception\\ConnectWisdomServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ConnectWisdomService/Exception/ConnectWisdomServiceException.php', 'Aws\\Connect\\ConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Connect/ConnectClient.php', 'Aws\\Connect\\Exception\\ConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Connect/Exception/ConnectException.php', - 'Aws\\ControlCatalog\\ControlCatalogClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlCatalog/ControlCatalogClient.php', - 'Aws\\ControlCatalog\\Exception\\ControlCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlCatalog/Exception/ControlCatalogException.php', - 'Aws\\ControlTower\\ControlTowerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlTower/ControlTowerClient.php', - 'Aws\\ControlTower\\Exception\\ControlTowerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ControlTower/Exception/ControlTowerException.php', 'Aws\\CostExplorer\\CostExplorerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostExplorer/CostExplorerClient.php', 'Aws\\CostExplorer\\Exception\\CostExplorerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostExplorer/Exception/CostExplorerException.php', - 'Aws\\CostOptimizationHub\\CostOptimizationHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostOptimizationHub/CostOptimizationHubClient.php', - 'Aws\\CostOptimizationHub\\Exception\\CostOptimizationHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostOptimizationHub/Exception/CostOptimizationHubException.php', 'Aws\\CostandUsageReportService\\CostandUsageReportServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostandUsageReportService/CostandUsageReportServiceClient.php', 'Aws\\CostandUsageReportService\\Exception\\CostandUsageReportServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/CostandUsageReportService/Exception/CostandUsageReportServiceException.php', 'Aws\\Credentials\\AssumeRoleCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/AssumeRoleCredentialProvider.php', 'Aws\\Credentials\\AssumeRoleWithWebIdentityCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/AssumeRoleWithWebIdentityCredentialProvider.php', 'Aws\\Credentials\\CredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialProvider.php', - 'Aws\\Credentials\\CredentialSources' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialSources.php', 'Aws\\Credentials\\Credentials' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/Credentials.php', 'Aws\\Credentials\\CredentialsInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialsInterface.php', - 'Aws\\Credentials\\CredentialsUtils' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/CredentialsUtils.php', 'Aws\\Credentials\\EcsCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/EcsCredentialProvider.php', 'Aws\\Credentials\\InstanceProfileProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php', - 'Aws\\Credentials\\LoginCredentialProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Credentials/LoginCredentialProvider.php', 'Aws\\Crypto\\AbstractCryptoClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClient.php', 'Aws\\Crypto\\AbstractCryptoClientV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV2.php', - 'Aws\\Crypto\\AbstractCryptoClientV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AbstractCryptoClientV3.php', 'Aws\\Crypto\\AesDecryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesDecryptingStream.php', 'Aws\\Crypto\\AesEncryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesEncryptingStream.php', 'Aws\\Crypto\\AesGcmDecryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesGcmDecryptingStream.php', 'Aws\\Crypto\\AesGcmEncryptingStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesGcmEncryptingStream.php', 'Aws\\Crypto\\AesStreamInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesStreamInterface.php', 'Aws\\Crypto\\AesStreamInterfaceV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AesStreamInterfaceV2.php', - 'Aws\\Crypto\\AlgorithmConstants' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AlgorithmConstants.php', - 'Aws\\Crypto\\AlgorithmSuite' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/AlgorithmSuite.php', 'Aws\\Crypto\\Cipher\\Cbc' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/Cbc.php', 'Aws\\Crypto\\Cipher\\CipherBuilderTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherBuilderTrait.php', 'Aws\\Crypto\\Cipher\\CipherMethod' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php', 'Aws\\Crypto\\DecryptionTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTrait.php', 'Aws\\Crypto\\DecryptionTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV2.php', - 'Aws\\Crypto\\DecryptionTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/DecryptionTraitV3.php', 'Aws\\Crypto\\EncryptionTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTrait.php', 'Aws\\Crypto\\EncryptionTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV2.php', - 'Aws\\Crypto\\EncryptionTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/EncryptionTraitV3.php', 'Aws\\Crypto\\KmsMaterialsProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProvider.php', 'Aws\\Crypto\\KmsMaterialsProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV2.php', - 'Aws\\Crypto\\KmsMaterialsProviderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/KmsMaterialsProviderV3.php', 'Aws\\Crypto\\MaterialsProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProvider.php', 'Aws\\Crypto\\MaterialsProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterface.php', 'Aws\\Crypto\\MaterialsProviderInterfaceV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php', - 'Aws\\Crypto\\MaterialsProviderInterfaceV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV3.php', 'Aws\\Crypto\\MaterialsProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV2.php', - 'Aws\\Crypto\\MaterialsProviderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MaterialsProviderV3.php', 'Aws\\Crypto\\MetadataEnvelope' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MetadataEnvelope.php', 'Aws\\Crypto\\MetadataStrategyInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/MetadataStrategyInterface.php', 'Aws\\Crypto\\Polyfill\\AesGcm' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Crypto/Polyfill/AesGcm.php', @@ -725,25 +602,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\DAX\\Exception\\DAXException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DAX/Exception/DAXException.php', 'Aws\\DLM\\DLMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DLM/DLMClient.php', 'Aws\\DLM\\Exception\\DLMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DLM/Exception/DLMException.php', - 'Aws\\DSQL\\AuthTokenGenerator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/AuthTokenGenerator.php', - 'Aws\\DSQL\\DSQLClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/DSQLClient.php', - 'Aws\\DSQL\\Exception\\DSQLException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DSQL/Exception/DSQLException.php', 'Aws\\DataExchange\\DataExchangeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataExchange/DataExchangeClient.php', 'Aws\\DataExchange\\Exception\\DataExchangeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataExchange/Exception/DataExchangeException.php', 'Aws\\DataPipeline\\DataPipelineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataPipeline/DataPipelineClient.php', 'Aws\\DataPipeline\\Exception\\DataPipelineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataPipeline/Exception/DataPipelineException.php', 'Aws\\DataSync\\DataSyncClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataSync/DataSyncClient.php', 'Aws\\DataSync\\Exception\\DataSyncException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataSync/Exception/DataSyncException.php', - 'Aws\\DataZone\\DataZoneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataZone/DataZoneClient.php', - 'Aws\\DataZone\\Exception\\DataZoneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DataZone/Exception/DataZoneException.php', 'Aws\\DatabaseMigrationService\\DatabaseMigrationServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DatabaseMigrationService/DatabaseMigrationServiceClient.php', 'Aws\\DatabaseMigrationService\\Exception\\DatabaseMigrationServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php', - 'Aws\\Deadline\\DeadlineClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Deadline/DeadlineClient.php', - 'Aws\\Deadline\\Exception\\DeadlineException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Deadline/Exception/DeadlineException.php', - 'Aws\\DefaultsMode\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/Configuration.php', - 'Aws\\DefaultsMode\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationInterface.php', - 'Aws\\DefaultsMode\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/ConfigurationProvider.php', - 'Aws\\DefaultsMode\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DefaultsMode/Exception/ConfigurationException.php', 'Aws\\Detective\\DetectiveClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Detective/DetectiveClient.php', 'Aws\\Detective\\Exception\\DetectiveException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Detective/Exception/DetectiveException.php', 'Aws\\DevOpsGuru\\DevOpsGuruClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DevOpsGuru/DevOpsGuruClient.php', @@ -752,12 +618,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\DeviceFarm\\Exception\\DeviceFarmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DeviceFarm/Exception/DeviceFarmException.php', 'Aws\\DirectConnect\\DirectConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectConnect/DirectConnectClient.php', 'Aws\\DirectConnect\\Exception\\DirectConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectConnect/Exception/DirectConnectException.php', - 'Aws\\DirectoryServiceData\\DirectoryServiceDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryServiceData/DirectoryServiceDataClient.php', - 'Aws\\DirectoryServiceData\\Exception\\DirectoryServiceDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryServiceData/Exception/DirectoryServiceDataException.php', 'Aws\\DirectoryService\\DirectoryServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryService/DirectoryServiceClient.php', 'Aws\\DirectoryService\\Exception\\DirectoryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DirectoryService/Exception/DirectoryServiceException.php', - 'Aws\\DocDBElastic\\DocDBElasticClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDBElastic/DocDBElasticClient.php', - 'Aws\\DocDBElastic\\Exception\\DocDBElasticException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDBElastic/Exception/DocDBElasticException.php', 'Aws\\DocDB\\DocDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDB/DocDBClient.php', 'Aws\\DocDB\\Exception\\DocDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DocDB/Exception/DocDBException.php', 'Aws\\DoctrineCacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/DoctrineCacheAdapter.php', @@ -781,14 +643,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\EC2InstanceConnect\\Exception\\EC2InstanceConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EC2InstanceConnect/Exception/EC2InstanceConnectException.php', 'Aws\\ECRPublic\\ECRPublicClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ECRPublic/ECRPublicClient.php', 'Aws\\ECRPublic\\Exception\\ECRPublicException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ECRPublic/Exception/ECRPublicException.php', - 'Aws\\EKSAuth\\EKSAuthClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKSAuth/EKSAuthClient.php', - 'Aws\\EKSAuth\\Exception\\EKSAuthException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKSAuth/Exception/EKSAuthException.php', 'Aws\\EKS\\EKSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKS/EKSClient.php', 'Aws\\EKS\\Exception\\EKSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EKS/Exception/EKSException.php', 'Aws\\EMRContainers\\EMRContainersClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRContainers/EMRContainersClient.php', 'Aws\\EMRContainers\\Exception\\EMRContainersException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRContainers/Exception/EMRContainersException.php', - 'Aws\\EMRServerless\\EMRServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRServerless/EMRServerlessClient.php', - 'Aws\\EMRServerless\\Exception\\EMRServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EMRServerless/Exception/EMRServerlessException.php', 'Aws\\Ec2\\Ec2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ec2/Ec2Client.php', 'Aws\\Ec2\\Exception\\Ec2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ec2/Exception/Ec2Exception.php', 'Aws\\Ecr\\EcrClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ecr/EcrClient.php', @@ -820,41 +678,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\EndpointDiscovery\\EndpointList' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointDiscovery/EndpointList.php', 'Aws\\EndpointDiscovery\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointDiscovery/Exception/ConfigurationException.php', 'Aws\\EndpointParameterMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointParameterMiddleware.php', - 'Aws\\EndpointV2\\EndpointDefinitionProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointDefinitionProvider.php', - 'Aws\\EndpointV2\\EndpointProviderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointProviderV2.php', - 'Aws\\EndpointV2\\EndpointV2Middleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2Middleware.php', - 'Aws\\EndpointV2\\EndpointV2SerializerTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/EndpointV2SerializerTrait.php', - 'Aws\\EndpointV2\\Rule\\AbstractRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/AbstractRule.php', - 'Aws\\EndpointV2\\Rule\\EndpointRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/EndpointRule.php', - 'Aws\\EndpointV2\\Rule\\ErrorRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/ErrorRule.php', - 'Aws\\EndpointV2\\Rule\\RuleCreator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php', - 'Aws\\EndpointV2\\Rule\\TreeRule' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Rule/TreeRule.php', - 'Aws\\EndpointV2\\Ruleset\\Ruleset' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/Ruleset.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetEndpoint' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetEndpoint.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetParameter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetParameter.php', - 'Aws\\EndpointV2\\Ruleset\\RulesetStandardLibrary' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EndpointV2/Ruleset/RulesetStandardLibrary.php', 'Aws\\Endpoint\\EndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/EndpointProvider.php', 'Aws\\Endpoint\\Partition' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/Partition.php', 'Aws\\Endpoint\\PartitionEndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PartitionEndpointProvider.php', 'Aws\\Endpoint\\PartitionInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PartitionInterface.php', 'Aws\\Endpoint\\PatternEndpointProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/PatternEndpointProvider.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Configuration.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationInterface.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/ConfigurationProvider.php', - 'Aws\\Endpoint\\UseDualstackEndpoint\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseDualstackEndpoint/Exception/ConfigurationException.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\Configuration' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Configuration.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationInterface.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/ConfigurationProvider.php', - 'Aws\\Endpoint\\UseFipsEndpoint\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Endpoint/UseFipsEndpoint/Exception/ConfigurationException.php', - 'Aws\\EntityResolution\\EntityResolutionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EntityResolution/EntityResolutionClient.php', - 'Aws\\EntityResolution\\Exception\\EntityResolutionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EntityResolution/Exception/EntityResolutionException.php', 'Aws\\EventBridge\\EventBridgeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/EventBridgeClient.php', - 'Aws\\EventBridge\\EventBridgeEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/EventBridgeEndpointMiddleware.php', 'Aws\\EventBridge\\Exception\\EventBridgeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/EventBridge/Exception/EventBridgeException.php', - 'Aws\\Evs\\EvsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Evs/EvsClient.php', - 'Aws\\Evs\\Exception\\EvsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Evs/Exception/EvsException.php', 'Aws\\Exception\\AwsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/AwsException.php', - 'Aws\\Exception\\CommonRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CommonRuntimeException.php', 'Aws\\Exception\\CouldNotCreateChecksumException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php', 'Aws\\Exception\\CredentialsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CredentialsException.php', 'Aws\\Exception\\CryptoException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/CryptoException.php', @@ -864,7 +695,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Exception\\InvalidJsonException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/InvalidJsonException.php', 'Aws\\Exception\\InvalidRegionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/InvalidRegionException.php', 'Aws\\Exception\\MultipartUploadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/MultipartUploadException.php', - 'Aws\\Exception\\TokenException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/TokenException.php', 'Aws\\Exception\\UnresolvedApiException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedApiException.php', 'Aws\\Exception\\UnresolvedEndpointException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedEndpointException.php', 'Aws\\Exception\\UnresolvedSignatureException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Exception/UnresolvedSignatureException.php', @@ -874,8 +704,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\FMS\\FMSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FMS/FMSClient.php', 'Aws\\FSx\\Exception\\FSxException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FSx/Exception/FSxException.php', 'Aws\\FSx\\FSxClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FSx/FSxClient.php', - 'Aws\\FinSpaceData\\Exception\\FinSpaceDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FinSpaceData/Exception/FinSpaceDataException.php', - 'Aws\\FinSpaceData\\FinSpaceDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FinSpaceData/FinSpaceDataClient.php', 'Aws\\Firehose\\Exception\\FirehoseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Firehose/Exception/FirehoseException.php', 'Aws\\Firehose\\FirehoseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Firehose/FirehoseClient.php', 'Aws\\ForecastQueryService\\Exception\\ForecastQueryServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ForecastQueryService/Exception/ForecastQueryServiceException.php', @@ -884,18 +712,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\ForecastService\\ForecastServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ForecastService/ForecastServiceClient.php', 'Aws\\FraudDetector\\Exception\\FraudDetectorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FraudDetector/Exception/FraudDetectorException.php', 'Aws\\FraudDetector\\FraudDetectorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FraudDetector/FraudDetectorClient.php', - 'Aws\\FreeTier\\Exception\\FreeTierException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FreeTier/Exception/FreeTierException.php', - 'Aws\\FreeTier\\FreeTierClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/FreeTier/FreeTierClient.php', - 'Aws\\GameLiftStreams\\Exception\\GameLiftStreamsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLiftStreams/Exception/GameLiftStreamsException.php', - 'Aws\\GameLiftStreams\\GameLiftStreamsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLiftStreams/GameLiftStreamsClient.php', 'Aws\\GameLift\\Exception\\GameLiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLift/Exception/GameLiftException.php', 'Aws\\GameLift\\GameLiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GameLift/GameLiftClient.php', - 'Aws\\GeoMaps\\Exception\\GeoMapsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoMaps/Exception/GeoMapsException.php', - 'Aws\\GeoMaps\\GeoMapsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoMaps/GeoMapsClient.php', - 'Aws\\GeoPlaces\\Exception\\GeoPlacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoPlaces/Exception/GeoPlacesException.php', - 'Aws\\GeoPlaces\\GeoPlacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoPlaces/GeoPlacesClient.php', - 'Aws\\GeoRoutes\\Exception\\GeoRoutesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoRoutes/Exception/GeoRoutesException.php', - 'Aws\\GeoRoutes\\GeoRoutesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/GeoRoutes/GeoRoutesClient.php', 'Aws\\Glacier\\Exception\\GlacierException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/Exception/GlacierException.php', 'Aws\\Glacier\\GlacierClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/GlacierClient.php', 'Aws\\Glacier\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Glacier/MultipartUploader.php', @@ -919,7 +737,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Handler\\GuzzleV5\\GuzzleStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV5/GuzzleStream.php', 'Aws\\Handler\\GuzzleV5\\PsrStream' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV5/PsrStream.php', 'Aws\\Handler\\GuzzleV6\\GuzzleHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php', - 'Aws\\Handler\\Guzzle\\GuzzleHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Handler/Guzzle/GuzzleHandler.php', 'Aws\\HasDataTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HasDataTrait.php', 'Aws\\HasMonitoringEventsTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php', 'Aws\\HashInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/HashInterface.php', @@ -931,8 +748,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\History' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/History.php', 'Aws\\Honeycode\\Exception\\HoneycodeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Honeycode/Exception/HoneycodeException.php', 'Aws\\Honeycode\\HoneycodeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Honeycode/HoneycodeClient.php', - 'Aws\\IVSRealTime\\Exception\\IVSRealTimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVSRealTime/Exception/IVSRealTimeException.php', - 'Aws\\IVSRealTime\\IVSRealTimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVSRealTime/IVSRealTimeClient.php', 'Aws\\IVS\\Exception\\IVSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVS/Exception/IVSException.php', 'Aws\\IVS\\IVSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IVS/IVSClient.php', 'Aws\\Iam\\Exception\\IamException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iam/Exception/IamException.php', @@ -940,24 +755,11 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\IdempotencyTokenMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdempotencyTokenMiddleware.php', 'Aws\\IdentityStore\\Exception\\IdentityStoreException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdentityStore/Exception/IdentityStoreException.php', 'Aws\\IdentityStore\\IdentityStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IdentityStore/IdentityStoreClient.php', - 'Aws\\Identity\\AwsCredentialIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/AwsCredentialIdentity.php', - 'Aws\\Identity\\BearerTokenIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/BearerTokenIdentity.php', - 'Aws\\Identity\\IdentityInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/IdentityInterface.php', - 'Aws\\Identity\\S3\\S3ExpressIdentity' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentity.php', - 'Aws\\Identity\\S3\\S3ExpressIdentityProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Identity/S3/S3ExpressIdentityProvider.php', 'Aws\\ImportExport\\Exception\\ImportExportException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ImportExport/Exception/ImportExportException.php', 'Aws\\ImportExport\\ImportExportClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ImportExport/ImportExportClient.php', 'Aws\\InputValidationMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InputValidationMiddleware.php', - 'Aws\\Inspector2\\Exception\\Inspector2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector2/Exception/Inspector2Exception.php', - 'Aws\\Inspector2\\Inspector2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector2/Inspector2Client.php', - 'Aws\\InspectorScan\\Exception\\InspectorScanException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InspectorScan/Exception/InspectorScanException.php', - 'Aws\\InspectorScan\\InspectorScanClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InspectorScan/InspectorScanClient.php', 'Aws\\Inspector\\Exception\\InspectorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector/Exception/InspectorException.php', 'Aws\\Inspector\\InspectorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Inspector/InspectorClient.php', - 'Aws\\InternetMonitor\\Exception\\InternetMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InternetMonitor/Exception/InternetMonitorException.php', - 'Aws\\InternetMonitor\\InternetMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/InternetMonitor/InternetMonitorClient.php', - 'Aws\\Invoicing\\Exception\\InvoicingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Invoicing/Exception/InvoicingException.php', - 'Aws\\Invoicing\\InvoicingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Invoicing/InvoicingClient.php', 'Aws\\IoT1ClickDevicesService\\Exception\\IoT1ClickDevicesServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php', 'Aws\\IoT1ClickDevicesService\\IoT1ClickDevicesServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php', 'Aws\\IoT1ClickProjects\\Exception\\IoT1ClickProjectsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php', @@ -972,20 +774,14 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\IoTEvents\\IoTEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTEvents/IoTEventsClient.php', 'Aws\\IoTFleetHub\\Exception\\IoTFleetHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetHub/Exception/IoTFleetHubException.php', 'Aws\\IoTFleetHub\\IoTFleetHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetHub/IoTFleetHubClient.php', - 'Aws\\IoTFleetWise\\Exception\\IoTFleetWiseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetWise/Exception/IoTFleetWiseException.php', - 'Aws\\IoTFleetWise\\IoTFleetWiseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTFleetWise/IoTFleetWiseClient.php', 'Aws\\IoTJobsDataPlane\\Exception\\IoTJobsDataPlaneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php', 'Aws\\IoTJobsDataPlane\\IoTJobsDataPlaneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTJobsDataPlane/IoTJobsDataPlaneClient.php', - 'Aws\\IoTManagedIntegrations\\Exception\\IoTManagedIntegrationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTManagedIntegrations/Exception/IoTManagedIntegrationsException.php', - 'Aws\\IoTManagedIntegrations\\IoTManagedIntegrationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTManagedIntegrations/IoTManagedIntegrationsClient.php', 'Aws\\IoTSecureTunneling\\Exception\\IoTSecureTunnelingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSecureTunneling/Exception/IoTSecureTunnelingException.php', 'Aws\\IoTSecureTunneling\\IoTSecureTunnelingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSecureTunneling/IoTSecureTunnelingClient.php', 'Aws\\IoTSiteWise\\Exception\\IoTSiteWiseException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSiteWise/Exception/IoTSiteWiseException.php', 'Aws\\IoTSiteWise\\IoTSiteWiseClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTSiteWise/IoTSiteWiseClient.php', 'Aws\\IoTThingsGraph\\Exception\\IoTThingsGraphException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTThingsGraph/Exception/IoTThingsGraphException.php', 'Aws\\IoTThingsGraph\\IoTThingsGraphClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTThingsGraph/IoTThingsGraphClient.php', - 'Aws\\IoTTwinMaker\\Exception\\IoTTwinMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTTwinMaker/Exception/IoTTwinMakerException.php', - 'Aws\\IoTTwinMaker\\IoTTwinMakerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTTwinMaker/IoTTwinMakerClient.php', 'Aws\\IoTWireless\\Exception\\IoTWirelessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTWireless/Exception/IoTWirelessException.php', 'Aws\\IoTWireless\\IoTWirelessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IoTWireless/IoTWirelessClient.php', 'Aws\\IotDataPlane\\Exception\\IotDataPlaneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/IotDataPlane/Exception/IotDataPlaneException.php', @@ -993,16 +789,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Iot\\Exception\\IotException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iot/Exception/IotException.php', 'Aws\\Iot\\IotClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Iot/IotClient.php', 'Aws\\JsonCompiler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/JsonCompiler.php', - 'Aws\\KafkaConnect\\Exception\\KafkaConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KafkaConnect/Exception/KafkaConnectException.php', - 'Aws\\KafkaConnect\\KafkaConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KafkaConnect/KafkaConnectClient.php', 'Aws\\Kafka\\Exception\\KafkaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php', 'Aws\\Kafka\\KafkaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kafka/KafkaClient.php', - 'Aws\\KendraRanking\\Exception\\KendraRankingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KendraRanking/Exception/KendraRankingException.php', - 'Aws\\KendraRanking\\KendraRankingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KendraRanking/KendraRankingClient.php', - 'Aws\\KeyspacesStreams\\Exception\\KeyspacesStreamsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KeyspacesStreams/Exception/KeyspacesStreamsException.php', - 'Aws\\KeyspacesStreams\\KeyspacesStreamsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KeyspacesStreams/KeyspacesStreamsClient.php', - 'Aws\\Keyspaces\\Exception\\KeyspacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Keyspaces/Exception/KeyspacesException.php', - 'Aws\\Keyspaces\\KeyspacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Keyspaces/KeyspacesClient.php', 'Aws\\KinesisAnalyticsV2\\Exception\\KinesisAnalyticsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php', 'Aws\\KinesisAnalyticsV2\\KinesisAnalyticsV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php', 'Aws\\KinesisAnalytics\\Exception\\KinesisAnalyticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisAnalytics/Exception/KinesisAnalyticsException.php', @@ -1013,8 +801,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\KinesisVideoMedia\\KinesisVideoMediaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoMedia/KinesisVideoMediaClient.php', 'Aws\\KinesisVideoSignalingChannels\\Exception\\KinesisVideoSignalingChannelsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/Exception/KinesisVideoSignalingChannelsException.php', 'Aws\\KinesisVideoSignalingChannels\\KinesisVideoSignalingChannelsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoSignalingChannels/KinesisVideoSignalingChannelsClient.php', - 'Aws\\KinesisVideoWebRTCStorage\\Exception\\KinesisVideoWebRTCStorageException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/Exception/KinesisVideoWebRTCStorageException.php', - 'Aws\\KinesisVideoWebRTCStorage\\KinesisVideoWebRTCStorageClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.php', 'Aws\\KinesisVideo\\Exception\\KinesisVideoException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideo/Exception/KinesisVideoException.php', 'Aws\\KinesisVideo\\KinesisVideoClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/KinesisVideo/KinesisVideoClient.php', 'Aws\\Kinesis\\Exception\\KinesisException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Kinesis/Exception/KinesisException.php', @@ -1025,8 +811,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\LakeFormation\\LakeFormationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LakeFormation/LakeFormationClient.php', 'Aws\\Lambda\\Exception\\LambdaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lambda/Exception/LambdaException.php', 'Aws\\Lambda\\LambdaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lambda/LambdaClient.php', - 'Aws\\LaunchWizard\\Exception\\LaunchWizardException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LaunchWizard/Exception/LaunchWizardException.php', - 'Aws\\LaunchWizard\\LaunchWizardClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LaunchWizard/LaunchWizardClient.php', 'Aws\\LexModelBuildingService\\Exception\\LexModelBuildingServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelBuildingService/Exception/LexModelBuildingServiceException.php', 'Aws\\LexModelBuildingService\\LexModelBuildingServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelBuildingService/LexModelBuildingServiceClient.php', 'Aws\\LexModelsV2\\Exception\\LexModelsV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexModelsV2/Exception/LexModelsV2Exception.php', @@ -1035,29 +819,19 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\LexRuntimeService\\LexRuntimeServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeService/LexRuntimeServiceClient.php', 'Aws\\LexRuntimeV2\\Exception\\LexRuntimeV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeV2/Exception/LexRuntimeV2Exception.php', 'Aws\\LexRuntimeV2\\LexRuntimeV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LexRuntimeV2/LexRuntimeV2Client.php', - 'Aws\\LicenseManagerLinuxSubscriptions\\Exception\\LicenseManagerLinuxSubscriptionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/Exception/LicenseManagerLinuxSubscriptionsException.php', - 'Aws\\LicenseManagerLinuxSubscriptions\\LicenseManagerLinuxSubscriptionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.php', - 'Aws\\LicenseManagerUserSubscriptions\\Exception\\LicenseManagerUserSubscriptionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/Exception/LicenseManagerUserSubscriptionsException.php', - 'Aws\\LicenseManagerUserSubscriptions\\LicenseManagerUserSubscriptionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.php', 'Aws\\LicenseManager\\Exception\\LicenseManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php', 'Aws\\LicenseManager\\LicenseManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LicenseManager/LicenseManagerClient.php', 'Aws\\Lightsail\\Exception\\LightsailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lightsail/Exception/LightsailException.php', 'Aws\\Lightsail\\LightsailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Lightsail/LightsailClient.php', 'Aws\\LocationService\\Exception\\LocationServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LocationService/Exception/LocationServiceException.php', 'Aws\\LocationService\\LocationServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LocationService/LocationServiceClient.php', - 'Aws\\LookoutEquipment\\Exception\\LookoutEquipmentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutEquipment/Exception/LookoutEquipmentException.php', - 'Aws\\LookoutEquipment\\LookoutEquipmentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutEquipment/LookoutEquipmentClient.php', 'Aws\\LookoutforVision\\Exception\\LookoutforVisionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutforVision/Exception/LookoutforVisionException.php', 'Aws\\LookoutforVision\\LookoutforVisionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LookoutforVision/LookoutforVisionClient.php', 'Aws\\LruArrayCache' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/LruArrayCache.php', - 'Aws\\MPA\\Exception\\MPAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MPA/Exception/MPAException.php', - 'Aws\\MPA\\MPAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MPA/MPAClient.php', 'Aws\\MQ\\Exception\\MQException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MQ/Exception/MQException.php', 'Aws\\MQ\\MQClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MQ/MQClient.php', 'Aws\\MTurk\\Exception\\MTurkException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MTurk/Exception/MTurkException.php', 'Aws\\MTurk\\MTurkClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MTurk/MTurkClient.php', - 'Aws\\MWAAServerless\\Exception\\MWAAServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAAServerless/Exception/MWAAServerlessException.php', - 'Aws\\MWAAServerless\\MWAAServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAAServerless/MWAAServerlessClient.php', 'Aws\\MWAA\\Exception\\MWAAException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAA/Exception/MWAAException.php', 'Aws\\MWAA\\MWAAClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MWAA/MWAAClient.php', 'Aws\\MachineLearning\\Exception\\MachineLearningException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MachineLearning/Exception/MachineLearningException.php', @@ -1066,38 +840,22 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Macie2\\Macie2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie2/Macie2Client.php', 'Aws\\Macie\\Exception\\MacieException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie/Exception/MacieException.php', 'Aws\\Macie\\MacieClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Macie/MacieClient.php', - 'Aws\\MailManager\\Exception\\MailManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MailManager/Exception/MailManagerException.php', - 'Aws\\MailManager\\MailManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MailManager/MailManagerClient.php', - 'Aws\\MainframeModernization\\Exception\\MainframeModernizationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MainframeModernization/Exception/MainframeModernizationException.php', - 'Aws\\MainframeModernization\\MainframeModernizationClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MainframeModernization/MainframeModernizationClient.php', - 'Aws\\ManagedBlockchainQuery\\Exception\\ManagedBlockchainQueryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/Exception/ManagedBlockchainQueryException.php', - 'Aws\\ManagedBlockchainQuery\\ManagedBlockchainQueryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchainQuery/ManagedBlockchainQueryClient.php', 'Aws\\ManagedBlockchain\\Exception\\ManagedBlockchainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchain/Exception/ManagedBlockchainException.php', 'Aws\\ManagedBlockchain\\ManagedBlockchainClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedBlockchain/ManagedBlockchainClient.php', - 'Aws\\ManagedGrafana\\Exception\\ManagedGrafanaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedGrafana/Exception/ManagedGrafanaException.php', - 'Aws\\ManagedGrafana\\ManagedGrafanaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ManagedGrafana/ManagedGrafanaClient.php', - 'Aws\\MarketplaceAgreement\\Exception\\MarketplaceAgreementException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceAgreement/Exception/MarketplaceAgreementException.php', - 'Aws\\MarketplaceAgreement\\MarketplaceAgreementClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceAgreement/MarketplaceAgreementClient.php', 'Aws\\MarketplaceCatalog\\Exception\\MarketplaceCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCatalog/Exception/MarketplaceCatalogException.php', 'Aws\\MarketplaceCatalog\\MarketplaceCatalogClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCatalog/MarketplaceCatalogClient.php', 'Aws\\MarketplaceCommerceAnalytics\\Exception\\MarketplaceCommerceAnalyticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php', 'Aws\\MarketplaceCommerceAnalytics\\MarketplaceCommerceAnalyticsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php', - 'Aws\\MarketplaceDeployment\\Exception\\MarketplaceDeploymentException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceDeployment/Exception/MarketplaceDeploymentException.php', - 'Aws\\MarketplaceDeployment\\MarketplaceDeploymentClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceDeployment/MarketplaceDeploymentClient.php', 'Aws\\MarketplaceEntitlementService\\Exception\\MarketplaceEntitlementServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php', 'Aws\\MarketplaceEntitlementService\\MarketplaceEntitlementServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php', 'Aws\\MarketplaceMetering\\Exception\\MarketplaceMeteringException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceMetering/Exception/MarketplaceMeteringException.php', 'Aws\\MarketplaceMetering\\MarketplaceMeteringClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceMetering/MarketplaceMeteringClient.php', - 'Aws\\MarketplaceReporting\\Exception\\MarketplaceReportingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceReporting/Exception/MarketplaceReportingException.php', - 'Aws\\MarketplaceReporting\\MarketplaceReportingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MarketplaceReporting/MarketplaceReportingClient.php', 'Aws\\MediaConnect\\Exception\\MediaConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConnect/Exception/MediaConnectException.php', 'Aws\\MediaConnect\\MediaConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConnect/MediaConnectClient.php', 'Aws\\MediaConvert\\Exception\\MediaConvertException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConvert/Exception/MediaConvertException.php', 'Aws\\MediaConvert\\MediaConvertClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaConvert/MediaConvertClient.php', 'Aws\\MediaLive\\Exception\\MediaLiveException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaLive/Exception/MediaLiveException.php', 'Aws\\MediaLive\\MediaLiveClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaLive/MediaLiveClient.php', - 'Aws\\MediaPackageV2\\Exception\\MediaPackageV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageV2/Exception/MediaPackageV2Exception.php', - 'Aws\\MediaPackageV2\\MediaPackageV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageV2/MediaPackageV2Client.php', 'Aws\\MediaPackageVod\\Exception\\MediaPackageVodException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageVod/Exception/MediaPackageVodException.php', 'Aws\\MediaPackageVod\\MediaPackageVodClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackageVod/MediaPackageVodClient.php', 'Aws\\MediaPackage\\Exception\\MediaPackageException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaPackage/Exception/MediaPackageException.php', @@ -1108,20 +866,9 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\MediaStore\\MediaStoreClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaStore/MediaStoreClient.php', 'Aws\\MediaTailor\\Exception\\MediaTailorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaTailor/Exception/MediaTailorException.php', 'Aws\\MediaTailor\\MediaTailorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MediaTailor/MediaTailorClient.php', - 'Aws\\MedicalImaging\\Exception\\MedicalImagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MedicalImaging/Exception/MedicalImagingException.php', - 'Aws\\MedicalImaging\\MedicalImagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MedicalImaging/MedicalImagingClient.php', - 'Aws\\MemoryDB\\Exception\\MemoryDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MemoryDB/Exception/MemoryDBException.php', - 'Aws\\MemoryDB\\MemoryDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MemoryDB/MemoryDBClient.php', - 'Aws\\MetricsBuilder' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MetricsBuilder.php', 'Aws\\Middleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Middleware.php', 'Aws\\MigrationHubConfig\\Exception\\MigrationHubConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubConfig/Exception/MigrationHubConfigException.php', 'Aws\\MigrationHubConfig\\MigrationHubConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubConfig/MigrationHubConfigClient.php', - 'Aws\\MigrationHubOrchestrator\\Exception\\MigrationHubOrchestratorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/Exception/MigrationHubOrchestratorException.php', - 'Aws\\MigrationHubOrchestrator\\MigrationHubOrchestratorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubOrchestrator/MigrationHubOrchestratorClient.php', - 'Aws\\MigrationHubRefactorSpaces\\Exception\\MigrationHubRefactorSpacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/Exception/MigrationHubRefactorSpacesException.php', - 'Aws\\MigrationHubRefactorSpaces\\MigrationHubRefactorSpacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.php', - 'Aws\\MigrationHubStrategyRecommendations\\Exception\\MigrationHubStrategyRecommendationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/Exception/MigrationHubStrategyRecommendationsException.php', - 'Aws\\MigrationHubStrategyRecommendations\\MigrationHubStrategyRecommendationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHubStrategyRecommendations/MigrationHubStrategyRecommendationsClient.php', 'Aws\\MigrationHub\\Exception\\MigrationHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHub/Exception/MigrationHubException.php', 'Aws\\MigrationHub\\MigrationHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/MigrationHub/MigrationHubClient.php', 'Aws\\Mobile\\Exception\\MobileException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Mobile/Exception/MobileException.php', @@ -1132,40 +879,12 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Multipart\\AbstractUploadManager' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/AbstractUploadManager.php', 'Aws\\Multipart\\AbstractUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/AbstractUploader.php', 'Aws\\Multipart\\UploadState' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Multipart/UploadState.php', - 'Aws\\NeptuneGraph\\Exception\\NeptuneGraphException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NeptuneGraph/Exception/NeptuneGraphException.php', - 'Aws\\NeptuneGraph\\NeptuneGraphClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NeptuneGraph/NeptuneGraphClient.php', 'Aws\\Neptune\\Exception\\NeptuneException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptune/Exception/NeptuneException.php', 'Aws\\Neptune\\NeptuneClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptune/NeptuneClient.php', - 'Aws\\Neptunedata\\Exception\\NeptunedataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptunedata/Exception/NeptunedataException.php', - 'Aws\\Neptunedata\\NeptunedataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Neptunedata/NeptunedataClient.php', 'Aws\\NetworkFirewall\\Exception\\NetworkFirewallException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFirewall/Exception/NetworkFirewallException.php', 'Aws\\NetworkFirewall\\NetworkFirewallClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFirewall/NetworkFirewallClient.php', - 'Aws\\NetworkFlowMonitor\\Exception\\NetworkFlowMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFlowMonitor/Exception/NetworkFlowMonitorException.php', - 'Aws\\NetworkFlowMonitor\\NetworkFlowMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkFlowMonitor/NetworkFlowMonitorClient.php', 'Aws\\NetworkManager\\Exception\\NetworkManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkManager/Exception/NetworkManagerException.php', 'Aws\\NetworkManager\\NetworkManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkManager/NetworkManagerClient.php', - 'Aws\\NetworkMonitor\\Exception\\NetworkMonitorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkMonitor/Exception/NetworkMonitorException.php', - 'Aws\\NetworkMonitor\\NetworkMonitorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NetworkMonitor/NetworkMonitorClient.php', - 'Aws\\NotificationsContacts\\Exception\\NotificationsContactsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NotificationsContacts/Exception/NotificationsContactsException.php', - 'Aws\\NotificationsContacts\\NotificationsContactsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NotificationsContacts/NotificationsContactsClient.php', - 'Aws\\Notifications\\Exception\\NotificationsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Notifications/Exception/NotificationsException.php', - 'Aws\\Notifications\\NotificationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Notifications/NotificationsClient.php', - 'Aws\\NovaAct\\Exception\\NovaActException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NovaAct/Exception/NovaActException.php', - 'Aws\\NovaAct\\NovaActClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/NovaAct/NovaActClient.php', - 'Aws\\OAM\\Exception\\OAMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OAM/Exception/OAMException.php', - 'Aws\\OAM\\OAMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OAM/OAMClient.php', - 'Aws\\OSIS\\Exception\\OSISException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OSIS/Exception/OSISException.php', - 'Aws\\OSIS\\OSISClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OSIS/OSISClient.php', - 'Aws\\ObservabilityAdmin\\Exception\\ObservabilityAdminException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ObservabilityAdmin/Exception/ObservabilityAdminException.php', - 'Aws\\ObservabilityAdmin\\ObservabilityAdminClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ObservabilityAdmin/ObservabilityAdminClient.php', - 'Aws\\Odb\\Exception\\OdbException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Odb/Exception/OdbException.php', - 'Aws\\Odb\\OdbClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Odb/OdbClient.php', - 'Aws\\Omics\\Exception\\OmicsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Omics/Exception/OmicsException.php', - 'Aws\\Omics\\OmicsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Omics/OmicsClient.php', - 'Aws\\OpenSearchServerless\\Exception\\OpenSearchServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchServerless/Exception/OpenSearchServerlessException.php', - 'Aws\\OpenSearchServerless\\OpenSearchServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchServerless/OpenSearchServerlessClient.php', - 'Aws\\OpenSearchService\\Exception\\OpenSearchServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchService/Exception/OpenSearchServiceException.php', - 'Aws\\OpenSearchService\\OpenSearchServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpenSearchService/OpenSearchServiceClient.php', 'Aws\\OpsWorksCM\\Exception\\OpsWorksCMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorksCM/Exception/OpsWorksCMException.php', 'Aws\\OpsWorksCM\\OpsWorksCMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorksCM/OpsWorksCMClient.php', 'Aws\\OpsWorks\\Exception\\OpsWorksException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/OpsWorks/Exception/OpsWorksException.php', @@ -1174,28 +893,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Organizations\\OrganizationsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Organizations/OrganizationsClient.php', 'Aws\\Outposts\\Exception\\OutpostsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Outposts/Exception/OutpostsException.php', 'Aws\\Outposts\\OutpostsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Outposts/OutpostsClient.php', - 'Aws\\PCS\\Exception\\PCSException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PCS/Exception/PCSException.php', - 'Aws\\PCS\\PCSClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PCS/PCSClient.php', 'Aws\\PI\\Exception\\PIException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PI/Exception/PIException.php', 'Aws\\PI\\PIClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PI/PIClient.php', - 'Aws\\Panorama\\Exception\\PanoramaException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Panorama/Exception/PanoramaException.php', - 'Aws\\Panorama\\PanoramaClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Panorama/PanoramaClient.php', - 'Aws\\PartnerCentralAccount\\Exception\\PartnerCentralAccountException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralAccount/Exception/PartnerCentralAccountException.php', - 'Aws\\PartnerCentralAccount\\PartnerCentralAccountClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralAccount/PartnerCentralAccountClient.php', - 'Aws\\PartnerCentralBenefits\\Exception\\PartnerCentralBenefitsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralBenefits/Exception/PartnerCentralBenefitsException.php', - 'Aws\\PartnerCentralBenefits\\PartnerCentralBenefitsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralBenefits/PartnerCentralBenefitsClient.php', - 'Aws\\PartnerCentralChannel\\Exception\\PartnerCentralChannelException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralChannel/Exception/PartnerCentralChannelException.php', - 'Aws\\PartnerCentralChannel\\PartnerCentralChannelClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralChannel/PartnerCentralChannelClient.php', - 'Aws\\PartnerCentralSelling\\Exception\\PartnerCentralSellingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralSelling/Exception/PartnerCentralSellingException.php', - 'Aws\\PartnerCentralSelling\\PartnerCentralSellingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PartnerCentralSelling/PartnerCentralSellingClient.php', - 'Aws\\PaymentCryptographyData\\Exception\\PaymentCryptographyDataException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptographyData/Exception/PaymentCryptographyDataException.php', - 'Aws\\PaymentCryptographyData\\PaymentCryptographyDataClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptographyData/PaymentCryptographyDataClient.php', - 'Aws\\PaymentCryptography\\Exception\\PaymentCryptographyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptography/Exception/PaymentCryptographyException.php', - 'Aws\\PaymentCryptography\\PaymentCryptographyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PaymentCryptography/PaymentCryptographyClient.php', - 'Aws\\PcaConnectorAd\\Exception\\PcaConnectorAdException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorAd/Exception/PcaConnectorAdException.php', - 'Aws\\PcaConnectorAd\\PcaConnectorAdClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorAd/PcaConnectorAdClient.php', - 'Aws\\PcaConnectorScep\\Exception\\PcaConnectorScepException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorScep/Exception/PcaConnectorScepException.php', - 'Aws\\PcaConnectorScep\\PcaConnectorScepClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PcaConnectorScep/PcaConnectorScepClient.php', 'Aws\\PersonalizeEvents\\Exception\\PersonalizeEventsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeEvents/Exception/PersonalizeEventsException.php', 'Aws\\PersonalizeEvents\\PersonalizeEventsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeEvents/PersonalizeEventsClient.php', 'Aws\\PersonalizeRuntime\\Exception\\PersonalizeRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PersonalizeRuntime/Exception/PersonalizeRuntimeException.php', @@ -1205,14 +904,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\PhpHash' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PhpHash.php', 'Aws\\PinpointEmail\\Exception\\PinpointEmailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointEmail/Exception/PinpointEmailException.php', 'Aws\\PinpointEmail\\PinpointEmailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointEmail/PinpointEmailClient.php', - 'Aws\\PinpointSMSVoiceV2\\Exception\\PinpointSMSVoiceV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/Exception/PinpointSMSVoiceV2Exception.php', - 'Aws\\PinpointSMSVoiceV2\\PinpointSMSVoiceV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoiceV2/PinpointSMSVoiceV2Client.php', 'Aws\\PinpointSMSVoice\\Exception\\PinpointSMSVoiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php', 'Aws\\PinpointSMSVoice\\PinpointSMSVoiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PinpointSMSVoice/PinpointSMSVoiceClient.php', 'Aws\\Pinpoint\\Exception\\PinpointException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pinpoint/Exception/PinpointException.php', 'Aws\\Pinpoint\\PinpointClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pinpoint/PinpointClient.php', - 'Aws\\Pipes\\Exception\\PipesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pipes/Exception/PipesException.php', - 'Aws\\Pipes\\PipesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pipes/PipesClient.php', 'Aws\\Polly\\Exception\\PollyException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Polly/Exception/PollyException.php', 'Aws\\Polly\\PollyClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Polly/PollyClient.php', 'Aws\\PresignUrlMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PresignUrlMiddleware.php', @@ -1220,49 +915,27 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Pricing\\PricingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Pricing/PricingClient.php', 'Aws\\PrometheusService\\Exception\\PrometheusServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PrometheusService/Exception/PrometheusServiceException.php', 'Aws\\PrometheusService\\PrometheusServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PrometheusService/PrometheusServiceClient.php', - 'Aws\\Proton\\Exception\\ProtonException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Proton/Exception/ProtonException.php', - 'Aws\\Proton\\ProtonClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Proton/ProtonClient.php', 'Aws\\Psr16CacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Psr16CacheAdapter.php', 'Aws\\PsrCacheAdapter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/PsrCacheAdapter.php', - 'Aws\\QApps\\Exception\\QAppsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QApps/Exception/QAppsException.php', - 'Aws\\QApps\\QAppsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QApps/QAppsClient.php', - 'Aws\\QBusiness\\Exception\\QBusinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QBusiness/Exception/QBusinessException.php', - 'Aws\\QBusiness\\QBusinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QBusiness/QBusinessClient.php', - 'Aws\\QConnect\\Exception\\QConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QConnect/Exception/QConnectException.php', - 'Aws\\QConnect\\QConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QConnect/QConnectClient.php', 'Aws\\QLDBSession\\Exception\\QLDBSessionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDBSession/Exception/QLDBSessionException.php', 'Aws\\QLDBSession\\QLDBSessionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDBSession/QLDBSessionClient.php', 'Aws\\QLDB\\Exception\\QLDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDB/Exception/QLDBException.php', 'Aws\\QLDB\\QLDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QLDB/QLDBClient.php', - 'Aws\\QueryCompatibleInputMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QueryCompatibleInputMiddleware.php', 'Aws\\QuickSight\\Exception\\QuickSightException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QuickSight/Exception/QuickSightException.php', 'Aws\\QuickSight\\QuickSightClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/QuickSight/QuickSightClient.php', 'Aws\\RAM\\Exception\\RAMException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RAM/Exception/RAMException.php', 'Aws\\RAM\\RAMClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RAM/RAMClient.php', 'Aws\\RDSDataService\\Exception\\RDSDataServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RDSDataService/Exception/RDSDataServiceException.php', 'Aws\\RDSDataService\\RDSDataServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RDSDataService/RDSDataServiceClient.php', - 'Aws\\RTBFabric\\Exception\\RTBFabricException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RTBFabric/Exception/RTBFabricException.php', - 'Aws\\RTBFabric\\RTBFabricClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RTBFabric/RTBFabricClient.php', 'Aws\\Rds\\AuthTokenGenerator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/AuthTokenGenerator.php', 'Aws\\Rds\\Exception\\RdsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/Exception/RdsException.php', 'Aws\\Rds\\RdsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rds/RdsClient.php', - 'Aws\\RecycleBin\\Exception\\RecycleBinException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RecycleBin/Exception/RecycleBinException.php', - 'Aws\\RecycleBin\\RecycleBinClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RecycleBin/RecycleBinClient.php', 'Aws\\RedshiftDataAPIService\\Exception\\RedshiftDataAPIServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftDataAPIService/Exception/RedshiftDataAPIServiceException.php', 'Aws\\RedshiftDataAPIService\\RedshiftDataAPIServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftDataAPIService/RedshiftDataAPIServiceClient.php', - 'Aws\\RedshiftServerless\\Exception\\RedshiftServerlessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftServerless/Exception/RedshiftServerlessException.php', - 'Aws\\RedshiftServerless\\RedshiftServerlessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RedshiftServerless/RedshiftServerlessClient.php', 'Aws\\Redshift\\Exception\\RedshiftException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Redshift/Exception/RedshiftException.php', 'Aws\\Redshift\\RedshiftClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Redshift/RedshiftClient.php', 'Aws\\Rekognition\\Exception\\RekognitionException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rekognition/Exception/RekognitionException.php', 'Aws\\Rekognition\\RekognitionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Rekognition/RekognitionClient.php', - 'Aws\\Repostspace\\Exception\\RepostspaceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Repostspace/Exception/RepostspaceException.php', - 'Aws\\Repostspace\\RepostspaceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Repostspace/RepostspaceClient.php', - 'Aws\\RequestCompressionMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RequestCompressionMiddleware.php', - 'Aws\\ResilienceHub\\Exception\\ResilienceHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResilienceHub/Exception/ResilienceHubException.php', - 'Aws\\ResilienceHub\\ResilienceHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResilienceHub/ResilienceHubClient.php', - 'Aws\\ResourceExplorer2\\Exception\\ResourceExplorer2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceExplorer2/Exception/ResourceExplorer2Exception.php', - 'Aws\\ResourceExplorer2\\ResourceExplorer2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceExplorer2/ResourceExplorer2Client.php', 'Aws\\ResourceGroupsTaggingAPI\\Exception\\ResourceGroupsTaggingAPIException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php', 'Aws\\ResourceGroupsTaggingAPI\\ResourceGroupsTaggingAPIClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php', 'Aws\\ResourceGroups\\Exception\\ResourceGroupsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ResourceGroups/Exception/ResourceGroupsException.php', @@ -1282,20 +955,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Retry\\RetryHelperTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php', 'Aws\\RoboMaker\\Exception\\RoboMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php', 'Aws\\RoboMaker\\RoboMakerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RoboMaker/RoboMakerClient.php', - 'Aws\\RolesAnywhere\\Exception\\RolesAnywhereException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RolesAnywhere/Exception/RolesAnywhereException.php', - 'Aws\\RolesAnywhere\\RolesAnywhereClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/RolesAnywhere/RolesAnywhereClient.php', 'Aws\\Route53Domains\\Exception\\Route53DomainsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Domains/Exception/Route53DomainsException.php', 'Aws\\Route53Domains\\Route53DomainsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Domains/Route53DomainsClient.php', - 'Aws\\Route53GlobalResolver\\Exception\\Route53GlobalResolverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53GlobalResolver/Exception/Route53GlobalResolverException.php', - 'Aws\\Route53GlobalResolver\\Route53GlobalResolverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53GlobalResolver/Route53GlobalResolverClient.php', - 'Aws\\Route53Profiles\\Exception\\Route53ProfilesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Profiles/Exception/Route53ProfilesException.php', - 'Aws\\Route53Profiles\\Route53ProfilesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Profiles/Route53ProfilesClient.php', - 'Aws\\Route53RecoveryCluster\\Exception\\Route53RecoveryClusterException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Exception/Route53RecoveryClusterException.php', - 'Aws\\Route53RecoveryCluster\\Route53RecoveryClusterClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryCluster/Route53RecoveryClusterClient.php', - 'Aws\\Route53RecoveryControlConfig\\Exception\\Route53RecoveryControlConfigException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Exception/Route53RecoveryControlConfigException.php', - 'Aws\\Route53RecoveryControlConfig\\Route53RecoveryControlConfigClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryControlConfig/Route53RecoveryControlConfigClient.php', - 'Aws\\Route53RecoveryReadiness\\Exception\\Route53RecoveryReadinessException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Exception/Route53RecoveryReadinessException.php', - 'Aws\\Route53RecoveryReadiness\\Route53RecoveryReadinessClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53RecoveryReadiness/Route53RecoveryReadinessClient.php', 'Aws\\Route53Resolver\\Exception\\Route53ResolverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Resolver/Exception/Route53ResolverException.php', 'Aws\\Route53Resolver\\Route53ResolverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53Resolver/Route53ResolverClient.php', 'Aws\\Route53\\Exception\\Route53Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Route53/Exception/Route53Exception.php', @@ -1306,44 +967,31 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3Control\\S3ControlEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php', 'Aws\\S3Outposts\\Exception\\S3OutpostsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Outposts/Exception/S3OutpostsException.php', 'Aws\\S3Outposts\\S3OutpostsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Outposts/S3OutpostsClient.php', - 'Aws\\S3Tables\\Exception\\S3TablesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Tables/Exception/S3TablesException.php', - 'Aws\\S3Tables\\S3TablesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Tables/S3TablesClient.php', - 'Aws\\S3Vectors\\Exception\\S3VectorsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Vectors/Exception/S3VectorsException.php', - 'Aws\\S3Vectors\\S3VectorsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3Vectors/S3VectorsClient.php', 'Aws\\S3\\AmbiguousSuccessParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/AmbiguousSuccessParser.php', 'Aws\\S3\\ApplyChecksumMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php', 'Aws\\S3\\BatchDelete' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BatchDelete.php', 'Aws\\S3\\BucketEndpointArnMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BucketEndpointArnMiddleware.php', 'Aws\\S3\\BucketEndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/BucketEndpointMiddleware.php', - 'Aws\\S3\\CalculatesChecksumTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/CalculatesChecksumTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTrait.php', 'Aws\\S3\\Crypto\\CryptoParamsTraitV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV2.php', - 'Aws\\S3\\Crypto\\CryptoParamsTraitV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/CryptoParamsTraitV3.php', 'Aws\\S3\\Crypto\\HeadersMetadataStrategy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/HeadersMetadataStrategy.php', 'Aws\\S3\\Crypto\\InstructionFileMetadataStrategy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/InstructionFileMetadataStrategy.php', 'Aws\\S3\\Crypto\\S3EncryptionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClient.php', 'Aws\\S3\\Crypto\\S3EncryptionClientV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV2.php', - 'Aws\\S3\\Crypto\\S3EncryptionClientV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionClientV3.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploader.php', 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV2' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV2.php', - 'Aws\\S3\\Crypto\\S3EncryptionMultipartUploaderV3' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/S3EncryptionMultipartUploaderV3.php', 'Aws\\S3\\Crypto\\UserAgentTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Crypto/UserAgentTrait.php', 'Aws\\S3\\EndpointRegionHelperTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/EndpointRegionHelperTrait.php', 'Aws\\S3\\Exception\\DeleteMultipleObjectsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php', 'Aws\\S3\\Exception\\PermanentRedirectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php', 'Aws\\S3\\Exception\\S3Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/S3Exception.php', 'Aws\\S3\\Exception\\S3MultipartUploadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php', - 'Aws\\S3\\ExpiresParsingMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ExpiresParsingMiddleware.php', 'Aws\\S3\\GetBucketLocationParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/GetBucketLocationParser.php', 'Aws\\S3\\MultipartCopy' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartCopy.php', 'Aws\\S3\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartUploader.php', 'Aws\\S3\\MultipartUploadingTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/MultipartUploadingTrait.php', 'Aws\\S3\\ObjectCopier' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ObjectCopier.php', 'Aws\\S3\\ObjectUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ObjectUploader.php', - 'Aws\\S3\\Parser\\GetBucketLocationResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/GetBucketLocationResultMutator.php', - 'Aws\\S3\\Parser\\S3Parser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/S3Parser.php', - 'Aws\\S3\\Parser\\S3ResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/S3ResultMutator.php', - 'Aws\\S3\\Parser\\ValidateResponseChecksumResultMutator' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/Parser/ValidateResponseChecksumResultMutator.php', 'Aws\\S3\\PermanentRedirectMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php', 'Aws\\S3\\PostObject' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PostObject.php', 'Aws\\S3\\PostObjectV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/PostObjectV4.php', @@ -1358,43 +1006,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3\\S3ClientTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3ClientTrait.php', 'Aws\\S3\\S3EndpointMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3EndpointMiddleware.php', 'Aws\\S3\\S3MultiRegionClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php', - 'Aws\\S3\\S3Transfer\\AbstractMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\AbstractMultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/AbstractMultipartUploader.php', - 'Aws\\S3\\S3Transfer\\Exception\\FileDownloadException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/FileDownloadException.php', - 'Aws\\S3\\S3Transfer\\Exception\\ProgressTrackerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/ProgressTrackerException.php', - 'Aws\\S3\\S3Transfer\\Exception\\S3TransferException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Exception/S3TransferException.php', - 'Aws\\S3\\S3Transfer\\Models\\AbstractTransferRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/AbstractTransferRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadDirectoryResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadDirectoryResult.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadFileRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadFileRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\DownloadResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/DownloadResult.php', - 'Aws\\S3\\S3Transfer\\Models\\S3TransferManagerConfig' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/S3TransferManagerConfig.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadDirectoryResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadDirectoryResult.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadRequest' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadRequest.php', - 'Aws\\S3\\S3Transfer\\Models\\UploadResult' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Models/UploadResult.php', - 'Aws\\S3\\S3Transfer\\MultipartUploader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/MultipartUploader.php', - 'Aws\\S3\\S3Transfer\\PartGetMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/PartGetMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\Progress\\AbstractProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\AbstractTransferListener' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/AbstractTransferListener.php', - 'Aws\\S3\\S3Transfer\\Progress\\ColoredTransferProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ColoredTransferProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\ConsoleProgressBar' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ConsoleProgressBar.php', - 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\MultiProgressTracker' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/MultiProgressTracker.php', - 'Aws\\S3\\S3Transfer\\Progress\\PlainProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/PlainProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarFactoryInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarFactoryInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressBarInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressBarInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\ProgressTrackerInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/ProgressTrackerInterface.php', - 'Aws\\S3\\S3Transfer\\Progress\\SingleProgressTracker' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/SingleProgressTracker.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferListenerNotifier' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferListenerNotifier.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressBarFormat' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressBarFormat.php', - 'Aws\\S3\\S3Transfer\\Progress\\TransferProgressSnapshot' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Progress/TransferProgressSnapshot.php', - 'Aws\\S3\\S3Transfer\\RangeGetMultipartDownloader' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/RangeGetMultipartDownloader.php', - 'Aws\\S3\\S3Transfer\\S3TransferManager' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/S3TransferManager.php', - 'Aws\\S3\\S3Transfer\\Utils\\AbstractDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/AbstractDownloadHandler.php', - 'Aws\\S3\\S3Transfer\\Utils\\FileDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/FileDownloadHandler.php', - 'Aws\\S3\\S3Transfer\\Utils\\StreamDownloadHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3Transfer/Utils/StreamDownloadHandler.php', 'Aws\\S3\\S3UriParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/S3UriParser.php', 'Aws\\S3\\SSECMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/SSECMiddleware.php', 'Aws\\S3\\StreamWrapper' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/StreamWrapper.php', @@ -1403,15 +1014,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\S3\\UseArnRegion\\ConfigurationInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationInterface.php', 'Aws\\S3\\UseArnRegion\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/ConfigurationProvider.php', 'Aws\\S3\\UseArnRegion\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/UseArnRegion/Exception/ConfigurationException.php', - 'Aws\\S3\\ValidateResponseChecksumParser' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/S3/ValidateResponseChecksumParser.php', - 'Aws\\SSMContacts\\Exception\\SSMContactsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMContacts/Exception/SSMContactsException.php', - 'Aws\\SSMContacts\\SSMContactsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMContacts/SSMContactsClient.php', - 'Aws\\SSMGuiConnect\\Exception\\SSMGuiConnectException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMGuiConnect/Exception/SSMGuiConnectException.php', - 'Aws\\SSMGuiConnect\\SSMGuiConnectClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMGuiConnect/SSMGuiConnectClient.php', - 'Aws\\SSMIncidents\\Exception\\SSMIncidentsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMIncidents/Exception/SSMIncidentsException.php', - 'Aws\\SSMIncidents\\SSMIncidentsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMIncidents/SSMIncidentsClient.php', - 'Aws\\SSMQuickSetup\\Exception\\SSMQuickSetupException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMQuickSetup/Exception/SSMQuickSetupException.php', - 'Aws\\SSMQuickSetup\\SSMQuickSetupClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSMQuickSetup/SSMQuickSetupClient.php', 'Aws\\SSOAdmin\\Exception\\SSOAdminException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOAdmin/Exception/SSOAdminException.php', 'Aws\\SSOAdmin\\SSOAdminClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOAdmin/SSOAdminClient.php', 'Aws\\SSOOIDC\\Exception\\SSOOIDCException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSOOIDC/Exception/SSOOIDCException.php', @@ -1420,10 +1022,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\SSO\\SSOClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SSO/SSOClient.php', 'Aws\\SageMakerFeatureStoreRuntime\\Exception\\SageMakerFeatureStoreRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/Exception/SageMakerFeatureStoreRuntimeException.php', 'Aws\\SageMakerFeatureStoreRuntime\\SageMakerFeatureStoreRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.php', - 'Aws\\SageMakerGeospatial\\Exception\\SageMakerGeospatialException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerGeospatial/Exception/SageMakerGeospatialException.php', - 'Aws\\SageMakerGeospatial\\SageMakerGeospatialClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerGeospatial/SageMakerGeospatialClient.php', - 'Aws\\SageMakerMetrics\\Exception\\SageMakerMetricsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerMetrics/Exception/SageMakerMetricsException.php', - 'Aws\\SageMakerMetrics\\SageMakerMetricsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerMetrics/SageMakerMetricsClient.php', 'Aws\\SageMakerRuntime\\Exception\\SageMakerRuntimeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerRuntime/Exception/SageMakerRuntimeException.php', 'Aws\\SageMakerRuntime\\SageMakerRuntimeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMakerRuntime/SageMakerRuntimeClient.php', 'Aws\\SageMaker\\Exception\\SageMakerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SageMaker/Exception/SageMakerException.php', @@ -1432,20 +1030,13 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\SagemakerEdgeManager\\SagemakerEdgeManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SagemakerEdgeManager/SagemakerEdgeManagerClient.php', 'Aws\\SavingsPlans\\Exception\\SavingsPlansException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SavingsPlans/Exception/SavingsPlansException.php', 'Aws\\SavingsPlans\\SavingsPlansClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SavingsPlans/SavingsPlansClient.php', - 'Aws\\Scheduler\\Exception\\SchedulerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Scheduler/Exception/SchedulerException.php', - 'Aws\\Scheduler\\SchedulerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Scheduler/SchedulerClient.php', 'Aws\\Schemas\\Exception\\SchemasException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Schemas/Exception/SchemasException.php', 'Aws\\Schemas\\SchemasClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Schemas/SchemasClient.php', - 'Aws\\Script\\Composer\\Composer' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Script/Composer/Composer.php', 'Aws\\Sdk' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sdk.php', 'Aws\\SecretsManager\\Exception\\SecretsManagerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecretsManager/Exception/SecretsManagerException.php', 'Aws\\SecretsManager\\SecretsManagerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecretsManager/SecretsManagerClient.php', 'Aws\\SecurityHub\\Exception\\SecurityHubException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php', 'Aws\\SecurityHub\\SecurityHubClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityHub/SecurityHubClient.php', - 'Aws\\SecurityIR\\Exception\\SecurityIRException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityIR/Exception/SecurityIRException.php', - 'Aws\\SecurityIR\\SecurityIRClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityIR/SecurityIRClient.php', - 'Aws\\SecurityLake\\Exception\\SecurityLakeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityLake/Exception/SecurityLakeException.php', - 'Aws\\SecurityLake\\SecurityLakeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SecurityLake/SecurityLakeClient.php', 'Aws\\ServerlessApplicationRepository\\Exception\\ServerlessApplicationRepositoryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php', 'Aws\\ServerlessApplicationRepository\\ServerlessApplicationRepositoryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php', 'Aws\\ServiceCatalog\\Exception\\ServiceCatalogException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ServiceCatalog/Exception/ServiceCatalogException.php', @@ -1463,31 +1054,19 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Shield\\Exception\\ShieldException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Shield/Exception/ShieldException.php', 'Aws\\Shield\\ShieldClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Shield/ShieldClient.php', 'Aws\\Signature\\AnonymousSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/AnonymousSignature.php', - 'Aws\\Signature\\DpopSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/DpopSignature.php', - 'Aws\\Signature\\S3ExpressSignature' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/S3ExpressSignature.php', 'Aws\\Signature\\S3SignatureV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/S3SignatureV4.php', 'Aws\\Signature\\SignatureInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureInterface.php', 'Aws\\Signature\\SignatureProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureProvider.php', 'Aws\\Signature\\SignatureTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureTrait.php', 'Aws\\Signature\\SignatureV4' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signature/SignatureV4.php', - 'Aws\\Signin\\Exception\\SigninException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signin/Exception/SigninException.php', - 'Aws\\Signin\\SigninClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Signin/SigninClient.php', - 'Aws\\SimSpaceWeaver\\Exception\\SimSpaceWeaverException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SimSpaceWeaver/Exception/SimSpaceWeaverException.php', - 'Aws\\SimSpaceWeaver\\SimSpaceWeaverClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SimSpaceWeaver/SimSpaceWeaverClient.php', 'Aws\\Sms\\Exception\\SmsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sms/Exception/SmsException.php', 'Aws\\Sms\\SmsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sms/SmsClient.php', 'Aws\\SnowBall\\Exception\\SnowBallException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowBall/Exception/SnowBallException.php', 'Aws\\SnowBall\\SnowBallClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowBall/SnowBallClient.php', - 'Aws\\SnowDeviceManagement\\Exception\\SnowDeviceManagementException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowDeviceManagement/Exception/SnowDeviceManagementException.php', - 'Aws\\SnowDeviceManagement\\SnowDeviceManagementClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SnowDeviceManagement/SnowDeviceManagementClient.php', 'Aws\\Sns\\Exception\\SnsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sns/Exception/SnsException.php', 'Aws\\Sns\\SnsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sns/SnsClient.php', - 'Aws\\SocialMessaging\\Exception\\SocialMessagingException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SocialMessaging/Exception/SocialMessagingException.php', - 'Aws\\SocialMessaging\\SocialMessagingClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SocialMessaging/SocialMessagingClient.php', 'Aws\\Sqs\\Exception\\SqsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php', 'Aws\\Sqs\\SqsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sqs/SqsClient.php', - 'Aws\\SsmSap\\Exception\\SsmSapException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SsmSap/Exception/SsmSapException.php', - 'Aws\\SsmSap\\SsmSapClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SsmSap/SsmSapClient.php', 'Aws\\Ssm\\Exception\\SsmException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ssm/Exception/SsmException.php', 'Aws\\Ssm\\SsmClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Ssm/SsmClient.php', 'Aws\\StorageGateway\\Exception\\StorageGatewayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/StorageGateway/Exception/StorageGatewayException.php', @@ -1499,39 +1078,18 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Sts\\RegionalEndpoints\\ConfigurationProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/ConfigurationProvider.php', 'Aws\\Sts\\RegionalEndpoints\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/RegionalEndpoints/Exception/ConfigurationException.php', 'Aws\\Sts\\StsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Sts/StsClient.php', - 'Aws\\SupplyChain\\Exception\\SupplyChainException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupplyChain/Exception/SupplyChainException.php', - 'Aws\\SupplyChain\\SupplyChainClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupplyChain/SupplyChainClient.php', - 'Aws\\SupportApp\\Exception\\SupportAppException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupportApp/Exception/SupportAppException.php', - 'Aws\\SupportApp\\SupportAppClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/SupportApp/SupportAppClient.php', 'Aws\\Support\\Exception\\SupportException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Support/Exception/SupportException.php', 'Aws\\Support\\SupportClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Support/SupportClient.php', 'Aws\\Swf\\Exception\\SwfException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Swf/Exception/SwfException.php', 'Aws\\Swf\\SwfClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Swf/SwfClient.php', 'Aws\\Synthetics\\Exception\\SyntheticsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Synthetics/Exception/SyntheticsException.php', 'Aws\\Synthetics\\SyntheticsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Synthetics/SyntheticsClient.php', - 'Aws\\TaxSettings\\Exception\\TaxSettingsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TaxSettings/Exception/TaxSettingsException.php', - 'Aws\\TaxSettings\\TaxSettingsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TaxSettings/TaxSettingsClient.php', 'Aws\\Textract\\Exception\\TextractException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Textract/Exception/TextractException.php', 'Aws\\Textract\\TextractClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Textract/TextractClient.php', - 'Aws\\TimestreamInfluxDB\\Exception\\TimestreamInfluxDBException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamInfluxDB/Exception/TimestreamInfluxDBException.php', - 'Aws\\TimestreamInfluxDB\\TimestreamInfluxDBClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamInfluxDB/TimestreamInfluxDBClient.php', 'Aws\\TimestreamQuery\\Exception\\TimestreamQueryException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamQuery/Exception/TimestreamQueryException.php', 'Aws\\TimestreamQuery\\TimestreamQueryClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamQuery/TimestreamQueryClient.php', 'Aws\\TimestreamWrite\\Exception\\TimestreamWriteException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamWrite/Exception/TimestreamWriteException.php', 'Aws\\TimestreamWrite\\TimestreamWriteClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TimestreamWrite/TimestreamWriteClient.php', - 'Aws\\Tnb\\Exception\\TnbException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Tnb/Exception/TnbException.php', - 'Aws\\Tnb\\TnbClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Tnb/TnbClient.php', - 'Aws\\Token\\BearerTokenAuthorization' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/BearerTokenAuthorization.php', - 'Aws\\Token\\BedrockTokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/BedrockTokenProvider.php', - 'Aws\\Token\\ParsesIniTrait' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/ParsesIniTrait.php', - 'Aws\\Token\\RefreshableTokenProviderInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/RefreshableTokenProviderInterface.php', - 'Aws\\Token\\SsoToken' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/SsoToken.php', - 'Aws\\Token\\SsoTokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/SsoTokenProvider.php', - 'Aws\\Token\\Token' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/Token.php', - 'Aws\\Token\\TokenAuthorization' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenAuthorization.php', - 'Aws\\Token\\TokenInterface' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenInterface.php', - 'Aws\\Token\\TokenProvider' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenProvider.php', - 'Aws\\Token\\TokenSource' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Token/TokenSource.php', 'Aws\\TraceMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TraceMiddleware.php', 'Aws\\TranscribeService\\Exception\\TranscribeServiceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TranscribeService/Exception/TranscribeServiceException.php', 'Aws\\TranscribeService\\TranscribeServiceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php', @@ -1539,15 +1097,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Transfer\\TransferClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Transfer/TransferClient.php', 'Aws\\Translate\\Exception\\TranslateException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Translate/Exception/TranslateException.php', 'Aws\\Translate\\TranslateClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Translate/TranslateClient.php', - 'Aws\\TrustedAdvisor\\Exception\\TrustedAdvisorException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TrustedAdvisor/Exception/TrustedAdvisorException.php', - 'Aws\\TrustedAdvisor\\TrustedAdvisorClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/TrustedAdvisor/TrustedAdvisorClient.php', - 'Aws\\UserAgentMiddleware' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/UserAgentMiddleware.php', - 'Aws\\VPCLattice\\Exception\\VPCLatticeException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VPCLattice/Exception/VPCLatticeException.php', - 'Aws\\VPCLattice\\VPCLatticeClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VPCLattice/VPCLatticeClient.php', - 'Aws\\VerifiedPermissions\\Exception\\VerifiedPermissionsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VerifiedPermissions/Exception/VerifiedPermissionsException.php', - 'Aws\\VerifiedPermissions\\VerifiedPermissionsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VerifiedPermissions/VerifiedPermissionsClient.php', - 'Aws\\VoiceID\\Exception\\VoiceIDException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VoiceID/Exception/VoiceIDException.php', - 'Aws\\VoiceID\\VoiceIDClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/VoiceID/VoiceIDClient.php', 'Aws\\WAFV2\\Exception\\WAFV2Exception' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WAFV2/Exception/WAFV2Exception.php', 'Aws\\WAFV2\\WAFV2Client' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WAFV2/WAFV2Client.php', 'Aws\\WafRegional\\Exception\\WafRegionalException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WafRegional/Exception/WafRegionalException.php', @@ -1557,8 +1106,6 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\Waiter' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Waiter.php', 'Aws\\WellArchitected\\Exception\\WellArchitectedException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WellArchitected/Exception/WellArchitectedException.php', 'Aws\\WellArchitected\\WellArchitectedClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WellArchitected/WellArchitectedClient.php', - 'Aws\\Wickr\\Exception\\WickrException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Wickr/Exception/WickrException.php', - 'Aws\\Wickr\\WickrClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/Wickr/WickrClient.php', 'Aws\\WorkDocs\\Exception\\WorkDocsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkDocs/Exception/WorkDocsException.php', 'Aws\\WorkDocs\\WorkDocsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php', 'Aws\\WorkLink\\Exception\\WorkLinkException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkLink/Exception/WorkLinkException.php', @@ -1567,29 +1114,15 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Aws\\WorkMailMessageFlow\\WorkMailMessageFlowClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMailMessageFlow/WorkMailMessageFlowClient.php', 'Aws\\WorkMail\\Exception\\WorkMailException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMail/Exception/WorkMailException.php', 'Aws\\WorkMail\\WorkMailClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkMail/WorkMailClient.php', - 'Aws\\WorkSpacesThinClient\\Exception\\WorkSpacesThinClientException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesThinClient/Exception/WorkSpacesThinClientException.php', - 'Aws\\WorkSpacesThinClient\\WorkSpacesThinClientClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesThinClient/WorkSpacesThinClientClient.php', - 'Aws\\WorkSpacesWeb\\Exception\\WorkSpacesWebException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesWeb/Exception/WorkSpacesWebException.php', - 'Aws\\WorkSpacesWeb\\WorkSpacesWebClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpacesWeb/WorkSpacesWebClient.php', 'Aws\\WorkSpaces\\Exception\\WorkSpacesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpaces/Exception/WorkSpacesException.php', 'Aws\\WorkSpaces\\WorkSpacesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php', - 'Aws\\WorkspacesInstances\\Exception\\WorkspacesInstancesException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkspacesInstances/Exception/WorkspacesInstancesException.php', - 'Aws\\WorkspacesInstances\\WorkspacesInstancesClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WorkspacesInstances/WorkspacesInstancesClient.php', 'Aws\\WrappedHttpHandler' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/WrappedHttpHandler.php', 'Aws\\XRay\\Exception\\XRayException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/XRay/Exception/XRayException.php', 'Aws\\XRay\\XRayClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/XRay/XRayClient.php', - 'Aws\\drs\\Exception\\drsException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/drs/Exception/drsException.php', - 'Aws\\drs\\drsClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/drs/drsClient.php', - 'Aws\\finspace\\Exception\\finspaceException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/finspace/Exception/finspaceException.php', - 'Aws\\finspace\\finspaceClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/finspace/finspaceClient.php', 'Aws\\imagebuilder\\Exception\\imagebuilderException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/imagebuilder/Exception/imagebuilderException.php', 'Aws\\imagebuilder\\imagebuilderClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/imagebuilder/imagebuilderClient.php', - 'Aws\\ivschat\\Exception\\ivschatException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ivschat/Exception/ivschatException.php', - 'Aws\\ivschat\\ivschatClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/ivschat/ivschatClient.php', 'Aws\\kendra\\Exception\\kendraException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/kendra/Exception/kendraException.php', 'Aws\\kendra\\kendraClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/kendra/kendraClient.php', - 'Aws\\mgn\\Exception\\mgnException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/mgn/Exception/mgnException.php', - 'Aws\\mgn\\mgnClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/mgn/mgnClient.php', 'Aws\\signer\\Exception\\signerException' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/signer/Exception/signerException.php', 'Aws\\signer\\signerClient' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/signer/signerClient.php', 'BestellungPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.bestellung.php', @@ -1667,11 +1200,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'Geschaeftsbrief' => __DIR__ . '/../..' . '/www/lib/dokumente/class.geschaeftsbrief.php', 'GroupTable' => __DIR__ . '/../..' . '/phpwf/widgets/grouptable.php', 'GutschriftPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.gutschrift.php', - 'GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php', - 'GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php', 'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php', - 'GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php', 'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -1693,12 +1223,10 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', - 'GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php', 'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php', - 'GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php', 'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php', 'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -1722,10 +1250,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php', 'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php', 'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php', - 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php', 'GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php', - 'GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php', 'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php', 'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php', 'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php', @@ -2434,10 +1960,8 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee 'ObjectAPI' => __DIR__ . '/../..' . '/phpwf/plugins/class.objectapi.php', 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', 'PDF_EPS' => __DIR__ . '/../..' . '/www/lib/pdf/fpdf_final.php', - 'PHPMailer\\PHPMailer\\DSNConfigurator' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/DSNConfigurator.php', 'PHPMailer\\PHPMailer\\Exception' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/Exception.php', 'PHPMailer\\PHPMailer\\OAuth' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/OAuth.php', - 'PHPMailer\\PHPMailer\\OAuthTokenProvider' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/OAuthTokenProvider.php', 'PHPMailer\\PHPMailer\\PHPMailer' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/PHPMailer.php', 'PHPMailer\\PHPMailer\\POP3' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/POP3.php', 'PHPMailer\\PHPMailer\\SMTP' => __DIR__ . '/..' . '/phpmailer/phpmailer/src/SMTP.php', @@ -4906,11 +4430,11 @@ class ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$prefixDirsPsr4; - $loader->fallbackDirsPsr4 = ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$fallbackDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$prefixesPsr0; - $loader->classMap = ComposerStaticInit0c49a81c1214ef2f7493c6ce921b17ee::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$prefixDirsPsr4; + $loader->fallbackDirsPsr4 = ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$fallbackDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$prefixesPsr0; + $loader->classMap = ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 8f974ba08..bd4a8d66a 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,3111 +1,3125 @@ { - "packages": [ - { - "name": "aura/sqlquery", - "version": "2.7.1", - "version_normalized": "2.7.1.0", - "source": { - "type": "git", - "url": "https://github.com/auraphp/Aura.SqlQuery.git", - "reference": "dd81b57aeb43628180a9c70a4df58d872024d7f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/auraphp/Aura.SqlQuery/zipball/dd81b57aeb43628180a9c70a4df58d872024d7f2", - "reference": "dd81b57aeb43628180a9c70a4df58d872024d7f2", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "suggest": { - "aura/sql": "Provides an extension to the native PDO along with a profiler and connection locator. Use version 2.*." - }, - "time": "2016-10-03T20:34:56+00:00", - "type": "library", - "extra": { - "aura": { - "type": "library" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Aura\\SqlQuery\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Aura.SqlQuery Contributors", - "homepage": "https://github.com/auraphp/Aura.SqlQuery/contributors" - } - ], - "description": "Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.", - "homepage": "https://github.com/auraphp/Aura.SqlQuery", - "keywords": [ - "database", - "db", - "delete", - "dml", - "insert", - "mysql", - "pdo", - "pgsql", - "postgres", - "postgresql", - "query", - "select", - "sql", - "sql server", - "sqlite", - "sqlserver", - "update" - ], - "support": { - "issues": "https://github.com/auraphp/Aura.SqlQuery/issues", - "source": "https://github.com/auraphp/Aura.SqlQuery/tree/2.7.1" - }, - "install-path": "../aura/sqlquery" + "packages": [ + { + "name": "aura/sqlquery", + "version": "2.7.1", + "version_normalized": "2.7.1.0", + "source": { + "type": "git", + "url": "https://github.com/auraphp/Aura.SqlQuery.git", + "reference": "dd81b57aeb43628180a9c70a4df58d872024d7f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/auraphp/Aura.SqlQuery/zipball/dd81b57aeb43628180a9c70a4df58d872024d7f2", + "reference": "dd81b57aeb43628180a9c70a4df58d872024d7f2", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "suggest": { + "aura/sql": "Provides an extension to the native PDO along with a profiler and connection locator. Use version 2.*." + }, + "time": "2016-10-03T20:34:56+00:00", + "type": "library", + "extra": { + "aura": { + "type": "library" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Aura\\SqlQuery\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Aura.SqlQuery Contributors", + "homepage": "https://github.com/auraphp/Aura.SqlQuery/contributors" + } + ], + "description": "Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.", + "homepage": "https://github.com/auraphp/Aura.SqlQuery", + "keywords": [ + "database", + "db", + "delete", + "dml", + "insert", + "mysql", + "pdo", + "pgsql", + "postgres", + "postgresql", + "query", + "select", + "sql", + "sql server", + "sqlite", + "sqlserver", + "update" + ], + "support": { + "issues": "https://github.com/auraphp/Aura.SqlQuery/issues", + "source": "https://github.com/auraphp/Aura.SqlQuery/tree/2.7.1" + }, + "install-path": "../aura/sqlquery" + }, + { + "name": "aws/aws-sdk-php", + "version": "3.175.2", + "version_normalized": "3.175.2.0", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "a8e88eac60b403ed76643327e74f55831570a64b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a8e88eac60b403ed76643327e74f55831570a64b", + "reference": "a8e88eac60b403ed76643327e74f55831570a64b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", + "guzzlehttp/promises": "^1.4.0", + "guzzlehttp/psr7": "^1.7.0", + "mtdowling/jmespath.php": "^2.6", + "php": ">=5.5" + }, + "require-dev": { + "andrewsville/php-token-reflection": "^1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "behat/behat": "~3.0", + "doctrine/cache": "~1.4", + "ext-dom": "*", + "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", + "nette/neon": "^2.3", + "paragonie/random_compat": ">= 2", + "phpunit/phpunit": "^4.8.35|^5.4.3", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "sebastian/comparator": "^1.2.3" + }, + "suggest": { + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "ext-curl": "To send requests using cURL", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" + }, + "time": "2021-03-23T18:18:49+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Aws\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" + } + ], + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" + ], + "support": { + "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "issues": "https://github.com/aws/aws-sdk-php/issues", + "source": "https://github.com/aws/aws-sdk-php/tree/3.175.2" + }, + "install-path": "../aws/aws-sdk-php" + }, + { + "name": "datto/json-rpc", + "version": "6.1.0", + "version_normalized": "6.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/datto/php-json-rpc.git", + "reference": "ad4d735f48d80c6b53f7405e5007d97c996533f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/datto/php-json-rpc/zipball/ad4d735f48d80c6b53f7405e5007d97c996533f6", + "reference": "ad4d735f48d80c6b53f7405e5007d97c996533f6", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5" + }, + "time": "2020-02-28T23:54:06+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Datto\\JsonRpc\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0+" + ], + "authors": [ + { + "name": "Spencer Mortensen", + "email": "smortensen@datto.com", + "homepage": "http://spencermortensen.com", + "role": "Developer" + } + ], + "description": "Fully unit-tested JSON-RPC 2.0 for PHP", + "homepage": "http://datto.com", + "keywords": [ + "json", + "json-rpc", + "jsonrpc", + "php", + "php-json-rpc", + "rpc" + ], + "support": { + "issues": "https://github.com/datto/php-json-rpc/issues", + "source": "https://github.com/datto/php-json-rpc/tree/6.1.0" + }, + "install-path": "../datto/json-rpc" + }, + { + "name": "datto/json-rpc-http", + "version": "5.0.6", + "version_normalized": "5.0.6.0", + "source": { + "type": "git", + "url": "https://github.com/datto/php-json-rpc-http.git", + "reference": "db15a075f3562c4e8d297b9082acc5b2869bd4b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/datto/php-json-rpc-http/zipball/db15a075f3562c4e8d297b9082acc5b2869bd4b4", + "reference": "db15a075f3562c4e8d297b9082acc5b2869bd4b4", + "shasum": "" + }, + "require": { + "datto/json-rpc": "~6.1", + "php": ">=7.0.0" + }, + "time": "2020-03-02T21:27:10+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Datto\\JsonRpc\\Http\\": "src", + "Datto\\JsonRpc\\Http\\Examples\\": "examples/src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0+" + ], + "authors": [ + { + "name": "Spencer Mortensen", + "email": "smortensen@datto.com", + "homepage": "http://spencermortensen.com", + "role": "Developer" + } + ], + "description": "HTTP client and server for JSON-RPC 2.0", + "homepage": "http://datto.com", + "keywords": [ + "client", + "http", + "json", + "json-rpc", + "jsonrpc", + "php", + "php-json-rpc", + "rpc", + "server" + ], + "support": { + "issues": "https://github.com/datto/php-json-rpc-http/issues", + "source": "https://github.com/datto/php-json-rpc-http/tree/master" + }, + "install-path": "../datto/json-rpc-http" + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.13.0", + "version_normalized": "4.13.0.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75", + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "require-dev": { + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" + }, + "time": "2020-06-29T00:56:53+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ { - "name": "aws/aws-sdk-php", - "version": "3.175.2", - "version_normalized": "3.175.2.0", - "source": { - "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "a8e88eac60b403ed76643327e74f55831570a64b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a8e88eac60b403ed76643327e74f55831570a64b", - "reference": "a8e88eac60b403ed76643327e74f55831570a64b", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", - "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.7.0", - "mtdowling/jmespath.php": "^2.6", - "php": ">=5.5" - }, - "require-dev": { - "andrewsville/php-token-reflection": "^1.4", - "aws/aws-php-sns-message-validator": "~1.0", - "behat/behat": "~3.0", - "doctrine/cache": "~1.4", - "ext-dom": "*", - "ext-openssl": "*", - "ext-pcntl": "*", - "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35|^5.4.3", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3" - }, - "suggest": { - "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", - "doctrine/cache": "To use the DoctrineCacheAdapter", - "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", - "ext-sockets": "To use client-side monitoring" - }, - "time": "2021-03-23T18:18:49+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Aws\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Amazon Web Services", - "homepage": "http://aws.amazon.com" - } - ], - "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "cloud", - "dynamodb", - "ec2", - "glacier", - "s3", - "sdk" - ], - "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", - "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.175.2" - }, - "install-path": "../aws/aws-sdk-php" + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/master" + }, + "install-path": "../ezyang/htmlpurifier" + }, + { + "name": "fiskaly/fiskaly-sdk-php", + "version": "1.2.100", + "version_normalized": "1.2.100.0", + "source": { + "type": "git", + "url": "https://github.com/fiskaly/fiskaly-sdk-php.git", + "reference": "f2598d32f51ca18f81615df2b63deff7d9569097" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fiskaly/fiskaly-sdk-php/zipball/f2598d32f51ca18f81615df2b63deff7d9569097", + "reference": "f2598d32f51ca18f81615df2b63deff7d9569097", + "shasum": "" + }, + "require": { + "datto/json-rpc-http": "*", + "ext-json": "*", + "php": ">=7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.16", + "phpunit/phpunit": "^9.1" + }, + "time": "2020-08-19T12:28:28+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "FiskalyClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "fiskaly Cloud-TSE SDK for PHP", + "homepage": "https://github.com/fiskaly/fiskaly-sdk-php", + "keywords": [ + "fiskaly", + "php", + "src" + ], + "support": { + "issues": "https://github.com/fiskaly/fiskaly-sdk-php/issues", + "source": "https://github.com/fiskaly/fiskaly-sdk-php/tree/master" + }, + "abandoned": true, + "install-path": "../fiskaly/fiskaly-sdk-php" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.8", + "version_normalized": "6.5.8.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.9", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.17" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.1" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "time": "2022-06-20T22:16:07+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "datto/json-rpc", - "version": "6.1.0", - "version_normalized": "6.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/datto/php-json-rpc.git", - "reference": "ad4d735f48d80c6b53f7405e5007d97c996533f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/datto/php-json-rpc/zipball/ad4d735f48d80c6b53f7405e5007d97c996533f6", - "reference": "ad4d735f48d80c6b53f7405e5007d97c996533f6", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5" - }, - "time": "2020-02-28T23:54:06+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Datto\\JsonRpc\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ], - "authors": [ - { - "name": "Spencer Mortensen", - "email": "smortensen@datto.com", - "homepage": "http://spencermortensen.com", - "role": "Developer" - } - ], - "description": "Fully unit-tested JSON-RPC 2.0 for PHP", - "homepage": "http://datto.com", - "keywords": [ - "json", - "json-rpc", - "jsonrpc", - "php", - "php-json-rpc", - "rpc" - ], - "support": { - "issues": "https://github.com/datto/php-json-rpc/issues", - "source": "https://github.com/datto/php-json-rpc/tree/6.1.0" - }, - "install-path": "../datto/json-rpc" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" }, { - "name": "datto/json-rpc-http", - "version": "5.0.6", - "version_normalized": "5.0.6.0", - "source": { - "type": "git", - "url": "https://github.com/datto/php-json-rpc-http.git", - "reference": "db15a075f3562c4e8d297b9082acc5b2869bd4b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/datto/php-json-rpc-http/zipball/db15a075f3562c4e8d297b9082acc5b2869bd4b4", - "reference": "db15a075f3562c4e8d297b9082acc5b2869bd4b4", - "shasum": "" - }, - "require": { - "datto/json-rpc": "~6.1", - "php": ">=7.0.0" - }, - "time": "2020-03-02T21:27:10+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Datto\\JsonRpc\\Http\\Examples\\": "examples/src", - "Datto\\JsonRpc\\Http\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ], - "authors": [ - { - "name": "Spencer Mortensen", - "email": "smortensen@datto.com", - "homepage": "http://spencermortensen.com", - "role": "Developer" - } - ], - "description": "HTTP client and server for JSON-RPC 2.0", - "homepage": "http://datto.com", - "keywords": [ - "client", - "http", - "json", - "json-rpc", - "jsonrpc", - "php", - "php-json-rpc", - "rpc", - "server" - ], - "support": { - "issues": "https://github.com/datto/php-json-rpc-http/issues", - "source": "https://github.com/datto/php-json-rpc-http/tree/master" - }, - "install-path": "../datto/json-rpc-http" + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" }, { - "name": "ezyang/htmlpurifier", - "version": "v4.13.0", - "version_normalized": "4.13.0.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75", - "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75", - "shasum": "" - }, - "require": { - "php": ">=5.2" - }, - "require-dev": { - "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" - }, - "time": "2020-06-29T00:56:53+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "HTMLPurifier": "library/" - }, - "files": [ - "library/HTMLPurifier.composer.php" - ], - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/master" - }, - "install-path": "../ezyang/htmlpurifier" + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" }, { - "name": "fiskaly/fiskaly-sdk-php", - "version": "1.2.100", - "version_normalized": "1.2.100.0", - "source": { - "type": "git", - "url": "https://github.com/fiskaly/fiskaly-sdk-php.git", - "reference": "f2598d32f51ca18f81615df2b63deff7d9569097" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fiskaly/fiskaly-sdk-php/zipball/f2598d32f51ca18f81615df2b63deff7d9569097", - "reference": "f2598d32f51ca18f81615df2b63deff7d9569097", - "shasum": "" - }, - "require": { - "datto/json-rpc-http": "*", - "ext-json": "*", - "php": ">=7.1" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", - "phpunit/phpunit": "^9.1" - }, - "time": "2020-08-19T12:28:28+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "FiskalyClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "fiskaly Cloud-TSE SDK for PHP", - "homepage": "https://github.com/fiskaly/fiskaly-sdk-php", - "keywords": [ - "fiskaly", - "php", - "src" - ], - "support": { - "issues": "https://github.com/fiskaly/fiskaly-sdk-php/issues", - "source": "https://github.com/fiskaly/fiskaly-sdk-php/tree/v1.2.100" - }, - "install-path": "../fiskaly/fiskaly-sdk-php" + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" }, { - "name": "guzzlehttp/guzzle", - "version": "6.5.8", - "version_normalized": "6.5.8.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", - "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.9", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "time": "2022-06-20T22:16:07+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.5-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5.8" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "install-path": "../guzzlehttp/guzzle" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/6.5.8" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "install-path": "../guzzlehttp/guzzle" + }, + { + "name": "guzzlehttp/promises", + "version": "1.5.3", + "version_normalized": "1.5.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "time": "2023-05-21T12:31:43+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "install-path": "../guzzlehttp/promises" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.9.1", + "version_normalized": "1.9.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "time": "2023-04-17T16:00:37+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "guzzlehttp/promises", - "version": "1.5.3", - "version_normalized": "1.5.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" - }, - "time": "2023-05-21T12:31:43+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "install-path": "../guzzlehttp/promises" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" }, { - "name": "guzzlehttp/psr7", - "version": "1.9.1", - "version_normalized": "1.9.1.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", - "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "time": "2023-04-17T16:00:37+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.9.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "install-path": "../guzzlehttp/psr7" + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" }, { - "name": "laminas/laminas-loader", - "version": "2.11.1", - "version_normalized": "2.11.1.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-loader.git", - "reference": "c507d5eccb969f7208434e3980680a1f6c0b1d8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/c507d5eccb969f7208434e3980680a1f6c0b1d8d", - "reference": "c507d5eccb969f7208434e3980680a1f6c0b1d8d", - "shasum": "" - }, - "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" - }, - "conflict": { - "zendframework/zend-loader": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.4.0", - "phpunit/phpunit": "~9.5.25" - }, - "time": "2024-12-05T14:43:32+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Loader\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Autoloading and plugin loading strategies", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "loader" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-loader/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-loader/issues", - "rss": "https://github.com/laminas/laminas-loader/releases.atom", - "source": "https://github.com/laminas/laminas-loader" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "abandoned": true, - "install-path": "../laminas/laminas-loader" + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" }, { - "name": "laminas/laminas-mail", - "version": "2.25.1", - "version_normalized": "2.25.1.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-mail.git", - "reference": "110e04497395123998220e244cceecb167cc6dda" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mail/zipball/110e04497395123998220e244cceecb167cc6dda", - "reference": "110e04497395123998220e244cceecb167cc6dda", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "laminas/laminas-loader": "^2.9.0", - "laminas/laminas-mime": "^2.11.0", - "laminas/laminas-stdlib": "^3.17.0", - "laminas/laminas-validator": "^2.31.0", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0", - "symfony/polyfill-intl-idn": "^1.27.0", - "symfony/polyfill-mbstring": "^1.27.0", - "webmozart/assert": "^1.11.0" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-db": "^2.18", - "laminas/laminas-servicemanager": "^3.22.1", - "phpunit/phpunit": "^10.4.2", - "psalm/plugin-phpunit": "^0.18.4", - "symfony/process": "^6.3.4", - "vimeo/psalm": "^5.15" - }, - "suggest": { - "laminas/laminas-servicemanager": "^3.21 when using SMTP to deliver messages" - }, - "time": "2023-11-02T10:32:34+00:00", - "type": "library", - "extra": { - "laminas": { - "component": "Laminas\\Mail", - "config-provider": "Laminas\\Mail\\ConfigProvider" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Mail\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mail" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-mail/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-mail/issues", - "rss": "https://github.com/laminas/laminas-mail/releases.atom", - "source": "https://github.com/laminas/laminas-mail" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "abandoned": "symfony/mailer", - "install-path": "../laminas/laminas-mail" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" }, { - "name": "laminas/laminas-mime", - "version": "2.12.0", - "version_normalized": "2.12.0.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-mime.git", - "reference": "08cc544778829b7d68d27a097885bd6e7130135e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/08cc544778829b7d68d27a097885bd6e7130135e", - "reference": "08cc544778829b7d68d27a097885bd6e7130135e", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^2.7 || ^3.0", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "conflict": { - "zendframework/zend-mime": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.4.0", - "laminas/laminas-mail": "^2.19.0", - "phpunit/phpunit": "~9.5.25" - }, - "suggest": { - "laminas/laminas-mail": "Laminas\\Mail component" - }, - "time": "2023-11-02T16:47:19+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Mime\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Create and parse MIME messages and parts", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mime" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-mime/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-mime/issues", - "rss": "https://github.com/laminas/laminas-mime/releases.atom", - "source": "https://github.com/laminas/laminas-mime" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "abandoned": "symfony/mime", - "install-path": "../laminas/laminas-mime" + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.9.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "name": "laminas/laminas-servicemanager", - "version": "3.23.0", - "version_normalized": "3.23.0.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "a8640182b892b99767d54404d19c5c3b3699f79b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/a8640182b892b99767d54404d19c5c3b3699f79b", - "reference": "a8640182b892b99767d54404d19c5c3b3699f79b", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^3.19", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", - "psr/container": "^1.0" - }, - "conflict": { - "ext-psr": "*", - "laminas/laminas-code": "<4.10.0", - "zendframework/zend-code": "<3.3.1", - "zendframework/zend-servicemanager": "*" - }, - "provide": { - "psr/container-implementation": "^1.0" - }, - "replace": { - "container-interop/container-interop": "^1.2.0" - }, - "require-dev": { - "composer/package-versions-deprecated": "^1.11.99.5", - "friendsofphp/proxy-manager-lts": "^1.0.18", - "laminas/laminas-code": "^4.14.0", - "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-container-config-test": "^0.8", - "mikey179/vfsstream": "^1.6.12", - "phpbench/phpbench": "^1.3.1", - "phpunit/phpunit": "^10.5.36", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.26.1" - }, - "suggest": { - "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services" - }, - "time": "2024-10-28T21:32:16+00:00", - "bin": [ - "bin/generate-deps-for-config-factory", - "bin/generate-factory-for-class" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/autoload.php" - ], - "psr-4": { - "Laminas\\ServiceManager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Factory-Driven Dependency Injection Container", - "homepage": "https://laminas.dev", - "keywords": [ - "PSR-11", - "dependency-injection", - "di", - "dic", - "laminas", - "service-manager", - "servicemanager" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-servicemanager/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-servicemanager/issues", - "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", - "source": "https://github.com/laminas/laminas-servicemanager" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "install-path": "../laminas/laminas-servicemanager" + "url": "https://github.com/Nyholm", + "type": "github" }, { - "name": "laminas/laminas-stdlib", - "version": "3.20.0", - "version_normalized": "3.20.0.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", - "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", - "shasum": "" - }, - "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" - }, - "conflict": { - "zendframework/zend-stdlib": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "^3.0", - "phpbench/phpbench": "^1.3.1", - "phpunit/phpunit": "^10.5.38", - "psalm/plugin-phpunit": "^0.19.0", - "vimeo/psalm": "^5.26.1" - }, - "time": "2024-10-29T13:46:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "install-path": "../laminas/laminas-stdlib" + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "install-path": "../guzzlehttp/psr7" + }, + { + "name": "laminas/laminas-loader", + "version": "2.12.0", + "version_normalized": "2.12.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-loader.git", + "reference": "ec8cee33fb254ee4d9c8e8908c870e5c797e1272" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/ec8cee33fb254ee4d9c8e8908c870e5c797e1272", + "reference": "ec8cee33fb254ee4d9c8e8908c870e5c797e1272", + "shasum": "" + }, + "require": { + "php": "^8.0.0" + }, + "conflict": { + "zendframework/zend-loader": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.4.0", + "phpunit/phpunit": "~9.5.25" + }, + "time": "2025-12-30T11:30:39+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Loader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Autoloading and plugin loading strategies", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "loader" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-loader/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-loader/issues", + "rss": "https://github.com/laminas/laminas-loader/releases.atom", + "source": "https://github.com/laminas/laminas-loader" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "abandoned": true, + "install-path": "../laminas/laminas-loader" + }, + { + "name": "laminas/laminas-mail", + "version": "2.25.1", + "version_normalized": "2.25.1.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-mail.git", + "reference": "110e04497395123998220e244cceecb167cc6dda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-mail/zipball/110e04497395123998220e244cceecb167cc6dda", + "reference": "110e04497395123998220e244cceecb167cc6dda", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "laminas/laminas-loader": "^2.9.0", + "laminas/laminas-mime": "^2.11.0", + "laminas/laminas-stdlib": "^3.17.0", + "laminas/laminas-validator": "^2.31.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", + "symfony/polyfill-intl-idn": "^1.27.0", + "symfony/polyfill-mbstring": "^1.27.0", + "webmozart/assert": "^1.11.0" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-db": "^2.18", + "laminas/laminas-servicemanager": "^3.22.1", + "phpunit/phpunit": "^10.4.2", + "psalm/plugin-phpunit": "^0.18.4", + "symfony/process": "^6.3.4", + "vimeo/psalm": "^5.15" + }, + "suggest": { + "laminas/laminas-servicemanager": "^3.21 when using SMTP to deliver messages" + }, + "time": "2023-11-02T10:32:34+00:00", + "type": "library", + "extra": { + "laminas": { + "component": "Laminas\\Mail", + "config-provider": "Laminas\\Mail\\ConfigProvider" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Mail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "mail" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-mail/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-mail/issues", + "rss": "https://github.com/laminas/laminas-mail/releases.atom", + "source": "https://github.com/laminas/laminas-mail" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "abandoned": "symfony/mailer", + "install-path": "../laminas/laminas-mail" + }, + { + "name": "laminas/laminas-mime", + "version": "2.12.0", + "version_normalized": "2.12.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-mime.git", + "reference": "08cc544778829b7d68d27a097885bd6e7130135e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/08cc544778829b7d68d27a097885bd6e7130135e", + "reference": "08cc544778829b7d68d27a097885bd6e7130135e", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^2.7 || ^3.0", + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "conflict": { + "zendframework/zend-mime": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.4.0", + "laminas/laminas-mail": "^2.19.0", + "phpunit/phpunit": "~9.5.25" + }, + "suggest": { + "laminas/laminas-mail": "Laminas\\Mail component" + }, + "time": "2023-11-02T16:47:19+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Mime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Create and parse MIME messages and parts", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "mime" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-mime/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-mime/issues", + "rss": "https://github.com/laminas/laminas-mime/releases.atom", + "source": "https://github.com/laminas/laminas-mime" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "abandoned": "symfony/mime", + "install-path": "../laminas/laminas-mime" + }, + { + "name": "laminas/laminas-servicemanager", + "version": "3.23.1", + "version_normalized": "3.23.1.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-servicemanager.git", + "reference": "06594db3a644447521eace9b5efdb12dc8446a33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/06594db3a644447521eace9b5efdb12dc8446a33", + "reference": "06594db3a644447521eace9b5efdb12dc8446a33", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.19", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "psr/container": "^1.0" + }, + "conflict": { + "ext-psr": "*", + "laminas/laminas-code": "<4.10.0", + "zendframework/zend-code": "<3.3.1", + "zendframework/zend-servicemanager": "*" + }, + "provide": { + "psr/container-implementation": "^1.0" + }, + "replace": { + "container-interop/container-interop": "^1.2.0" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11.99.5", + "friendsofphp/proxy-manager-lts": "^1.0.18", + "laminas/laminas-code": "^4.16.0", + "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-container-config-test": "^0.8", + "mikey179/vfsstream": "^1.6.12", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^10.5.51", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.26.1" + }, + "suggest": { + "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services" + }, + "time": "2025-08-12T08:44:02+00:00", + "bin": [ + "bin/generate-deps-for-config-factory", + "bin/generate-factory-for-class" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ServiceManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Factory-Driven Dependency Injection Container", + "homepage": "https://laminas.dev", + "keywords": [ + "PSR-11", + "dependency-injection", + "di", + "dic", + "laminas", + "service-manager", + "servicemanager" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-servicemanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-servicemanager/issues", + "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", + "source": "https://github.com/laminas/laminas-servicemanager" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "install-path": "../laminas/laminas-servicemanager" + }, + { + "name": "laminas/laminas-stdlib", + "version": "3.20.0", + "version_normalized": "3.20.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-stdlib.git", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "shasum": "" + }, + "require": { + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "conflict": { + "zendframework/zend-stdlib": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" + }, + "time": "2024-10-29T13:46:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SPL extensions, array utilities, error handlers, and more", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "stdlib" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "install-path": "../laminas/laminas-stdlib" + }, + { + "name": "laminas/laminas-validator", + "version": "2.64.4", + "version_normalized": "2.64.4.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-validator.git", + "reference": "e2e6631f599a9b0db1e23adb633c09a2f0c68bed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/e2e6631f599a9b0db1e23adb633c09a2f0c68bed", + "reference": "e2e6631f599a9b0db1e23adb633c09a2f0c68bed", + "shasum": "" + }, + "require": { + "laminas/laminas-servicemanager": "^3.21.0", + "laminas/laminas-stdlib": "^3.19", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "psr/http-message": "^1.0.1 || ^2.0.0" + }, + "conflict": { + "zendframework/zend-validator": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^2.5", + "laminas/laminas-db": "^2.20", + "laminas/laminas-filter": "^2.35.2", + "laminas/laminas-i18n": "^2.26.0", + "laminas/laminas-session": "^2.20", + "laminas/laminas-uri": "^2.11.0", + "phpunit/phpunit": "^10.5.20", + "psalm/plugin-phpunit": "^0.19.0", + "psr/http-client": "^1.0.3", + "psr/http-factory": "^1.1.0", + "vimeo/psalm": "^5.24.0" + }, + "suggest": { + "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", + "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator", + "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", + "laminas/laminas-i18n-resources": "Translations of validator messages", + "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", + "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator", + "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators", + "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators" + }, + "time": "2025-06-16T14:38:00+00:00", + "type": "library", + "extra": { + "laminas": { + "component": "Laminas\\Validator", + "config-provider": "Laminas\\Validator\\ConfigProvider" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Validator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "validator" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-validator/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-validator/issues", + "rss": "https://github.com/laminas/laminas-validator/releases.atom", + "source": "https://github.com/laminas/laminas-validator" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "install-path": "../laminas/laminas-validator" + }, + { + "name": "league/color-extractor", + "version": "0.3.2", + "version_normalized": "0.3.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/color-extractor.git", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/837086ec60f50c84c611c613963e4ad2e2aec806", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": ">=5.4.0" + }, + "replace": { + "matthecat/colorextractor": "*" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~5" + }, + "time": "2016-12-15T09:30:02+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathieu Lechat", + "email": "math.lechat@gmail.com", + "homepage": "http://matthecat.com", + "role": "Developer" + } + ], + "description": "Extract colors from an image as a human would do.", + "homepage": "https://github.com/thephpleague/color-extractor", + "keywords": [ + "color", + "extract", + "human", + "image", + "palette" + ], + "support": { + "issues": "https://github.com/thephpleague/color-extractor/issues", + "source": "https://github.com/thephpleague/color-extractor/tree/master" + }, + "install-path": "../league/color-extractor" + }, + { + "name": "league/flysystem", + "version": "1.1.10", + "version_normalized": "1.1.10.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "time": "2022-10-04T09:16:37+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], + "install-path": "../league/flysystem" + }, + { + "name": "league/mime-type-detection", + "version": "1.16.0", + "version_normalized": "1.16.0.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "time": "2024-09-21T08:32:55+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" }, { - "name": "laminas/laminas-validator", - "version": "2.64.2", - "version_normalized": "2.64.2.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-validator.git", - "reference": "771e504760448ac7af660710237ceb93be602e08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/771e504760448ac7af660710237ceb93be602e08", - "reference": "771e504760448ac7af660710237ceb93be602e08", - "shasum": "" - }, - "require": { - "laminas/laminas-servicemanager": "^3.21.0", - "laminas/laminas-stdlib": "^3.19", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", - "psr/http-message": "^1.0.1 || ^2.0.0" - }, - "conflict": { - "zendframework/zend-validator": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "laminas/laminas-db": "^2.20", - "laminas/laminas-filter": "^2.35.2", - "laminas/laminas-i18n": "^2.26.0", - "laminas/laminas-session": "^2.20", - "laminas/laminas-uri": "^2.11.0", - "phpunit/phpunit": "^10.5.20", - "psalm/plugin-phpunit": "^0.19.0", - "psr/http-client": "^1.0.3", - "psr/http-factory": "^1.1.0", - "vimeo/psalm": "^5.24.0" - }, - "suggest": { - "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", - "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator", - "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", - "laminas/laminas-i18n-resources": "Translations of validator messages", - "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator", - "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators", - "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators" - }, - "time": "2024-11-26T21:29:17+00:00", - "type": "library", - "extra": { - "laminas": { - "component": "Laminas\\Validator", - "config-provider": "Laminas\\Validator\\ConfigProvider" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Validator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "validator" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-validator/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-validator/issues", - "rss": "https://github.com/laminas/laminas-validator/releases.atom", - "source": "https://github.com/laminas/laminas-validator" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "install-path": "../laminas/laminas-validator" + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "install-path": "../league/mime-type-detection" + }, + { + "name": "league/oauth1-client", + "version": "v1.9.0", + "version_normalized": "1.9.0.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/oauth1-client.git", + "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6", + "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-openssl": "*", + "guzzlehttp/guzzle": "^6.0|^7.0", + "php": ">=7.1||>=8.0" + }, + "require-dev": { + "ext-simplexml": "*", + "friendsofphp/php-cs-fixer": "^2.17", + "mockery/mockery": "^1.3.3", + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5||9.5" + }, + "suggest": { + "ext-simplexml": "For decoding XML-based responses." + }, + "time": "2021-01-20T01:40:53+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev", + "dev-develop": "2.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "League\\OAuth1\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Corlett", + "email": "bencorlett@me.com", + "homepage": "http://www.webcomm.com.au", + "role": "Developer" + } + ], + "description": "OAuth 1.0 Client Library", + "keywords": [ + "Authentication", + "SSO", + "authorization", + "bitbucket", + "identity", + "idp", + "oauth", + "oauth1", + "single sign on", + "trello", + "tumblr", + "twitter" + ], + "support": { + "issues": "https://github.com/thephpleague/oauth1-client/issues", + "source": "https://github.com/thephpleague/oauth1-client/tree/v1.9.0" + }, + "install-path": "../league/oauth1-client" + }, + { + "name": "lfkeitel/phptotp", + "version": "v1.1.0", + "version_normalized": "1.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/lfkeitel/php-totp.git", + "reference": "5b1673e895f857856b3e75ccb442855771c9b9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lfkeitel/php-totp/zipball/5b1673e895f857856b3e75ccb442855771c9b9be", + "reference": "5b1673e895f857856b3e75ccb442855771c9b9be", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "time": "2022-04-07T20:52:00+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "lfkeitel\\phptotp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "TOTP/HOTP library for PHP", + "keywords": [ + "Authentication", + "hotp", + "totp", + "two-factor" + ], + "support": { + "issues": "https://github.com/lfkeitel/php-totp/issues", + "source": "https://github.com/lfkeitel/php-totp/tree/v1.1.0" + }, + "install-path": "../lfkeitel/phptotp" + }, + { + "name": "mtdowling/jmespath.php", + "version": "2.8.0", + "version_normalized": "2.8.0.0", + "source": { + "type": "git", + "url": "https://github.com/jmespath/jmespath.php.git", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-mbstring": "^1.17" + }, + "require-dev": { + "composer/xdebug-handler": "^3.0.3", + "phpunit/phpunit": "^8.5.33" + }, + "time": "2024-09-04T18:46:31+00:00", + "bin": [ + "bin/jp.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/JmesPath.php" + ], + "psr-4": { + "JmesPath\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "league/color-extractor", - "version": "0.3.2", - "version_normalized": "0.3.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/color-extractor.git", - "reference": "837086ec60f50c84c611c613963e4ad2e2aec806" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/837086ec60f50c84c611c613963e4ad2e2aec806", - "reference": "837086ec60f50c84c611c613963e4ad2e2aec806", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "php": ">=5.4.0" - }, - "replace": { - "matthecat/colorextractor": "*" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2", - "phpunit/phpunit": "~5" - }, - "time": "2016-12-15T09:30:02+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mathieu Lechat", - "email": "math.lechat@gmail.com", - "homepage": "http://matthecat.com", - "role": "Developer" - } - ], - "description": "Extract colors from an image as a human would do.", - "homepage": "https://github.com/thephpleague/color-extractor", - "keywords": [ - "color", - "extract", - "human", - "image", - "palette" - ], - "support": { - "issues": "https://github.com/thephpleague/color-extractor/issues", - "source": "https://github.com/thephpleague/color-extractor/tree/master" - }, - "install-path": "../league/color-extractor" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Declaratively specify how to extract elements from a JSON document", + "keywords": [ + "json", + "jsonpath" + ], + "support": { + "issues": "https://github.com/jmespath/jmespath.php/issues", + "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" + }, + "install-path": "../mtdowling/jmespath.php" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "version_normalized": "1.3.0.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "time": "2018-02-13T20:26:39+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "install-path": "../nikic/fast-route" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.3.0", + "version_normalized": "6.3.0.0", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb", + "reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.2", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.5.6", + "yoast/phpunit-polyfills": "^0.2.0" + }, + "suggest": { + "ext-mbstring": "Needed to send email in multibyte encoding charset", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" + }, + "time": "2021-02-19T15:28:08+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" }, { - "name": "league/flysystem", - "version": "1.1.10", - "version_normalized": "1.1.10.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "time": "2022-10-04T09:16:37+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" - }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "install-path": "../league/flysystem" + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" }, { - "name": "league/mime-type-detection", - "version": "1.16.0", - "version_normalized": "1.16.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" - }, - "time": "2024-09-21T08:32:55+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "install-path": "../league/mime-type-detection" + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" }, { - "name": "league/oauth1-client", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-openssl": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "php": ">=7.1||>=8.0" - }, - "require-dev": { - "ext-simplexml": "*", - "friendsofphp/php-cs-fixer": "^2.17", - "mockery/mockery": "^1.3.3", - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5||9.5" - }, - "suggest": { - "ext-simplexml": "For decoding XML-based responses." - }, - "time": "2021-01-20T01:40:53+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "2.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\OAuth1\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "description": "OAuth 1.0 Client Library", - "keywords": [ - "Authentication", - "SSO", - "authorization", - "bitbucket", - "identity", - "idp", - "oauth", - "oauth1", - "single sign on", - "trello", - "tumblr", - "twitter" - ], - "support": { - "issues": "https://github.com/thephpleague/oauth1-client/issues", - "source": "https://github.com/thephpleague/oauth1-client/tree/v1.9.0" - }, - "install-path": "../league/oauth1-client" + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "install-path": "../phpmailer/phpmailer" + }, + { + "name": "psr/container", + "version": "1.1.2", + "version_normalized": "1.1.2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "time": "2021-11-05T16:50:12+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "install-path": "../psr/container" + }, + { + "name": "psr/http-message", + "version": "1.1", + "version_normalized": "1.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "time": "2023-04-04T09:50:52+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/1.1" + }, + "install-path": "../psr/http-message" + }, + { + "name": "psr/log", + "version": "1.1.4", + "version_normalized": "1.1.4.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2021-05-03T11:20:27+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "install-path": "../psr/log" + }, + { + "name": "rakit/validation", + "version": "v0.22.3", + "version_normalized": "0.22.3.0", + "source": { + "type": "git", + "url": "https://github.com/rakit/validation.git", + "reference": "61ed77b772c214faa67aaf1c4adf81502b06cd4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rakit/validation/zipball/61ed77b772c214faa67aaf1c4adf81502b06cd4b", + "reference": "61ed77b772c214faa67aaf1c4adf81502b06cd4b", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "time": "2018-11-10T03:57:56+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Rakit\\Validation\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Muhammad Syifa", + "email": "emsifa@gmail.com" + } + ], + "description": "PHP Laravel like standalone validation library", + "support": { + "issues": "https://github.com/rakit/validation/issues", + "source": "https://github.com/rakit/validation/tree/master" + }, + "install-path": "../rakit/validation" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "version_normalized": "3.0.3.0", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "time": "2019-03-08T08:55:37+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "install-path": "../ralouphie/getallheaders" + }, + { + "name": "sabre/dav", + "version": "3.2.3", + "version_normalized": "3.2.3.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/dav.git", + "reference": "a9780ce4f35560ecbd0af524ad32d9d2c8954b80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/dav/zipball/a9780ce4f35560ecbd0af524ad32d9d2c8954b80", + "reference": "a9780ce4f35560ecbd0af524ad32d9d2c8954b80", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-dom": "*", + "ext-iconv": "*", + "ext-mbstring": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "lib-libxml": ">=2.7.0", + "php": ">=5.5.0", + "psr/log": "^1.0", + "sabre/event": ">=2.0.0, <4.0.0", + "sabre/http": "^4.2.1", + "sabre/uri": "^1.0.1", + "sabre/vobject": "^4.1.0", + "sabre/xml": "^1.4.0" + }, + "require-dev": { + "evert/phpdoc-md": "~0.1.0", + "monolog/monolog": "^1.18", + "phpunit/phpunit": "> 4.8, <6.0.0", + "sabre/cs": "^1.0.0" + }, + "suggest": { + "ext-curl": "*", + "ext-pdo": "*" + }, + "time": "2018-10-19T09:58:27+00:00", + "bin": [ + "bin/sabredav", + "bin/naturalselection" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Sabre\\DAV\\": "lib/DAV/", + "Sabre\\CalDAV\\": "lib/CalDAV/", + "Sabre\\DAVACL\\": "lib/DAVACL/", + "Sabre\\CardDAV\\": "lib/CardDAV/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "WebDAV Framework for PHP", + "homepage": "http://sabre.io/", + "keywords": [ + "CalDAV", + "CardDAV", + "WebDAV", + "framework", + "iCalendar" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/dav/issues", + "source": "https://github.com/fruux/sabre-dav" + }, + "install-path": "../sabre/dav" + }, + { + "name": "sabre/event", + "version": "3.0.0", + "version_normalized": "3.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/event.git", + "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534", + "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "*", + "sabre/cs": "~0.0.4" + }, + "time": "2015-11-05T20:14:39+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "lib/coroutine.php", + "lib/Loop/functions.php", + "lib/Promise/functions.php" + ], + "psr-4": { + "Sabre\\Event\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "sabre/event is a library for lightweight event-based programming", + "homepage": "http://sabre.io/event/", + "keywords": [ + "EventEmitter", + "async", + "events", + "hooks", + "plugin", + "promise", + "signal" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/event/issues", + "source": "https://github.com/fruux/sabre-event" + }, + "install-path": "../sabre/event" + }, + { + "name": "sabre/http", + "version": "v4.2.4", + "version_normalized": "4.2.4.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/http.git", + "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/http/zipball/acccec4ba863959b2d10c1fa0fb902736c5c8956", + "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-mbstring": "*", + "php": ">=5.4", + "sabre/event": ">=1.0.0,<4.0.0", + "sabre/uri": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.3", + "sabre/cs": "~0.0.1" + }, + "suggest": { + "ext-curl": " to make http requests with the Client class" + }, + "time": "2018-02-23T11:10:29+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\HTTP\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", + "homepage": "https://github.com/fruux/sabre-http", + "keywords": [ + "http" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/http/issues", + "source": "https://github.com/fruux/sabre-http" + }, + "install-path": "../sabre/http" + }, + { + "name": "sabre/uri", + "version": "1.2.1", + "version_normalized": "1.2.1.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/uri.git", + "reference": "ada354d83579565949d80b2e15593c2371225e61" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/uri/zipball/ada354d83579565949d80b2e15593c2371225e61", + "reference": "ada354d83579565949d80b2e15593c2371225e61", + "shasum": "" + }, + "require": { + "php": ">=5.4.7" + }, + "require-dev": { + "phpunit/phpunit": ">=4.0,<6.0", + "sabre/cs": "~1.0.0" + }, + "time": "2017-02-20T19:59:28+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\Uri\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "Functions for making sense out of URIs.", + "homepage": "http://sabre.io/uri/", + "keywords": [ + "rfc3986", + "uri", + "url" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/uri/issues", + "source": "https://github.com/fruux/sabre-uri" + }, + "install-path": "../sabre/uri" + }, + { + "name": "sabre/vobject", + "version": "4.2.2", + "version_normalized": "4.2.2.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/vobject.git", + "reference": "449616b2d45b95c8973975de23f34a3d14f63b4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/vobject/zipball/449616b2d45b95c8973975de23f34a3d14f63b4b", + "reference": "449616b2d45b95c8973975de23f34a3d14f63b4b", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.5", + "sabre/xml": ">=1.5 <3.0" + }, + "require-dev": { + "phpunit/phpunit": "> 4.8.35, <6.0.0" + }, + "suggest": { + "hoa/bench": "If you would like to run the benchmark scripts" + }, + "time": "2020-01-14T10:18:45+00:00", + "bin": [ + "bin/vobject", + "bin/generate_vcards" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Sabre\\VObject\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" }, { - "name": "lfkeitel/phptotp", - "version": "v1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/lfkeitel/php-totp.git", - "reference": "5b1673e895f857856b3e75ccb442855771c9b9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lfkeitel/php-totp/zipball/5b1673e895f857856b3e75ccb442855771c9b9be", - "reference": "5b1673e895f857856b3e75ccb442855771c9b9be", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0 || ^8.0" - }, - "time": "2022-04-07T20:52:00+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "lfkeitel\\phptotp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "TOTP/HOTP library for PHP", - "keywords": [ - "Authentication", - "hotp", - "totp", - "two-factor" - ], - "support": { - "issues": "https://github.com/lfkeitel/php-totp/issues", - "source": "https://github.com/lfkeitel/php-totp/tree/v1.1.0" - }, - "install-path": "../lfkeitel/phptotp" + "name": "Dominik Tobschall", + "email": "dominik@fruux.com", + "homepage": "http://tobschall.de/", + "role": "Developer" }, { - "name": "mtdowling/jmespath.php", - "version": "2.8.0", - "version_normalized": "2.8.0.0", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", - "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-mbstring": "^1.17" - }, - "require-dev": { - "composer/xdebug-handler": "^3.0.3", - "phpunit/phpunit": "^8.5.33" - }, - "time": "2024-09-04T18:46:31+00:00", - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/JmesPath.php" - ], - "psr-4": { - "JmesPath\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "support": { - "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" - }, - "install-path": "../mtdowling/jmespath.php" + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net", + "homepage": "http://mnt.io/", + "role": "Developer" + } + ], + "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", + "homepage": "http://sabre.io/vobject/", + "keywords": [ + "availability", + "freebusy", + "iCalendar", + "ical", + "ics", + "jCal", + "jCard", + "recurrence", + "rfc2425", + "rfc2426", + "rfc2739", + "rfc4770", + "rfc5545", + "rfc5546", + "rfc6321", + "rfc6350", + "rfc6351", + "rfc6474", + "rfc6638", + "rfc6715", + "rfc6868", + "vCalendar", + "vCard", + "vcf", + "xCal", + "xCard" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/vobject/issues", + "source": "https://github.com/fruux/sabre-vobject" + }, + "install-path": "../sabre/vobject" + }, + { + "name": "sabre/xml", + "version": "1.5.1", + "version_normalized": "1.5.1.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/xml.git", + "reference": "a367665f1df614c3b8fefc30a54de7cd295e444e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/xml/zipball/a367665f1df614c3b8fefc30a54de7cd295e444e", + "reference": "a367665f1df614c3b8fefc30a54de7cd295e444e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "lib-libxml": ">=2.6.20", + "php": ">=5.5.5", + "sabre/uri": ">=1.0,<3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.7", + "sabre/cs": "~1.0.0" + }, + "time": "2019-01-09T13:51:57+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "lib/Deserializer/functions.php", + "lib/Serializer/functions.php" + ], + "psr-4": { + "Sabre\\Xml\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" }, { - "name": "nikic/fast-route", - "version": "v1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/FastRoute.git", - "reference": "181d480e08d9476e61381e04a71b34dc0432e812" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", - "reference": "181d480e08d9476e61381e04a71b34dc0432e812", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35|~5.7" - }, - "time": "2018-02-13T20:26:39+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "FastRoute\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov", - "email": "nikic@php.net" - } - ], - "description": "Fast request router for PHP", - "keywords": [ - "router", - "routing" - ], - "support": { - "issues": "https://github.com/nikic/FastRoute/issues", - "source": "https://github.com/nikic/FastRoute/tree/master" - }, - "install-path": "../nikic/fast-route" + "name": "Markus Staab", + "email": "markus.staab@redaxo.de", + "role": "Developer" + } + ], + "description": "sabre/xml is an XML library that you may not hate.", + "homepage": "https://sabre.io/xml/", + "keywords": [ + "XMLReader", + "XMLWriter", + "dom", + "xml" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/xml/issues", + "source": "https://github.com/fruux/sabre-xml" + }, + "install-path": "../sabre/xml" + }, + { + "name": "smarty/smarty", + "version": "v3.1.39", + "version_normalized": "3.1.39.0", + "source": { + "type": "git", + "url": "https://github.com/smarty-php/smarty.git", + "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/smarty-php/smarty/zipball/e27da524f7bcd7361e3ea5cdfa99c4378a7b5419", + "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^6.5 || ^5.7 || ^4.8", + "smarty/smarty-lexer": "^3.1" + }, + "time": "2021-02-17T21:57:51+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "classmap": [ + "libs/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Monte Ohrt", + "email": "monte@ohrt.com" }, { - "name": "phpmailer/phpmailer", - "version": "v6.3.0", - "version_normalized": "6.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb", - "reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.5.6", - "yoast/phpunit-polyfills": "^0.2.0" - }, - "suggest": { - "ext-mbstring": "Needed to send email in multibyte encoding charset", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" - }, - "time": "2021-02-19T15:28:08+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "install-path": "../phpmailer/phpmailer" + "name": "Uwe Tews", + "email": "uwe.tews@googlemail.com" }, { - "name": "psr/container", - "version": "1.1.2", - "version_normalized": "1.1.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "time": "2021-11-05T16:50:12+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" - }, - "install-path": "../psr/container" + "name": "Rodney Rehm", + "email": "rodney.rehm@medialize.de" + } + ], + "description": "Smarty - the compiling PHP template engine", + "homepage": "http://www.smarty.net", + "keywords": [ + "templating" + ], + "support": { + "forum": "http://www.smarty.net/forums/", + "irc": "irc://irc.freenode.org/smarty", + "issues": "https://github.com/smarty-php/smarty/issues", + "source": "https://github.com/smarty-php/smarty/tree/v3.1.39" + }, + "install-path": "../smarty/smarty" + }, + { + "name": "swiss-payment-slip/swiss-payment-slip", + "version": "0.13.0", + "version_normalized": "0.13.0.0", + "source": { + "type": "git", + "url": "https://github.com/ravage84/SwissPaymentSlip.git", + "reference": "3f5e23552e59ff486318c3af66b0374fa61a176f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ravage84/SwissPaymentSlip/zipball/3f5e23552e59ff486318c3af66b0374fa61a176f", + "reference": "3f5e23552e59ff486318c3af66b0374fa61a176f", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0.0", + "squizlabs/php_codesniffer": "^2.1.0" + }, + "time": "2019-02-27T15:06:58+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "SwissPaymentSlip\\SwissPaymentSlip\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Peter Siska", + "email": "pesche@gridonic.ch", + "homepage": "http://www.gridonic.ch", + "role": "Contributor" }, { - "name": "psr/http-message", - "version": "1.1", - "version_normalized": "1.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "time": "2023-04-04T09:50:52+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" - }, - "install-path": "../psr/http-message" + "name": "Manuel Reinhard", + "email": "manu@sprain.ch", + "homepage": "http://www.sprain.ch", + "role": "Developer of the original class" }, { - "name": "psr/log", - "version": "1.1.4", - "version_normalized": "1.1.4.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2021-05-03T11:20:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "install-path": "../psr/log" + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "role": "Lead developer" + } + ], + "description": "A library for creating Swiss payment slips (ESR)", + "homepage": "https://github.com/ravage84/SwissPaymentSlip", + "keywords": [ + "ESR", + "Einzahlungsschein", + "Inpayment slip", + "Payment slip" + ], + "support": { + "email": "ravage@bluewin.ch", + "issues": "https://github.com/ravage84/SwissPaymentSlip/issues", + "source": "https://github.com/ravage84/SwissPaymentSlip" + }, + "install-path": "../swiss-payment-slip/swiss-payment-slip" + }, + { + "name": "swiss-payment-slip/swiss-payment-slip-fpdf", + "version": "0.6.0", + "version_normalized": "0.6.0.0", + "source": { + "type": "git", + "url": "https://github.com/ravage84/SwissPaymentSlipFpdf.git", + "reference": "72f722188d89b2651d4751ab812146cb1f165061" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ravage84/SwissPaymentSlipFpdf/zipball/72f722188d89b2651d4751ab812146cb1f165061", + "reference": "72f722188d89b2651d4751ab812146cb1f165061", + "shasum": "" + }, + "require": { + "itbz/fpdf": "1.7.*", + "php": ">=5.3.0", + "swiss-payment-slip/swiss-payment-slip-pdf": "0.13.*" + }, + "require-dev": { + "phpunit/phpunit": "3.7.38", + "squizlabs/php_codesniffer": "2.1.*" + }, + "time": "2015-04-01T14:55:48+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "SwissPaymentSlip\\SwissPaymentSlipFpdf\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Peter Siska", + "email": "pesche@gridonic.ch", + "homepage": "http://www.gridonic.ch", + "role": "Contributor" }, { - "name": "rakit/validation", - "version": "v0.22.3", - "version_normalized": "0.22.3.0", - "source": { - "type": "git", - "url": "https://github.com/rakit/validation.git", - "reference": "61ed77b772c214faa67aaf1c4adf81502b06cd4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rakit/validation/zipball/61ed77b772c214faa67aaf1c4adf81502b06cd4b", - "reference": "61ed77b772c214faa67aaf1c4adf81502b06cd4b", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "time": "2018-11-10T03:57:56+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Rakit\\Validation\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Muhammad Syifa", - "email": "emsifa@gmail.com" - } - ], - "description": "PHP Laravel like standalone validation library", - "support": { - "issues": "https://github.com/rakit/validation/issues", - "source": "https://github.com/rakit/validation/tree/master" - }, - "install-path": "../rakit/validation" + "name": "Manuel Reinhard", + "email": "manu@sprain.ch", + "homepage": "http://www.sprain.ch", + "role": "Developer of the original class" }, { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "version_normalized": "3.0.3.0", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "time": "2019-03-08T08:55:37+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "install-path": "../ralouphie/getallheaders" + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Lead developer" + } + ], + "description": "Create Swiss payment slips with reference number (ESR) or without (ES) as PDFs with FPDF", + "homepage": "https://github.com/ravage84/SwissPaymentSlipFpdf", + "keywords": [ + "ESR", + "Einzahlungsschein", + "Inpayment slip", + "Payment slip", + "es", + "fpdf", + "pdf" + ], + "support": { + "email": "ravage@bluewin.ch", + "issues": "https://github.com/ravage84/SwissPaymentSlipFpdf/issues", + "source": "https://github.com/ravage84/SwissPaymentSlipFpdf" + }, + "install-path": "../swiss-payment-slip/swiss-payment-slip-fpdf" + }, + { + "name": "swiss-payment-slip/swiss-payment-slip-pdf", + "version": "0.13.1", + "version_normalized": "0.13.1.0", + "source": { + "type": "git", + "url": "https://github.com/ravage84/SwissPaymentSlipPdf.git", + "reference": "4355743b2406875e9fed2117d8df445ba6848be4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ravage84/SwissPaymentSlipPdf/zipball/4355743b2406875e9fed2117d8df445ba6848be4", + "reference": "4355743b2406875e9fed2117d8df445ba6848be4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "swiss-payment-slip/swiss-payment-slip": "0.11.1" + }, + "require-dev": { + "phpunit/phpunit": "3.7.38", + "squizlabs/php_codesniffer": "2.1.*" + }, + "time": "2015-02-18T20:04:44+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "SwissPaymentSlip\\SwissPaymentSlipPdf\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Peter Siska", + "email": "pesche@gridonic.ch", + "homepage": "http://www.gridonic.ch", + "role": "Contributor" }, { - "name": "sabre/dav", - "version": "3.2.3", - "version_normalized": "3.2.3.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/dav.git", - "reference": "a9780ce4f35560ecbd0af524ad32d9d2c8954b80" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/dav/zipball/a9780ce4f35560ecbd0af524ad32d9d2c8954b80", - "reference": "a9780ce4f35560ecbd0af524ad32d9d2c8954b80", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-dom": "*", - "ext-iconv": "*", - "ext-mbstring": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "lib-libxml": ">=2.7.0", - "php": ">=5.5.0", - "psr/log": "^1.0", - "sabre/event": ">=2.0.0, <4.0.0", - "sabre/http": "^4.2.1", - "sabre/uri": "^1.0.1", - "sabre/vobject": "^4.1.0", - "sabre/xml": "^1.4.0" - }, - "require-dev": { - "evert/phpdoc-md": "~0.1.0", - "monolog/monolog": "^1.18", - "phpunit/phpunit": "> 4.8, <6.0.0", - "sabre/cs": "^1.0.0" - }, - "suggest": { - "ext-curl": "*", - "ext-pdo": "*" - }, - "time": "2018-10-19T09:58:27+00:00", - "bin": [ - "bin/sabredav", - "bin/naturalselection" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Sabre\\DAV\\": "lib/DAV/", - "Sabre\\DAVACL\\": "lib/DAVACL/", - "Sabre\\CalDAV\\": "lib/CalDAV/", - "Sabre\\CardDAV\\": "lib/CardDAV/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "WebDAV Framework for PHP", - "homepage": "http://sabre.io/", - "keywords": [ - "CalDAV", - "CardDAV", - "WebDAV", - "framework", - "iCalendar" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/dav/issues", - "source": "https://github.com/fruux/sabre-dav" - }, - "install-path": "../sabre/dav" + "name": "Manuel Reinhard", + "email": "manu@sprain.ch", + "homepage": "http://www.sprain.ch", + "role": "Developer of the original class" }, { - "name": "sabre/event", - "version": "3.0.0", - "version_normalized": "3.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/event.git", - "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534", - "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "*", - "sabre/cs": "~0.0.4" - }, - "time": "2015-11-05T20:14:39+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Sabre\\Event\\": "lib/" - }, - "files": [ - "lib/coroutine.php", - "lib/Loop/functions.php", - "lib/Promise/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "sabre/event is a library for lightweight event-based programming", - "homepage": "http://sabre.io/event/", - "keywords": [ - "EventEmitter", - "async", - "events", - "hooks", - "plugin", - "promise", - "signal" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/event/issues", - "source": "https://github.com/fruux/sabre-event" - }, - "install-path": "../sabre/event" + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "role": "Lead developer" + } + ], + "description": "An abstract base class for creating Swiss payment slips with reference number (ESR) or without (ES) using a pdf engine", + "homepage": "https://github.com/ravage84/SwissPaymentSlipPdf", + "keywords": [ + "ESR", + "Einzahlungsschein", + "Inpayment slip", + "Payment slip", + "es", + "pdf" + ], + "support": { + "email": "ravage@bluewin.ch", + "issues": "https://github.com/ravage84/SwissPaymentSlipPdf/issues", + "source": "https://github.com/ravage84/SwissPaymentSlipPdf" + }, + "install-path": "../swiss-payment-slip/swiss-payment-slip-pdf" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.33.0", + "version_normalized": "1.33.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "time": "2024-09-10T14:38:51+00:00", + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" }, { - "name": "sabre/http", - "version": "v4.2.4", - "version_normalized": "4.2.4.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/http.git", - "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/http/zipball/acccec4ba863959b2d10c1fa0fb902736c5c8956", - "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-mbstring": "*", - "php": ">=5.4", - "sabre/event": ">=1.0.0,<4.0.0", - "sabre/uri": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.3", - "sabre/cs": "~0.0.1" - }, - "suggest": { - "ext-curl": " to make http requests with the Client class" - }, - "time": "2018-02-23T11:10:29+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Sabre\\HTTP\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", - "homepage": "https://github.com/fruux/sabre-http", - "keywords": [ - "http" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/http/issues", - "source": "https://github.com/fruux/sabre-http" - }, - "install-path": "../sabre/http" + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" }, { - "name": "sabre/uri", - "version": "1.2.1", - "version_normalized": "1.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/uri.git", - "reference": "ada354d83579565949d80b2e15593c2371225e61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/uri/zipball/ada354d83579565949d80b2e15593c2371225e61", - "reference": "ada354d83579565949d80b2e15593c2371225e61", - "shasum": "" - }, - "require": { - "php": ">=5.4.7" - }, - "require-dev": { - "phpunit/phpunit": ">=4.0,<6.0", - "sabre/cs": "~1.0.0" - }, - "time": "2017-02-20T19:59:28+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Sabre\\Uri\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "Functions for making sense out of URIs.", - "homepage": "http://sabre.io/uri/", - "keywords": [ - "rfc3986", - "uri", - "url" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/uri/issues", - "source": "https://github.com/fruux/sabre-uri" - }, - "install-path": "../sabre/uri" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "sabre/vobject", - "version": "4.2.2", - "version_normalized": "4.2.2.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/vobject.git", - "reference": "449616b2d45b95c8973975de23f34a3d14f63b4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/vobject/zipball/449616b2d45b95c8973975de23f34a3d14f63b4b", - "reference": "449616b2d45b95c8973975de23f34a3d14f63b4b", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.5", - "sabre/xml": ">=1.5 <3.0" - }, - "require-dev": { - "phpunit/phpunit": "> 4.8.35, <6.0.0" - }, - "suggest": { - "hoa/bench": "If you would like to run the benchmark scripts" - }, - "time": "2020-01-14T10:18:45+00:00", - "bin": [ - "bin/vobject", - "bin/generate_vcards" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Sabre\\VObject\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - }, - { - "name": "Dominik Tobschall", - "email": "dominik@fruux.com", - "homepage": "http://tobschall.de/", - "role": "Developer" - }, - { - "name": "Ivan Enderlin", - "email": "ivan.enderlin@hoa-project.net", - "homepage": "http://mnt.io/", - "role": "Developer" - } - ], - "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", - "homepage": "http://sabre.io/vobject/", - "keywords": [ - "availability", - "freebusy", - "iCalendar", - "ical", - "ics", - "jCal", - "jCard", - "recurrence", - "rfc2425", - "rfc2426", - "rfc2739", - "rfc4770", - "rfc5545", - "rfc5546", - "rfc6321", - "rfc6350", - "rfc6351", - "rfc6474", - "rfc6638", - "rfc6715", - "rfc6868", - "vCalendar", - "vCard", - "vcf", - "xCal", - "xCard" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/vobject/issues", - "source": "https://github.com/fruux/sabre-vobject" - }, - "install-path": "../sabre/vobject" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "sabre/xml", - "version": "1.5.1", - "version_normalized": "1.5.1.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/xml.git", - "reference": "a367665f1df614c3b8fefc30a54de7cd295e444e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/xml/zipball/a367665f1df614c3b8fefc30a54de7cd295e444e", - "reference": "a367665f1df614c3b8fefc30a54de7cd295e444e", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "lib-libxml": ">=2.6.20", - "php": ">=5.5.5", - "sabre/uri": ">=1.0,<3.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8|~5.7", - "sabre/cs": "~1.0.0" - }, - "time": "2019-01-09T13:51:57+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Sabre\\Xml\\": "lib/" - }, - "files": [ - "lib/Deserializer/functions.php", - "lib/Serializer/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - }, - { - "name": "Markus Staab", - "email": "markus.staab@redaxo.de", - "role": "Developer" - } - ], - "description": "sabre/xml is an XML library that you may not hate.", - "homepage": "https://sabre.io/xml/", - "keywords": [ - "XMLReader", - "XMLWriter", - "dom", - "xml" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/xml/issues", - "source": "https://github.com/fruux/sabre-xml" - }, - "install-path": "../sabre/xml" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "name": "smarty/smarty", - "version": "v3.1.39", - "version_normalized": "3.1.39.0", - "source": { - "type": "git", - "url": "https://github.com/smarty-php/smarty.git", - "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/smarty-php/smarty/zipball/e27da524f7bcd7361e3ea5cdfa99c4378a7b5419", - "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419", - "shasum": "" - }, - "require": { - "php": ">=5.2" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^6.5 || ^5.7 || ^4.8", - "smarty/smarty-lexer": "^3.1" - }, - "time": "2021-02-17T21:57:51+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "libs/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Monte Ohrt", - "email": "monte@ohrt.com" - }, - { - "name": "Uwe Tews", - "email": "uwe.tews@googlemail.com" - }, - { - "name": "Rodney Rehm", - "email": "rodney.rehm@medialize.de" - } - ], - "description": "Smarty - the compiling PHP template engine", - "homepage": "http://www.smarty.net", - "keywords": [ - "templating" - ], - "support": { - "forum": "http://www.smarty.net/forums/", - "irc": "irc://irc.freenode.org/smarty", - "issues": "https://github.com/smarty-php/smarty/issues", - "source": "https://github.com/smarty-php/smarty/tree/v3.1.39" - }, - "install-path": "../smarty/smarty" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-intl-idn" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "version_normalized": "1.33.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "time": "2024-09-09T11:45:10+00:00", + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "name": "swiss-payment-slip/swiss-payment-slip", - "version": "0.13.0", - "version_normalized": "0.13.0.0", - "source": { - "type": "git", - "url": "https://github.com/ravage84/SwissPaymentSlip.git", - "reference": "3f5e23552e59ff486318c3af66b0374fa61a176f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ravage84/SwissPaymentSlip/zipball/3f5e23552e59ff486318c3af66b0374fa61a176f", - "reference": "3f5e23552e59ff486318c3af66b0374fa61a176f", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0.0", - "squizlabs/php_codesniffer": "^2.1.0" - }, - "time": "2019-02-27T15:06:58+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "SwissPaymentSlip\\SwissPaymentSlip\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Peter Siska", - "email": "pesche@gridonic.ch", - "homepage": "http://www.gridonic.ch", - "role": "Contributor" - }, - { - "name": "Manuel Reinhard", - "email": "manu@sprain.ch", - "homepage": "http://www.sprain.ch", - "role": "Developer of the original class" - }, - { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "role": "Lead developer" - } - ], - "description": "A library for creating Swiss payment slips (ESR)", - "homepage": "https://github.com/ravage84/SwissPaymentSlip", - "keywords": [ - "ESR", - "Einzahlungsschein", - "Inpayment slip", - "Payment slip" - ], - "support": { - "email": "ravage@bluewin.ch", - "issues": "https://github.com/ravage84/SwissPaymentSlip/issues", - "source": "https://github.com/ravage84/SwissPaymentSlip" - }, - "install-path": "../swiss-payment-slip/swiss-payment-slip" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "swiss-payment-slip/swiss-payment-slip-fpdf", - "version": "0.6.0", - "version_normalized": "0.6.0.0", - "source": { - "type": "git", - "url": "https://github.com/ravage84/SwissPaymentSlipFpdf.git", - "reference": "72f722188d89b2651d4751ab812146cb1f165061" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ravage84/SwissPaymentSlipFpdf/zipball/72f722188d89b2651d4751ab812146cb1f165061", - "reference": "72f722188d89b2651d4751ab812146cb1f165061", - "shasum": "" - }, - "require": { - "itbz/fpdf": "1.7.*", - "php": ">=5.3.0", - "swiss-payment-slip/swiss-payment-slip-pdf": "0.13.*" - }, - "require-dev": { - "phpunit/phpunit": "3.7.38", - "squizlabs/php_codesniffer": "2.1.*" - }, - "time": "2015-04-01T14:55:48+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "SwissPaymentSlip\\SwissPaymentSlipFpdf\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Peter Siska", - "email": "pesche@gridonic.ch", - "homepage": "http://www.gridonic.ch", - "role": "Contributor" - }, - { - "name": "Manuel Reinhard", - "email": "manu@sprain.ch", - "homepage": "http://www.sprain.ch", - "role": "Developer of the original class" - }, - { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "homepage": "https://github.com/ravage84", - "role": "Lead developer" - } - ], - "description": "Create Swiss payment slips with reference number (ESR) or without (ES) as PDFs with FPDF", - "homepage": "https://github.com/ravage84/SwissPaymentSlipFpdf", - "keywords": [ - "ESR", - "Einzahlungsschein", - "Inpayment slip", - "Payment slip", - "es", - "fpdf", - "pdf" - ], - "support": { - "email": "ravage@bluewin.ch", - "issues": "https://github.com/ravage84/SwissPaymentSlipFpdf/issues", - "source": "https://github.com/ravage84/SwissPaymentSlipFpdf" - }, - "install-path": "../swiss-payment-slip/swiss-payment-slip-fpdf" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "swiss-payment-slip/swiss-payment-slip-pdf", - "version": "0.13.1", - "version_normalized": "0.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/ravage84/SwissPaymentSlipPdf.git", - "reference": "4355743b2406875e9fed2117d8df445ba6848be4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ravage84/SwissPaymentSlipPdf/zipball/4355743b2406875e9fed2117d8df445ba6848be4", - "reference": "4355743b2406875e9fed2117d8df445ba6848be4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "swiss-payment-slip/swiss-payment-slip": "0.11.1" - }, - "require-dev": { - "phpunit/phpunit": "3.7.38", - "squizlabs/php_codesniffer": "2.1.*" - }, - "time": "2015-02-18T20:04:44+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "SwissPaymentSlip\\SwissPaymentSlipPdf\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Peter Siska", - "email": "pesche@gridonic.ch", - "homepage": "http://www.gridonic.ch", - "role": "Contributor" - }, - { - "name": "Manuel Reinhard", - "email": "manu@sprain.ch", - "homepage": "http://www.sprain.ch", - "role": "Developer of the original class" - }, - { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "role": "Lead developer" - } - ], - "description": "An abstract base class for creating Swiss payment slips with reference number (ESR) or without (ES) using a pdf engine", - "homepage": "https://github.com/ravage84/SwissPaymentSlipPdf", - "keywords": [ - "ESR", - "Einzahlungsschein", - "Inpayment slip", - "Payment slip", - "es", - "pdf" - ], - "support": { - "email": "ravage@bluewin.ch", - "issues": "https://github.com/ravage84/SwissPaymentSlipPdf/issues", - "source": "https://github.com/ravage84/SwissPaymentSlipPdf" - }, - "install-path": "../swiss-payment-slip/swiss-payment-slip-pdf" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", - "version_normalized": "1.31.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "symfony/polyfill-intl-normalizer": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "time": "2024-09-09T11:45:10+00:00", - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-intl-idn" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", - "version_normalized": "1.31.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "time": "2024-09-09T11:45:10+00:00", - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-intl-normalizer" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-intl-normalizer" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "version_normalized": "1.33.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "time": "2024-12-23T08:48:59+00:00", + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", - "version_normalized": "1.31.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "time": "2024-09-09T11:45:10+00:00", - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-mbstring" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "tecnickcom/tcpdf", - "version": "6.3.5", - "version_normalized": "6.3.5.0", - "source": { - "type": "git", - "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/19a535eaa7fb1c1cac499109deeb1a7a201b4549", - "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2020-02-14T14:20:12+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "config", - "include", - "tcpdf.php", - "tcpdf_parser.php", - "tcpdf_import.php", - "tcpdf_barcodes_1d.php", - "tcpdf_barcodes_2d.php", - "include/tcpdf_colors.php", - "include/tcpdf_filters.php", - "include/tcpdf_font_data.php", - "include/tcpdf_fonts.php", - "include/tcpdf_images.php", - "include/tcpdf_static.php", - "include/barcodes/datamatrix.php", - "include/barcodes/pdf417.php", - "include/barcodes/qrcode.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-only" - ], - "authors": [ - { - "name": "Nicola Asuni", - "email": "info@tecnick.com", - "role": "lead" - } - ], - "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", - "homepage": "http://www.tcpdf.org/", - "keywords": [ - "PDFD32000-2008", - "TCPDF", - "barcodes", - "datamatrix", - "pdf", - "pdf417", - "qrcode" - ], - "support": { - "issues": "https://github.com/tecnickcom/TCPDF/issues", - "source": "https://github.com/tecnickcom/TCPDF/tree/6.3.5" - }, - "install-path": "../tecnickcom/tcpdf" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "webmozart/assert", - "version": "1.11.0", - "version_normalized": "1.11.0.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "time": "2022-06-03T18:03:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "install-path": "../webmozart/assert" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "name": "y0lk/oauth1-etsy", - "version": "1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/Y0lk/oauth1-etsy.git", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Y0lk/oauth1-etsy/zipball/3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "shasum": "" - }, - "require": { - "league/oauth1-client": "^1.7.0", - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0" - }, - "time": "2021-02-03T16:15:30+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Y0lk\\OAuth1\\Client\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Y0lk", - "email": "gabriel@inkrebit.com", - "homepage": "https://github.com/Y0lk" - } - ], - "description": "Etsy API OAuth 1.0 Client Provider for The PHP League OAuth1-Client", - "keywords": [ - "authorisation", - "authorization", - "client", - "etsy", - "oauth", - "oauth1" - ], - "support": { - "issues": "https://github.com/Y0lk/oauth1-etsy/issues", - "source": "https://github.com/Y0lk/oauth1-etsy/tree/1.1.0" - }, - "install-path": "../y0lk/oauth1-etsy" - } - ], - "dev": true, - "dev-package-names": [] + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-mbstring" + }, + { + "name": "tecnickcom/tcpdf", + "version": "6.3.5", + "version_normalized": "6.3.5.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/TCPDF.git", + "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/19a535eaa7fb1c1cac499109deeb1a7a201b4549", + "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2020-02-14T14:20:12+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "config", + "include", + "tcpdf.php", + "tcpdf_parser.php", + "tcpdf_import.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-only" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", + "homepage": "http://www.tcpdf.org/", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "barcodes", + "datamatrix", + "pdf", + "pdf417", + "qrcode" + ], + "support": { + "issues": "https://github.com/tecnickcom/TCPDF/issues", + "source": "https://github.com/tecnickcom/TCPDF/tree/6.3.5" + }, + "install-path": "../tecnickcom/tcpdf" + }, + { + "name": "webmozart/assert", + "version": "1.12.1", + "version_normalized": "1.12.1.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", + "php": "^7.2 || ^8.0" + }, + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" + }, + "time": "2025-10-29T15:56:20+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.12.1" + }, + "install-path": "../webmozart/assert" + }, + { + "name": "y0lk/oauth1-etsy", + "version": "1.1.0", + "version_normalized": "1.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/Y0lk/oauth1-etsy.git", + "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Y0lk/oauth1-etsy/zipball/3fef9d03787e01a72ef19cdcbbc243c166a5d425", + "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425", + "shasum": "" + }, + "require": { + "league/oauth1-client": "^1.7.0", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0" + }, + "time": "2021-02-03T16:15:30+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Y0lk\\OAuth1\\Client\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Y0lk", + "email": "gabriel@inkrebit.com", + "homepage": "https://github.com/Y0lk" + } + ], + "description": "Etsy API OAuth 1.0 Client Provider for The PHP League OAuth1-Client", + "keywords": [ + "authorisation", + "authorization", + "client", + "etsy", + "oauth", + "oauth1" + ], + "support": { + "issues": "https://github.com/Y0lk/oauth1-etsy/issues", + "source": "https://github.com/Y0lk/oauth1-etsy/tree/1.1.0" + }, + "install-path": "../y0lk/oauth1-etsy" + } + ], + "dev": true, + "dev-package-names": [] } diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 1292bc1b3..23f946522 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -113,9 +113,9 @@ ), ), 'laminas/laminas-loader' => array( - 'pretty_version' => '2.11.1', - 'version' => '2.11.1.0', - 'reference' => 'c507d5eccb969f7208434e3980680a1f6c0b1d8d', + 'pretty_version' => '2.12.0', + 'version' => '2.12.0.0', + 'reference' => 'ec8cee33fb254ee4d9c8e8908c870e5c797e1272', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-loader', 'aliases' => array(), @@ -140,9 +140,9 @@ 'dev_requirement' => false, ), 'laminas/laminas-servicemanager' => array( - 'pretty_version' => '3.23.0', - 'version' => '3.23.0.0', - 'reference' => 'a8640182b892b99767d54404d19c5c3b3699f79b', + 'pretty_version' => '3.23.1', + 'version' => '3.23.1.0', + 'reference' => '06594db3a644447521eace9b5efdb12dc8446a33', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-servicemanager', 'aliases' => array(), @@ -158,9 +158,9 @@ 'dev_requirement' => false, ), 'laminas/laminas-validator' => array( - 'pretty_version' => '2.64.2', - 'version' => '2.64.2.0', - 'reference' => '771e504760448ac7af660710237ceb93be602e08', + 'pretty_version' => '2.64.4', + 'version' => '2.64.4.0', + 'reference' => 'e2e6631f599a9b0db1e23adb633c09a2f0c68bed', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-validator', 'aliases' => array(), @@ -394,17 +394,17 @@ 'dev_requirement' => false, ), 'symfony/polyfill-intl-idn' => array( - 'pretty_version' => 'v1.31.0', - 'version' => '1.31.0.0', - 'reference' => 'c36586dcf89a12315939e00ec9b4474adcb1d773', + 'pretty_version' => 'v1.33.0', + 'version' => '1.33.0.0', + 'reference' => '9614ac4d8061dc257ecc64cba1b140873dce8ad3', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( - 'pretty_version' => 'v1.31.0', - 'version' => '1.31.0.0', + 'pretty_version' => 'v1.33.0', + 'version' => '1.33.0.0', 'reference' => '3833d7255cc303546435cb650316bff708a1c75c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', @@ -412,9 +412,9 @@ 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( - 'pretty_version' => 'v1.31.0', - 'version' => '1.31.0.0', - 'reference' => '85181ba99b2345b0ef10ce42ecac37612d9fd341', + 'pretty_version' => 'v1.33.0', + 'version' => '1.33.0.0', + 'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), @@ -430,9 +430,9 @@ 'dev_requirement' => false, ), 'webmozart/assert' => array( - 'pretty_version' => '1.11.0', - 'version' => '1.11.0.0', - 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', + 'pretty_version' => '1.12.1', + 'version' => '1.12.1.0', + 'reference' => '9be6926d8b485f55b9229203f962b51ed377ba68', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), diff --git a/vendor/datto/json-rpc-http/.gitignore b/vendor/datto/json-rpc-http/.gitignore new file mode 100644 index 000000000..d725f0fbb --- /dev/null +++ b/vendor/datto/json-rpc-http/.gitignore @@ -0,0 +1,5 @@ +/.idea/ +vendor/ +/.source +composer.lock +*.swp \ No newline at end of file diff --git a/vendor/datto/json-rpc-http/composer.json b/vendor/datto/json-rpc-http/composer.json new file mode 100644 index 000000000..10ae97365 --- /dev/null +++ b/vendor/datto/json-rpc-http/composer.json @@ -0,0 +1,26 @@ +{ + "name": "datto/json-rpc-http", + "type": "library", + "description": "HTTP client and server for JSON-RPC 2.0", + "keywords": ["php", "json", "rpc", "jsonrpc", "json-rpc", "php-json-rpc", "http", "client", "server"], + "homepage": "http://datto.com", + "license": "LGPL-3.0+", + "authors": [ + { + "name": "Spencer Mortensen", + "email": "smortensen@datto.com", + "homepage": "http://spencermortensen.com", + "role": "Developer" + } + ], + "require": { + "php": ">=7.0.0", + "datto/json-rpc": "~6.1" + }, + "autoload": { + "psr-4": { + "Datto\\JsonRpc\\Http\\Examples\\": "examples/src", + "Datto\\JsonRpc\\Http\\": "src" + } + } +} diff --git a/vendor/datto/json-rpc/.gitignore b/vendor/datto/json-rpc/.gitignore new file mode 100644 index 000000000..041bcb86e --- /dev/null +++ b/vendor/datto/json-rpc/.gitignore @@ -0,0 +1,6 @@ +.git/ +vendor/ +coverage/ +.idea/ +.source +composer.lock diff --git a/vendor/datto/json-rpc/composer.json b/vendor/datto/json-rpc/composer.json new file mode 100644 index 000000000..27ec6a81a --- /dev/null +++ b/vendor/datto/json-rpc/composer.json @@ -0,0 +1,33 @@ +{ + "name": "datto/json-rpc", + "type": "library", + "description": "Fully unit-tested JSON-RPC 2.0 for PHP", + "keywords": ["php", "json", "rpc", "jsonrpc", "json-rpc", "php-json-rpc"], + "homepage": "http://datto.com", + "license": "LGPL-3.0+", + "authors": [ + { + "name": "Spencer Mortensen", + "email": "smortensen@datto.com", + "homepage": "http://spencermortensen.com", + "role": "Developer" + } + ], + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5" + }, + "autoload": { + "psr-4": { + "Datto\\JsonRpc\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Datto\\JsonRpc\\Examples\\": "examples/src", + "Datto\\JsonRpc\\Tests\\": "tests" + } + } +} diff --git a/vendor/datto/json-rpc/tests/Api.php b/vendor/datto/json-rpc/tests/Api.php new file mode 100644 index 000000000..5b6083cea --- /dev/null +++ b/vendor/datto/json-rpc/tests/Api.php @@ -0,0 +1,94 @@ +. + * + * @author Spencer Mortensen + * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL-3.0 + * @copyright 2015 Datto, Inc. + */ + +namespace Datto\JsonRpc\Tests; + +use Datto\JsonRpc\Evaluator; +use Datto\JsonRpc\Exceptions; + +class Api implements Evaluator +{ + public function evaluate($method, $arguments) + { + switch ($method) { + case 'subtract': + return self::subtract($arguments); + + case 'implementation error': + return self::implementationError($arguments); + + case 'invalid implementation error': + return self::invalidImplementationError(); + + case 'application error': + return self::applicationError($arguments); + + case 'invalid application error': + return self::invalidApplicationError(); + + default: + throw new Exceptions\MethodException(); + } + } + + private static function subtract($arguments) + { + if (isset($arguments[0])) { + @list($a, $b) = $arguments; + } else { + $a = @$arguments['minuend']; + $b = @$arguments['subtrahend']; + } + + if (!is_int($a) || !is_int($b) || (count($arguments) !== 2)) { + throw new Exceptions\ArgumentException(); + } + + return $a - $b; + } + + private static function implementationError($arguments) + { + throw new Exceptions\ImplementationException(-32099, @$arguments[0]); + } + + private static function invalidImplementationError() + { + $invalid = new \StdClass(); + + throw new Exceptions\ImplementationException($invalid, $invalid); + } + + private static function applicationError($arguments) + { + throw new Exceptions\ApplicationException("Application error", 1, @$arguments[0]); + } + + private static function invalidApplicationError() + { + $invalid = new \StdClass(); + + throw new Exceptions\ApplicationException($invalid, $invalid, $invalid); + } +} diff --git a/vendor/datto/json-rpc/tests/ClientTest.php b/vendor/datto/json-rpc/tests/ClientTest.php new file mode 100644 index 000000000..ce6481c1b --- /dev/null +++ b/vendor/datto/json-rpc/tests/ClientTest.php @@ -0,0 +1,114 @@ +. + * + * @author Spencer Mortensen + * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL-3.0 + * @copyright 2015 Datto, Inc. + */ + +namespace Datto\JsonRpc\Tests; + +use PHPUnit\Framework\TestCase; +use Datto\JsonRpc\Client; +use Datto\JsonRpc\Responses\ResultResponse; +use Datto\JsonRpc\Responses\ErrorResponse; + +class ClientTest extends TestCase +{ + public function testNotification() + { + $client = new Client(); + $client->notify('subtract', array(3, 2)); + + $this->compare($client, '{"jsonrpc":"2.0","method":"subtract","params":[3,2]}'); + } + + public function testQuery() + { + $client = new Client(); + $client->query(1, 'subtract', array(3, 2)); + + $this->compare($client, '{"jsonrpc":"2.0","id":1,"method":"subtract","params":[3,2]}'); + } + + public function testBatch() + { + $client = new Client(); + $client->query(1, 'subtract', array(3, 2)); + $client->notify('subtract', array(4, 3)); + + $this->compare($client, '[{"jsonrpc":"2.0","id":1,"method":"subtract","params":[3,2]},{"jsonrpc":"2.0","method":"subtract","params":[4,3]}]'); + } + + public function testEmpty() + { + $client = new Client(); + + $this->compare($client, null); + } + + public function testReset() + { + $client = new Client(); + $client->notify('subtract', array(3, 2)); + $client->encode(); + + $this->compare($client, null); + } + + public function testDecodeResult() + { + $reply = '{"jsonrpc":"2.0","result":2,"id":1}'; + + $client = new Client(); + $actualOutput = $client->decode($reply); + $expectedOutput = [new ResultResponse(1, 2)]; + + $this->assertSameValues($expectedOutput, $actualOutput); + } + + public function testDecodeError() + { + $reply = '{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"Method not found"}}'; + + $client = new Client(); + $actualOutput = $client->decode($reply); + $expectedOutput = [new ErrorResponse(1, 'Method not found', -32601)]; + + $this->assertSameValues($expectedOutput, $actualOutput); + } + + private function assertSameValues($expected, $actual) + { + $expectedPhp = var_export($expected, true); + $actualPhp = var_export($actual, true); + + $this->assertSame($expectedPhp, $actualPhp); + } + + private function compare(Client $client, $expectedJsonOutput) + { + $actualJsonOutput = $client->encode(); + + $expectedOutput = @json_decode($expectedJsonOutput, true); + $actualOutput = @json_decode($actualJsonOutput, true); + + $this->assertEquals($expectedOutput, $actualOutput); + } +} diff --git a/vendor/datto/json-rpc/tests/ServerTest.php b/vendor/datto/json-rpc/tests/ServerTest.php new file mode 100644 index 000000000..181456c96 --- /dev/null +++ b/vendor/datto/json-rpc/tests/ServerTest.php @@ -0,0 +1,304 @@ +. + * + * @author Spencer Mortensen + * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL-3.0 + * @copyright 2015 Datto, Inc. + */ + +namespace Datto\JsonRpc\Tests; + +use PHPUnit\Framework\TestCase; +use Datto\JsonRpc\Server; + +class ServerTest extends TestCase +{ + public function testArgumentsPositionalA() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "subtract", "params": [3, 2]}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "result": 1}'; + + $this->compare($input, $output); + } + + public function testArgumentsPositionalB() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "subtract", "params": [2, 3]}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "result": -1}'; + + $this->compare($input, $output); + } + + public function testArgumentsNamedA() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "subtract", "params": {"minuend": 3, "subtrahend": 2}}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "result": 1}'; + + $this->compare($input, $output); + } + + public function testArgumentsInvalid() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "subtract", "params": []}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32602, "message": "Invalid params"}}'; + + $this->compare($input, $output); + } + + public function testArgumentsNamedB() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "subtract", "params": {"subtrahend": 2, "minuend": 3}}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "result": 1}'; + + $this->compare($input, $output); + } + + public function testNotificationArguments() + { + $input = '{"jsonrpc": "2.0", "method": "subtract", "params": [3, 2]}'; + + $output = 'null'; + + $this->compare($input, $output); + } + + public function testNotification() + { + $input = '{"jsonrpc": "2.0", "method": "subtract"}'; + + $output = 'null'; + + $this->compare($input, $output); + } + + public function testUndefinedMethod() + { + $input ='{"jsonrpc": "2.0", "id": 1, "method": "undefined"}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32601, "message": "Method not found"}}'; + + $this->compare($input, $output); + } + + public function testInvalidJson() + { + $input = '{"jsonrpc": "2.0", "method": "foobar", "params": "bar", "baz]'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32700, "message": "Parse error"}}'; + + $this->compare($input, $output); + } + + public function testMissingJsonrpcVersion() + { + $input = '{"method": "subtract", "params": [3, 2], "id": 1}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testInvalidJsonrpcVersion() + { + $input = '{"jsonrpc": "2.1", "id": 1, "method": "subtract", "params": [3, 2]}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testInvalidMethod() + { + $input = '{"jsonrpc": "2.0", "method": 1, "params": [1, 2]}'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testInvalidParams() + { + $input = '{"jsonrpc": "2.0", "method": "foobar", "params": "bar"}'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testImplementationError() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "implementation error"}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32099, "message": "Server error"}}'; + + $this->compare($input, $output); + } + + public function testImplementationErrorData() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "implementation error", "params": ["details"]}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32099, "message": "Server error", "data": "details"}}'; + + $this->compare($input, $output); + } + + public function testImplementationErrorInvalid() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "invalid implementation error"}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": -32099, "message": "Server error"}}'; + + $this->compare($input, $output); + } + + public function testApplicationError() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "application error"}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": 1, "message": "Application error"}}'; + + $this->compare($input, $output); + } + + public function testApplicationErrorData() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "application error", "params": ["details"]}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": 1, "message": "Application error", "data": "details"}}'; + + $this->compare($input, $output); + } + + public function testApplicationErrorInvalid() + { + $input = '{"jsonrpc": "2.0", "id": 1, "method": "invalid application error"}'; + + $output = '{"jsonrpc": "2.0", "id": 1, "error": {"code": 1, "message": ""}}'; + + $this->compare($input, $output); + } + + public function testInvalidId() + { + $input = '{"jsonrpc": "2.0", "method": "foobar", "params": [1, 2], "id": [1]}'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testBatchInvalidJson() + { + $input = ' [ + {"jsonrpc": "2.0", "method": "subtract", "params": [1, 2, 4], "id": "1"}, + {"jsonrpc": "2.0", "method" + ]'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32700, "message": "Parse error"}}'; + + $this->compare($input, $output); + } + + public function testBatchEmpty() + { + $input = '[ + ]'; + + $output = '{"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}'; + + $this->compare($input, $output); + } + + public function testBatchInvalidElement() + { + $input = '[ + 1 + ]'; + + $output = '[ + {"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}} + ]'; + + $this->compare($input, $output); + } + + public function testBatchInvalidElements() + { + $input = '[ + 1, + 2, + 3 + ]'; + + $output = '[ + {"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}, + {"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}, + {"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}} + ]'; + + $this->compare($input, $output); + } + + public function testBatch() + { + $input = '[ + {"jsonrpc": "2.0", "method": "subtract", "params": [1, -1], "id": "1"}, + {"jsonrpc": "2.0", "method": "subtract", "params": [1, -1]}, + {"foo": "boo"}, + {"jsonrpc": "2.0", "method": "undefined", "params": {"name": "myself"}, "id": "5"} + ]'; + + $output = '[ + {"jsonrpc": "2.0", "id": "1", "result": 2}, + {"jsonrpc": "2.0", "id": null, "error": {"code": -32600, "message": "Invalid Request"}}, + {"jsonrpc": "2.0", "id": "5", "error": {"code": -32601, "message": "Method not found"}} + ]'; + + $this->compare($input, $output); + } + + public function testBatchNotifications() + { + $input = '[ + {"jsonrpc": "2.0", "method": "subtract", "params": [4, 2]}, + {"jsonrpc": "2.0", "method": "subtract", "params": [3, 7]} + ]'; + + $output = 'null'; + + $this->compare($input, $output); + } + + private function compare($input, $expectedJsonOutput) + { + $server = new Server(new Api()); + $actualJsonOutput = $server->reply($input); + + $expectedOutput = json_decode($expectedJsonOutput, true); + $actualOutput = json_decode($actualJsonOutput, true); + + $this->assertSame($expectedOutput, $actualOutput); + } +} diff --git a/vendor/ezyang/htmlpurifier/composer.json b/vendor/ezyang/htmlpurifier/composer.json new file mode 100644 index 000000000..0ff86b5df --- /dev/null +++ b/vendor/ezyang/htmlpurifier/composer.json @@ -0,0 +1,28 @@ +{ + "name": "ezyang/htmlpurifier", + "description": "Standards compliant HTML filter written in PHP", + "type": "library", + "keywords": ["html"], + "homepage": "http://htmlpurifier.org/", + "license": "LGPL-2.1-or-later", + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "require": { + "php": ">=5.2" + }, + "require-dev": { + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" + }, + "autoload": { + "psr-0": { "HTMLPurifier": "library/" }, + "files": ["library/HTMLPurifier.composer.php"], + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + } +} diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README old mode 100644 new mode 100755 diff --git a/vendor/fiskaly/fiskaly-sdk-php/.gitignore b/vendor/fiskaly/fiskaly-sdk-php/.gitignore new file mode 100644 index 000000000..774d7733d --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/.gitignore @@ -0,0 +1,7 @@ +vendor/ +.idea/ +composer.lock +com.fiskaly.service* +env.php +.php_cs.cache +*.log diff --git a/vendor/fiskaly/fiskaly-sdk-php/.php_cs b/vendor/fiskaly/fiskaly-sdk-php/.php_cs new file mode 100644 index 000000000..18226d07c --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/.php_cs @@ -0,0 +1,14 @@ +notPath('vendor') + ->in(__DIR__); + +return PhpCsFixer\Config::create() + ->setRules([ + '@PSR2' => true, + 'array_syntax' => ['syntax' => 'short'], + 'ordered_imports' => ['sortAlgorithm' => 'alpha'], + 'no_unused_imports' => true, + ]) + ->setFinder($finder); diff --git a/vendor/fiskaly/fiskaly-sdk-php/composer.json b/vendor/fiskaly/fiskaly-sdk-php/composer.json new file mode 100644 index 000000000..10bcea0a1 --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/composer.json @@ -0,0 +1,28 @@ +{ + "name": "fiskaly/fiskaly-sdk-php", + "description": "fiskaly Cloud-TSE SDK for PHP", + "keywords": ["fiskaly", "php", "src"], + "type": "library", + "homepage": "https://github.com/fiskaly/fiskaly-sdk-php", + "license": "MIT", + "version": "1.2.100", + "require": { + "php": ">=7.1", + "datto/json-rpc-http": "*", + "ext-json": "*" + }, + "autoload": { + "psr-4": { + "FiskalyClient\\": "src" + } + }, + "require-dev": { + "phpunit/phpunit": "^9.1", + "friendsofphp/php-cs-fixer": "^2.16" + }, + "scripts": { + "format": [ + "vendor/bin/php-cs-fixer fix" + ] + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/examples/composer.json b/vendor/fiskaly/fiskaly-sdk-php/examples/composer.json new file mode 100644 index 000000000..a34e816b2 --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/examples/composer.json @@ -0,0 +1,12 @@ +{ + "name": "fiskaly-sdk-php-example", + "description": "fiskaly Cloud-TSE SDK for PHP", + "keywords": ["fiskaly", "php", "src", "example"], + "type": "project", + "license": "MIT", + "version": "1.0.0", + "require": { + "php": ">=7.1", + "fiskaly/fiskaly-sdk-php": "*" + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/tests/ErrorTest.php b/vendor/fiskaly/fiskaly-sdk-php/tests/ErrorTest.php new file mode 100644 index 000000000..493d65eab --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/tests/ErrorTest.php @@ -0,0 +1,40 @@ +createClient(); + $this->expectException(FiskalyHttpException::class); + + $response = $client->request( + 'PUT', + '/tss/ecb75169' + ); + + $this->assertNotNull($response); + $this->assertNotNull($response->getContext()); + $this->assertNotNull($response->getResponse()); + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientParametersTest.php b/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientParametersTest.php new file mode 100644 index 000000000..13c5ad81c --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientParametersTest.php @@ -0,0 +1,83 @@ +assertEquals('fiskaly_service must be provided', $e->getMessage()); + } + } + + /** + * @test + */ + public function testClientInitApiKeyParameter() + { + try { + return FiskalyClient::createUsingCredentials($_ENV["FISKALY_SERVICE_URL"], null, null, null); + } catch (Exception $e) { + $this->assertEquals('api_key must be provided', $e->getMessage()); + } + } + + /** + * @test + */ + public function testClientInitApiSecretParameter() + { + try { + return FiskalyClient::createUsingCredentials($_ENV["FISKALY_SERVICE_URL"], $_ENV["FISKALY_API_KEY"], null, null); + } catch (Exception $e) { + $this->assertEquals('api_secret must be provided', $e->getMessage()); + } + } + + /** + * @test + */ + public function testClientInitBaseUrlParameter() + { + try { + return FiskalyClient::createUsingCredentials($_ENV["FISKALY_SERVICE_URL"], $_ENV["FISKALY_API_KEY"], $_ENV["FISKALY_API_SECRET"], null); + } catch (Exception $e) { + $this->assertEquals('base_url must be provided', $e->getMessage()); + } + } + + /** + * @test + */ + public function testClientServiceParameterInitUsingContext() + { + try { + return FiskalyClient::createUsingContext(null, null); + } catch (Exception $e) { + $this->assertEquals('fiskaly_service must be provided', $e->getMessage()); + } + } + + /** + * @test + */ + public function testClientContextParameterInitUsingContext() + { + try { + return FiskalyClient::createUsingContext($_ENV["FISKALY_SERVICE_URL"], null); + } catch (Exception $e) { + $this->assertEquals('context must be provided', $e->getMessage()); + } + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientTest.php b/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientTest.php new file mode 100644 index 000000000..a86ca650a --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/tests/FiskalyClientTest.php @@ -0,0 +1,198 @@ +createClient(); + $this->assertNotNull($client); + $this->assertTrue($client instanceof FiskalyClient); + } + + /** + * @test + */ + public function testClientUsingContext() + { + $client = $this->createClientUsingContext(); + $this->assertNotNull($client); + $this->assertTrue($client instanceof FiskalyClient); + } + + /** + * @test + */ + public function testContext() + { + $client = $this->createClient(); + $this->assertNotEquals('', $client->getContext()); + } + + /** + * @test + */ + public function testVersion() + { + try { + $client = $this->createClient(); + $version = $client->getVersion(); + + $this->assertNotNull($version); + $this->assertTrue($version instanceof VersionResponse); + $this->assertNotNull($version->getClientVersion()); + $this->assertNotNull($version->getSmaersVersion()); + $this->assertNotNull($version->getClientCommitHash()); + $this->assertNotNull($version->getClientSourceHash()); + } catch (Exception $e) { + $this->assertTrue(false); + } + } + + /** + * @test + */ + public function testSelfTest() + { + try { + $client = $this->createClient(); + $selftest = $client->selfTest(); + + $this->assertNotNull($selftest); + $this->assertTrue($selftest instanceof SelfTestResponse); + $this->assertNotNull($selftest->getProxy()); + $this->assertNotNull($selftest->getBackend()); + $this->assertNotNull($selftest->getSmaers()); + } catch (Exception $e) { + $this->assertTrue(false); + } + } + + /** + * @test + */ + public function testGetConfig() + { + try { + $client = $this->createClient(); + $config = $client->getConfig(); + + $this->assertNotNull($config); + $this->assertTrue($config instanceof ClientConfiguration); + $this->assertNotNull($config->getClientTimeout()); + $this->assertNotNull($config->getDebugFile()); + $this->assertNotNull($config->getDebugLevel()); + $this->assertNotNull($config->getSmearsTimeout()); + } catch (Exception $e) { + $this->assertTrue(false); + } + } + + /** + * @test + */ + public function testConfigure() + { + try { + $client = $this->createClient(); + + try { + $config_params = [ + 'debug_level' => 4, + 'debug_file' => __DIR__ . '/../fiskaly.log', + 'client_timeout' => 5000, + 'smaers_timeout' => 2000, + 'http_proxy' => "" + ]; + $config = $client->configure($config_params); + } catch (Exception $e) { + exit($e); + } + + $this->assertNotNull($config); + $this->assertTrue($config instanceof ClientConfiguration); + $this->assertNotNull($config->getClientTimeout()); + $this->assertNotNull($config->getDebugFile()); + $this->assertNotNull($config->getDebugLevel()); + $this->assertNotNull($config->getSmearsTimeout()); + $this->assertNotNull($config->getHttpProxy()); + + $this->assertEquals($config_params['debug_level'], $config->getDebugLevel()); + $this->assertEquals($config_params['debug_file'], $config->getDebugFile()); + $this->assertEquals($config_params['client_timeout'], $config->getClientTimeout()); + $this->assertEquals($config_params['smaers_timeout'], $config->getSmearsTimeout()); + $this->assertEquals($config_params['http_proxy'], $config->getHttpProxy()); + } catch (Exception $e) { + $this->assertTrue(false); + } + } + + /** + * @test + */ + public function testRequest() + { + try { + $client = $this->createClient(); + $response = $client->request( + 'PUT', + '/tss/ecb75169-680f-48d1-93b2-52cc10abb9f/tx/9cbe6566-e24c-42ac-97fe-6a0112fb3c6', + ["last_revision" => "0"], + ["Content-Type" => "application/json"], + 'eyJzdGF0ZSI6ICJBQ1RJVkUiLCJjbGllbnRfaWQiOiAiYTYyNzgwYjAtMTFiYi00MThhLTk3MzYtZjQ3Y2E5NzVlNTE1In0=' + ); + + $context = $client->getContext(); + + $this->assertNotNull($response); + $this->assertTrue($response instanceof RequestResponse); + $this->assertNotNull($response->getContext()); + $this->assertNotNull($response->getResponse()); + + // Check if context updated + $this->assertNotEquals($context, $response->getContext()); + } catch (Exception $e) { + // echo "Exception: " . $e->getMessage() . "\n"; + $this->assertTrue($e instanceof FiskalyException); + // $this->assertTrue(false); + } + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/tests/JsonRPCTest.php b/vendor/fiskaly/fiskaly-sdk-php/tests/JsonRPCTest.php new file mode 100644 index 000000000..aabb12497 --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/tests/JsonRPCTest.php @@ -0,0 +1,59 @@ +json_rpc = new Client($_ENV['FISKALY_SERVICE_URL']); + } + + public function testInit() + { + $this->assertNotNull($this->json_rpc); + } + + public function testInitWithoutParams() + { + $this->json_rpc = new Client(null); + + $this->assertNotNull($this->json_rpc); + $this->assertTrue($this->json_rpc instanceof Client); + $this->assertNotNull($this->json_rpc); + $this->assertEquals('close', $this->json_rpc->getHeaders()['Connection']); + } + + public function testWrongMethodQuery() + { + $this->json_rpc->query('wrong-method-name', null, $response)->send(); + + $this->assertNotNull($response); + $this->assertTrue($response instanceof ErrorResponse); + $this->assertEquals(-32601, $response->getCode()); + $this->assertEquals('Method not found', $response->getMessage()); + } + + public function testWrongDataQuery() + { + $this->json_rpc->query('create-context', null, $response)->send(); + + $this->assertNotNull($response); + $this->assertTrue($response instanceof ErrorResponse); + $this->assertEquals(-32603, $response->getCode()); + $this->assertEquals('Internal error', $response->getMessage()); + } + + public function testUndefinedResponseQuery() + { + $this->expectErrorMessage('Cannot pass parameter 3 by reference'); + $this->json_rpc->query('create-context', null, null)->send(); + } +} diff --git a/vendor/fiskaly/fiskaly-sdk-php/tests/readme.md b/vendor/fiskaly/fiskaly-sdk-php/tests/readme.md new file mode 100644 index 000000000..7b0fea5ad --- /dev/null +++ b/vendor/fiskaly/fiskaly-sdk-php/tests/readme.md @@ -0,0 +1,6 @@ +# How to run the tests? + +1. Go to [https://developer.fiskaly.com/downloads#service](https://developer.fiskaly.com/downloads#service) +2. Download the appropriate service build for your platform +3. Start the service +4. Run the tests \ No newline at end of file diff --git a/vendor/laminas/laminas-loader/composer.json b/vendor/laminas/laminas-loader/composer.json index 4e69ed12c..6cd38fb20 100644 --- a/vendor/laminas/laminas-loader/composer.json +++ b/vendor/laminas/laminas-loader/composer.json @@ -23,7 +23,7 @@ }, "abandoned": true, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "^8.0.0" }, "require-dev": { "laminas/laminas-coding-standard": "~2.4.0", diff --git a/vendor/laminas/laminas-loader/composer.lock b/vendor/laminas/laminas-loader/composer.lock index 9ff91be61..e3725edd4 100644 --- a/vendor/laminas/laminas-loader/composer.lock +++ b/vendor/laminas/laminas-loader/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b2aa769d634ef91ad48c86aa033edd20", + "content-hash": "397df6711f260409037a70f2163edaff", "packages": [], "packages-dev": [ { @@ -2101,12 +2101,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "^8.0.0" }, - "platform-dev": [], - "plugin-api-version": "2.6.0" + "platform-dev": {}, + "plugin-api-version": "2.9.0" } diff --git a/vendor/laminas/laminas-servicemanager/composer.json b/vendor/laminas/laminas-servicemanager/composer.json index 82718a394..f797a3003 100644 --- a/vendor/laminas/laminas-servicemanager/composer.json +++ b/vendor/laminas/laminas-servicemanager/composer.json @@ -28,12 +28,12 @@ "require-dev": { "composer/package-versions-deprecated": "^1.11.99.5", "friendsofphp/proxy-manager-lts": "^1.0.18", - "laminas/laminas-code": "^4.14.0", + "laminas/laminas-code": "^4.16.0", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", "mikey179/vfsstream": "^1.6.12", - "phpbench/phpbench": "^1.3.1", - "phpunit/phpunit": "^10.5.36", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^10.5.51", "psalm/plugin-phpunit": "^0.18.4", "vimeo/psalm": "^5.26.1" }, diff --git a/vendor/laminas/laminas-servicemanager/composer.lock b/vendor/laminas/laminas-servicemanager/composer.lock index f0663fbaa..c455e88d6 100644 --- a/vendor/laminas/laminas-servicemanager/composer.lock +++ b/vendor/laminas/laminas-servicemanager/composer.lock @@ -4,34 +4,34 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1d889aba00805cbc9a32e834f5be6282", + "content-hash": "b52b4517d0655e13ac5be1ce85f56d19", "packages": [ { "name": "laminas/laminas-stdlib", - "version": "3.19.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -63,7 +63,7 @@ "type": "community_bridge" } ], - "time": "2024-01-19T12:39:49+00:00" + "time": "2024-10-29T13:46:07+00:00" }, { "name": "psr/container", @@ -350,16 +350,16 @@ }, { "name": "composer/pcre", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { @@ -369,19 +369,19 @@ "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.10", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -409,7 +409,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.1" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -425,7 +425,7 @@ "type": "tidelift" } ], - "time": "2024-08-27T18:44:43+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", @@ -1034,8 +1034,8 @@ "type": "library", "extra": { "thanks": { - "name": "ocramius/proxy-manager", - "url": "https://github.com/Ocramius/ProxyManager" + "url": "https://github.com/Ocramius/ProxyManager", + "name": "ocramius/proxy-manager" } }, "autoload": { @@ -1085,27 +1085,27 @@ }, { "name": "laminas/laminas-code", - "version": "4.14.0", + "version": "4.16.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-code.git", - "reference": "562e02b7d85cb9142b5116cc76c4c7c162a11a1c" + "reference": "1793e78dad4108b594084d05d1fb818b85b110af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/562e02b7d85cb9142b5116cc76c4c7c162a11a1c", - "reference": "562e02b7d85cb9142b5116cc76c4c7c162a11a1c", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/1793e78dad4108b594084d05d1fb818b85b110af", + "reference": "1793e78dad4108b594084d05d1fb818b85b110af", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { "doctrine/annotations": "^2.0.1", "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.5.0", - "laminas/laminas-stdlib": "^3.17.0", - "phpunit/phpunit": "^10.3.3", + "laminas/laminas-coding-standard": "^3.0.0", + "laminas/laminas-stdlib": "^3.18.0", + "phpunit/phpunit": "^10.5.37", "psalm/plugin-phpunit": "^0.19.0", "vimeo/psalm": "^5.15.0" }, @@ -1144,7 +1144,7 @@ "type": "community_bridge" } ], - "time": "2024-06-17T08:50:25+00:00" + "time": "2024-11-20T13:15:13+00:00" }, { "name": "laminas/laminas-coding-standard", @@ -1323,16 +1323,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -1371,7 +1371,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -1379,7 +1379,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "netresearch/jsonmapper", @@ -1657,70 +1657,18 @@ }, "time": "2023-10-30T13:38:26+00:00" }, - { - "name": "phpbench/dom", - "version": "0.3.3", - "source": { - "type": "git", - "url": "https://github.com/phpbench/dom.git", - "reference": "786a96db538d0def931f5b19225233ec42ec7a72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpbench/dom/zipball/786a96db538d0def931f5b19225233ec42ec7a72", - "reference": "786a96db538d0def931f5b19225233ec42ec7a72", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "php": "^7.3||^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.14", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.0||^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpBench\\Dom\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Leech", - "email": "daniel@dantleech.com" - } - ], - "description": "DOM wrapper to simplify working with the PHP DOM implementation", - "support": { - "issues": "https://github.com/phpbench/dom/issues", - "source": "https://github.com/phpbench/dom/tree/0.3.3" - }, - "abandoned": true, - "time": "2023-03-06T23:46:57+00:00" - }, { "name": "phpbench/phpbench", - "version": "1.3.1", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/phpbench/phpbench.git", - "reference": "a3e1ef08d9d7736d43a7fbd444893d6a073c0ca0" + "reference": "78cd98a9aa34e0f8f80ca01972a8b88d2c30194b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpbench/phpbench/zipball/a3e1ef08d9d7736d43a7fbd444893d6a073c0ca0", - "reference": "a3e1ef08d9d7736d43a7fbd444893d6a073c0ca0", + "url": "https://api.github.com/repos/phpbench/phpbench/zipball/78cd98a9aa34e0f8f80ca01972a8b88d2c30194b", + "reference": "78cd98a9aa34e0f8f80ca01972a8b88d2c30194b", "shasum": "" }, "require": { @@ -1733,7 +1681,6 @@ "ext-tokenizer": "*", "php": "^8.1", "phpbench/container": "^2.2", - "phpbench/dom": "~0.3.3", "psr/log": "^1.1 || ^2.0 || ^3.0", "seld/jsonlint": "^1.1", "symfony/console": "^6.1 || ^7.0", @@ -1752,8 +1699,8 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^10.4", - "rector/rector": "^0.18.11 || ^1.0.0", + "phpunit/phpunit": "^10.4 || ^11.0", + "rector/rector": "^1.2", "symfony/error-handler": "^6.1 || ^7.0", "symfony/var-dumper": "^6.1 || ^7.0" }, @@ -1798,7 +1745,7 @@ ], "support": { "issues": "https://github.com/phpbench/phpbench/issues", - "source": "https://github.com/phpbench/phpbench/tree/1.3.1" + "source": "https://github.com/phpbench/phpbench/tree/1.4.1" }, "funding": [ { @@ -1806,7 +1753,7 @@ "type": "github" } ], - "time": "2024-06-30T11:04:37+00:00" + "time": "2025-03-12T08:01:40+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -2340,16 +2287,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.36", + "version": "10.5.51", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870" + "reference": "ace160e31aaa317a99c411410c40c502b4be42a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870", - "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ace160e31aaa317a99c411410c40c502b4be42a4", + "reference": "ace160e31aaa317a99c411410c40c502b4be42a4", "shasum": "" }, "require": { @@ -2359,7 +2306,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.13.4", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -2370,13 +2317,13 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.2", + "sebastian/comparator": "^5.0.3", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", "sebastian/global-state": "^6.0.2", "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.0", + "sebastian/recursion-context": "^5.0.1", "sebastian/type": "^4.0.0", "sebastian/version": "^4.0.1" }, @@ -2421,7 +2368,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.36" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.51" }, "funding": [ { @@ -2432,12 +2379,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-10-08T15:36:51+00:00" + "time": "2025-08-12T07:31:25+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2768,16 +2723,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", "shasum": "" }, "require": { @@ -2788,7 +2743,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -2833,7 +2788,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" }, "funding": [ { @@ -2841,7 +2796,7 @@ "type": "github" } ], - "time": "2024-08-12T06:03:08+00:00" + "time": "2024-10-18T14:56:07+00:00" }, { "name": "sebastian/complexity", @@ -3344,23 +3299,23 @@ }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -3395,15 +3350,28 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2025-08-10T07:50:56+00:00" }, { "name": "sebastian/type", @@ -3641,16 +3609,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876" + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876", - "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", "shasum": "" }, "require": { @@ -3693,7 +3661,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.3.0" + "source": "https://github.com/spatie/array-to-xml/tree/3.4.0" }, "funding": [ { @@ -3705,20 +3673,20 @@ "type": "github" } ], - "time": "2024-05-01T10:20:27+00:00" + "time": "2024-12-16T12:45:15+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.3", + "version": "3.13.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c" + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/62d32998e820bddc40f99f8251958aed187a5c9c", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5b5e3821314f947dd040c70f7992a64eac89025c", + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c", "shasum": "" }, "require": { @@ -3783,22 +3751,26 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-09-18T10:38:58+00:00" + "time": "2025-06-17T22:17:01+00:00" }, { "name": "symfony/console", - "version": "v6.4.12", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" + "reference": "59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", + "url": "https://api.github.com/repos/symfony/console/zipball/59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350", + "reference": "59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350", "shasum": "" }, "require": { @@ -3863,7 +3835,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.12" + "source": "https://github.com/symfony/console/tree/v6.4.24" }, "funding": [ { @@ -3874,25 +3846,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2025-07-30T10:38:54+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -3900,12 +3876,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3930,7 +3906,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -3946,20 +3922,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.12", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12" + "reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12", - "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/75ae2edb7cdcc0c53766c30b0a2512b8df574bd8", + "reference": "75ae2edb7cdcc0c53766c30b0a2512b8df574bd8", "shasum": "" }, "require": { @@ -3996,7 +3972,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.12" + "source": "https://github.com/symfony/filesystem/tree/v6.4.24" }, "funding": [ { @@ -4007,25 +3983,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-16T16:01:33+00:00" + "time": "2025-07-10T08:14:14+00:00" }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "73089124388c8510efb8d2d1689285d285937b08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08", + "reference": "73089124388c8510efb8d2d1689285d285937b08", "shasum": "" }, "require": { @@ -4060,7 +4040,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v6.4.24" }, "funding": [ { @@ -4071,25 +4051,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2025-07-15T12:02:45+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.4.8", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b" + "reference": "baee5736ddf7a0486dd68ca05aa4fd7e64458d3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22ab9e9101ab18de37839074f8a1197f55590c1b", - "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/baee5736ddf7a0486dd68ca05aa4fd7e64458d3d", + "reference": "baee5736ddf7a0486dd68ca05aa4fd7e64458d3d", "shasum": "" }, "require": { @@ -4127,7 +4111,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.8" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.24" }, "funding": [ { @@ -4138,16 +4122,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-07-14T16:38:25+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -4171,8 +4159,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4206,7 +4194,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -4226,7 +4214,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -4247,8 +4235,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4284,7 +4272,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -4304,7 +4292,7 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -4325,8 +4313,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4365,7 +4353,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4385,19 +4373,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -4409,8 +4398,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4445,7 +4434,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4461,20 +4450,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/process", - "version": "v6.4.12", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3" + "reference": "8eb6dc555bfb49b2703438d5de65cc9f138ff50b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3", + "url": "https://api.github.com/repos/symfony/process/zipball/8eb6dc555bfb49b2703438d5de65cc9f138ff50b", + "reference": "8eb6dc555bfb49b2703438d5de65cc9f138ff50b", "shasum": "" }, "require": { @@ -4506,7 +4495,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.12" + "source": "https://github.com/symfony/process/tree/v6.4.24" }, "funding": [ { @@ -4517,25 +4506,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-17T12:47:12+00:00" + "time": "2025-07-10T08:14:14+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -4548,12 +4541,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4589,7 +4582,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4605,20 +4598,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v6.4.12", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b" + "reference": "f0ce0bd36a3accb4a225435be077b4b4875587f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b", + "url": "https://api.github.com/repos/symfony/string/zipball/f0ce0bd36a3accb4a225435be077b4b4875587f4", + "reference": "f0ce0bd36a3accb4a225435be077b4b4875587f4", "shasum": "" }, "require": { @@ -4675,7 +4668,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.12" + "source": "https://github.com/symfony/string/tree/v6.4.24" }, "funding": [ { @@ -4686,12 +4679,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2025-07-10T08:14:14+00:00" }, { "name": "theseer/tokenizer", @@ -4818,11 +4815,11 @@ "type": "project", "extra": { "branch-alias": { - "dev-master": "5.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", + "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "5.x-dev" } }, "autoload": { @@ -5018,13 +5015,13 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "8.1.99" }, diff --git a/vendor/laminas/laminas-servicemanager/src/ServiceManager.php b/vendor/laminas/laminas-servicemanager/src/ServiceManager.php index d63e26312..c1d08e39a 100644 --- a/vendor/laminas/laminas-servicemanager/src/ServiceManager.php +++ b/vendor/laminas/laminas-servicemanager/src/ServiceManager.php @@ -718,8 +718,7 @@ private function mergeDelegators(array $config): array { foreach ($config as $key => $delegators) { if (! array_key_exists($key, $this->delegators)) { - $this->delegators[$key] = $delegators; - continue; + $this->delegators[$key] = []; } foreach ($delegators as $delegator) { diff --git a/vendor/laminas/laminas-validator/composer.lock b/vendor/laminas/laminas-validator/composer.lock index e08eca977..129176b0b 100644 --- a/vendor/laminas/laminas-validator/composer.lock +++ b/vendor/laminas/laminas-validator/composer.lock @@ -8,21 +8,21 @@ "packages": [ { "name": "laminas/laminas-servicemanager", - "version": "3.22.1", + "version": "3.23.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "de98d297d4743956a0558a6d71616979ff779328" + "reference": "a8640182b892b99767d54404d19c5c3b3699f79b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/de98d297d4743956a0558a6d71616979ff779328", - "reference": "de98d297d4743956a0558a6d71616979ff779328", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/a8640182b892b99767d54404d19c5c3b3699f79b", + "reference": "a8640182b892b99767d54404d19c5c3b3699f79b", "shasum": "" }, "require": { - "laminas/laminas-stdlib": "^3.17", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0", + "laminas/laminas-stdlib": "^3.19", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "psr/container": "^1.0" }, "conflict": { @@ -39,15 +39,15 @@ }, "require-dev": { "composer/package-versions-deprecated": "^1.11.99.5", - "friendsofphp/proxy-manager-lts": "^1.0.14", - "laminas/laminas-code": "^4.10.0", + "friendsofphp/proxy-manager-lts": "^1.0.18", + "laminas/laminas-code": "^4.14.0", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", - "mikey179/vfsstream": "^1.6.11", - "phpbench/phpbench": "^1.2.9", - "phpunit/phpunit": "^10.4", + "mikey179/vfsstream": "^1.6.12", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.36", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.8.0" + "vimeo/psalm": "^5.26.1" }, "suggest": { "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services" @@ -94,34 +94,34 @@ "type": "community_bridge" } ], - "time": "2023-10-24T11:19:47+00:00" + "time": "2024-10-28T21:32:16+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.19.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -153,7 +153,7 @@ "type": "community_bridge" } ], - "time": "2024-01-19T12:39:49+00:00" + "time": "2024-10-29T13:46:07+00:00" }, { "name": "psr/container", @@ -493,38 +493,38 @@ }, { "name": "composer/pcre", - "version": "3.2.0", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/ea4ab6f9580a4fd221e0418f2c357cdd39102a90", - "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, "conflict": { - "phpstan/phpstan": "<1.11.8" + "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.8", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -552,7 +552,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.2.0" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -568,28 +568,28 @@ "type": "tidelift" } ], - "time": "2024-07-25T09:36:02+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -633,7 +633,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -649,7 +649,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "composer/xdebug-handler", @@ -876,16 +876,16 @@ }, { "name": "felixfbecker/language-server-protocol", - "version": "v1.5.2", + "version": "v1.5.3", "source": { "type": "git", "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", "shasum": "" }, "require": { @@ -926,22 +926,22 @@ ], "support": { "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2" + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" }, - "time": "2022-03-02T22:36:06+00:00" + "time": "2024-04-30T00:40:11+00:00" }, { "name": "fidry/cpu-core-counter", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42" + "reference": "8520451a140d3f46ac33042715115e290cf5785f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42", - "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", + "reference": "8520451a140d3f46ac33042715115e290cf5785f", "shasum": "" }, "require": { @@ -981,7 +981,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" }, "funding": [ { @@ -989,7 +989,7 @@ "type": "github" } ], - "time": "2024-02-07T09:43:46+00:00" + "time": "2024-08-06T10:04:20+00:00" }, { "name": "laminas/laminas-coding-standard", @@ -1120,33 +1120,32 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.13.0", + "version": "2.17.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba" + "reference": "df1ef9503299a8e3920079a16263b578eaf7c3ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/af459883f4018d0f8a0c69c7a209daef3bf973ba", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/df1ef9503299a8e3920079a16263b578eaf7c3ba", + "reference": "df1ef9503299a8e3920079a16263b578eaf7c3ba", "shasum": "" }, "require": { "ext-ctype": "*", "ext-mbstring": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-escaper": "*" }, "require-dev": { - "infection/infection": "^0.27.0", - "laminas/laminas-coding-standard": "~2.5.0", - "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.6.7", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.9" + "infection/infection": "^0.29.8", + "laminas/laminas-coding-standard": "~3.0.1", + "phpunit/phpunit": "^10.5.45", + "psalm/plugin-phpunit": "^0.19.2", + "vimeo/psalm": "^6.6.2" }, "type": "library", "autoload": { @@ -1178,37 +1177,37 @@ "type": "community_bridge" } ], - "time": "2023-10-10T08:35:13+00:00" + "time": "2025-05-06T19:29:36+00:00" }, { "name": "laminas/laminas-eventmanager", - "version": "3.13.1", + "version": "3.14.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-eventmanager.git", - "reference": "933d1b5cf03fa4cf3016cebfd0555fa2ba3f2024" + "reference": "1837cafaaaee74437f6d8ec9ff7da03e6f81d809" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/933d1b5cf03fa4cf3016cebfd0555fa2ba3f2024", - "reference": "933d1b5cf03fa4cf3016cebfd0555fa2ba3f2024", + "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/1837cafaaaee74437f6d8ec9ff7da03e6f81d809", + "reference": "1837cafaaaee74437f6d8ec9ff7da03e6f81d809", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "container-interop/container-interop": "<1.2", "zendframework/zend-eventmanager": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-stdlib": "^3.18", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.5", - "psalm/plugin-phpunit": "^0.18.4", + "laminas/laminas-coding-standard": "~3.0.0", + "laminas/laminas-stdlib": "^3.20", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", "psr/container": "^1.1.2 || ^2.0.2", - "vimeo/psalm": "^5.18" + "vimeo/psalm": "^5.26.1" }, "suggest": { "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature", @@ -1246,42 +1245,42 @@ "type": "community_bridge" } ], - "time": "2024-06-24T14:01:06+00:00" + "time": "2024-11-21T11:31:22+00:00" }, { "name": "laminas/laminas-filter", - "version": "2.36.0", + "version": "2.41.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-filter.git", - "reference": "307afc21ada0648e84cdcf9e14cd84bd43ee9d13" + "reference": "eaa00111231bf6669826ae84d3abe85b94477585" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/307afc21ada0648e84cdcf9e14cd84bd43ee9d13", - "reference": "307afc21ada0648e84cdcf9e14cd84bd43ee9d13", + "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/eaa00111231bf6669826ae84d3abe85b94477585", + "reference": "eaa00111231bf6669826ae84d3abe85b94477585", "shasum": "" }, "require": { "ext-mbstring": "*", "laminas/laminas-servicemanager": "^3.21.0", - "laminas/laminas-stdlib": "^3.13.0", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "laminas/laminas-stdlib": "^3.19.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "laminas/laminas-validator": "<2.10.1", "zendframework/zend-filter": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-crypt": "^3.11", - "laminas/laminas-i18n": "^2.26.0", - "laminas/laminas-uri": "^2.11", + "laminas/laminas-coding-standard": "~3.0", + "laminas/laminas-crypt": "^3.12", + "laminas/laminas-i18n": "^2.28.1", + "laminas/laminas-uri": "^2.12", "pear/archive_tar": "^1.5.0", - "phpunit/phpunit": "^10.5.20", + "phpunit/phpunit": "^10.5.36", "psalm/plugin-phpunit": "^0.19.0", "psr/http-factory": "^1.1.0", - "vimeo/psalm": "^5.24.0" + "vimeo/psalm": "^5.26.1" }, "suggest": { "laminas/laminas-crypt": "Laminas\\Crypt component, for encryption filters", @@ -1325,20 +1324,20 @@ "type": "community_bridge" } ], - "time": "2024-06-13T10:31:36+00:00" + "time": "2025-05-05T02:02:31+00:00" }, { "name": "laminas/laminas-i18n", - "version": "2.28.0", + "version": "2.30.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-i18n.git", - "reference": "e1e312650232e5ef26c28ea08f3c4c18633f48c3" + "reference": "397907ee061e147939364df9d6c485ac1e0fed87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/e1e312650232e5ef26c28ea08f3c4c18633f48c3", - "reference": "e1e312650232e5ef26c28ea08f3c4c18633f48c3", + "url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/397907ee061e147939364df9d6c485ac1e0fed87", + "reference": "397907ee061e147939364df9d6c485ac1e0fed87", "shasum": "" }, "require": { @@ -1346,25 +1345,25 @@ "laminas/laminas-servicemanager": "^3.21.0", "laminas/laminas-stdlib": "^3.0", "laminas/laminas-translator": "^1.0", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "laminas/laminas-view": "<2.20.0", "zendframework/zend-i18n": "*" }, "require-dev": { - "laminas/laminas-cache": "^3.12.1", - "laminas/laminas-cache-storage-adapter-memory": "^2.3.0", - "laminas/laminas-cache-storage-deprecated-factory": "^1.2", + "laminas/laminas-cache": "^3.13.0", + "laminas/laminas-cache-storage-adapter-memory": "^2.4.0", + "laminas/laminas-cache-storage-deprecated-factory": "^1.3", "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-config": "^3.9.0", - "laminas/laminas-eventmanager": "^3.13", - "laminas/laminas-filter": "^2.34", - "laminas/laminas-validator": "^2.49", - "laminas/laminas-view": "^2.34", - "phpunit/phpunit": "^10.5.11", - "psalm/plugin-phpunit": "^0.19.0", - "vimeo/psalm": "^5.22.2" + "laminas/laminas-config": "^3.10.1", + "laminas/laminas-eventmanager": "^3.14.0", + "laminas/laminas-filter": "^2.40", + "laminas/laminas-validator": "^2.64.2", + "laminas/laminas-view": "^2.36", + "phpunit/phpunit": "^10.5.45", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.10.0" }, "suggest": { "laminas/laminas-cache": "You should install this package to cache the translations", @@ -1411,43 +1410,44 @@ "type": "community_bridge" } ], - "time": "2024-07-15T12:54:14+00:00" + "time": "2025-04-15T09:07:02+00:00" }, { "name": "laminas/laminas-session", - "version": "2.21.0", + "version": "2.24.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-session.git", - "reference": "b8cd890f7682a255b335c2ca45df9a7cbc58873d" + "reference": "487b6debacd3e029e27cbed7ce495b1328908dab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-session/zipball/b8cd890f7682a255b335c2ca45df9a7cbc58873d", - "reference": "b8cd890f7682a255b335c2ca45df9a7cbc58873d", + "url": "https://api.github.com/repos/laminas/laminas-session/zipball/487b6debacd3e029e27cbed7ce495b1328908dab", + "reference": "487b6debacd3e029e27cbed7ce495b1328908dab", "shasum": "" }, "require": { "laminas/laminas-eventmanager": "^3.12", "laminas/laminas-servicemanager": "^3.22", "laminas/laminas-stdlib": "^3.18", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { + "amphp/amp": "<2.6.4", "zendframework/zend-session": "*" }, "require-dev": { "ext-xdebug": "*", "laminas/laminas-cache": "^3.12.2", "laminas/laminas-cache-storage-adapter-memory": "^2.3", - "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-coding-standard": "~3.0.1", "laminas/laminas-db": "^2.20.0", - "laminas/laminas-http": "^2.19", - "laminas/laminas-validator": "^2.57.0", - "mongodb/mongodb": "~1.17.1", - "phpunit/phpunit": "^9.6.19", + "laminas/laminas-http": "^2.20", + "laminas/laminas-validator": "^2.64.1", + "mongodb/mongodb": "~1.20.0", + "phpunit/phpunit": "^10.5.38", "psalm/plugin-phpunit": "^0.19.0", - "vimeo/psalm": "^5.24.0" + "vimeo/psalm": "^5.26.1" }, "suggest": { "laminas/laminas-cache": "Laminas\\Cache component", @@ -1493,27 +1493,27 @@ "type": "community_bridge" } ], - "time": "2024-06-19T14:36:45+00:00" + "time": "2025-02-05T10:39:08+00:00" }, { "name": "laminas/laminas-translator", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-translator.git", - "reference": "86d176c01a96b0ef205192b776cb69e8d4ca06b1" + "reference": "12897e710e21413c1f93fc38fe9dead6b51c5218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-translator/zipball/86d176c01a96b0ef205192b776cb69e8d4ca06b1", - "reference": "86d176c01a96b0ef205192b776cb69e8d4ca06b1", + "url": "https://api.github.com/repos/laminas/laminas-translator/zipball/12897e710e21413c1f93fc38fe9dead6b51c5218", + "reference": "12897e710e21413c1f93fc38fe9dead6b51c5218", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-coding-standard": "~3.0.0", "vimeo/psalm": "^5.24.0" }, "type": "library", @@ -1546,33 +1546,33 @@ "type": "community_bridge" } ], - "time": "2024-06-18T15:09:24+00:00" + "time": "2024-10-21T15:33:01+00:00" }, { "name": "laminas/laminas-uri", - "version": "2.11.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-uri.git", - "reference": "e662c685125061d3115906e5eb30f966842cc226" + "reference": "de53600ae8153b3605bb6edce8aeeef524eaafba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/e662c685125061d3115906e5eb30f966842cc226", - "reference": "e662c685125061d3115906e5eb30f966842cc226", + "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/de53600ae8153b3605bb6edce8aeeef524eaafba", + "reference": "de53600ae8153b3605bb6edce8aeeef524eaafba", "shasum": "" }, "require": { "laminas/laminas-escaper": "^2.9", - "laminas/laminas-validator": "^2.39", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "laminas/laminas-validator": "^2.39 || ^3.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-uri": "*" }, "require-dev": { "laminas/laminas-coding-standard": "~2.4.0", - "phpunit/phpunit": "^9.5.25" + "phpunit/phpunit": "^9.6.20" }, "type": "library", "autoload": { @@ -1604,20 +1604,20 @@ "type": "community_bridge" } ], - "time": "2023-10-18T09:56:55+00:00" + "time": "2024-12-03T12:27:51+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -1656,7 +1656,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -1664,20 +1664,20 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "netresearch/jsonmapper", - "version": "v4.4.1", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0" + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0", - "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", "shasum": "" }, "require": { @@ -1713,22 +1713,22 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" }, - "time": "2024-01-31T06:18:54+00:00" + "time": "2024-09-08T10:13:13+00:00" }, { "name": "nikic/php-parser", - "version": "v4.19.1", + "version": "v4.19.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", "shasum": "" }, "require": { @@ -1737,7 +1737,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -1769,9 +1769,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" }, - "time": "2024-03-17T08:10:35+00:00" + "time": "2024-09-29T15:01:53+00:00" }, { "name": "phar-io/manifest", @@ -2102,32 +2102,32 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.15", + "version": "10.1.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae" + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -2139,7 +2139,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.1.x-dev" } }, "autoload": { @@ -2168,7 +2168,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, "funding": [ { @@ -2176,7 +2176,7 @@ "type": "github" } ], - "time": "2024-06-29T08:25:15+00:00" + "time": "2024-08-22T04:31:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2423,16 +2423,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.29", + "version": "10.5.46", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f" + "reference": "8080be387a5be380dda48c6f41cee4a13aadab3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e9e80872b4e8064401788ee8a32d40b4455318f", - "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8080be387a5be380dda48c6f41cee4a13aadab3d", + "reference": "8080be387a5be380dda48c6f41cee4a13aadab3d", "shasum": "" }, "require": { @@ -2442,18 +2442,18 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.13.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-code-coverage": "^10.1.16", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-invoker": "^4.0.0", "phpunit/php-text-template": "^3.0.1", "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.1", + "sebastian/comparator": "^5.0.3", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", @@ -2504,7 +2504,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.29" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.46" }, "funding": [ { @@ -2515,12 +2515,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-07-30T11:08:00+00:00" + "time": "2025-05-02T06:46:24+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2691,16 +2699,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -2735,9 +2743,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "sebastian/cli-parser", @@ -2909,16 +2917,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", "shasum": "" }, "require": { @@ -2929,7 +2937,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -2974,7 +2982,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" }, "funding": [ { @@ -2982,7 +2990,7 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2024-10-18T14:56:07+00:00" }, { "name": "sebastian/complexity", @@ -3718,16 +3726,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876" + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876", - "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", "shasum": "" }, "require": { @@ -3770,7 +3778,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.3.0" + "source": "https://github.com/spatie/array-to-xml/tree/3.4.0" }, "funding": [ { @@ -3782,20 +3790,20 @@ "type": "github" } ], - "time": "2024-05-01T10:20:27+00:00" + "time": "2024-12-16T12:45:15+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.2", + "version": "3.13.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017" + "reference": "1b71b4dd7e7ef651ac749cea67e513c0c832f4bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017", - "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1b71b4dd7e7ef651ac749cea67e513c0c832f4bd", + "reference": "1b71b4dd7e7ef651ac749cea67e513c0c832f4bd", "shasum": "" }, "require": { @@ -3860,22 +3868,26 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-07-21T23:26:44+00:00" + "time": "2025-06-12T15:04:34+00:00" }, { "name": "symfony/console", - "version": "v6.4.10", + "version": "v6.4.22", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" + "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", + "url": "https://api.github.com/repos/symfony/console/zipball/7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3", + "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3", "shasum": "" }, "require": { @@ -3940,7 +3952,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.10" + "source": "https://github.com/symfony/console/tree/v6.4.22" }, "funding": [ { @@ -3956,20 +3968,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-05-07T07:05:04+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -3977,12 +3989,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4007,7 +4019,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -4023,20 +4035,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "shasum": "" }, "require": { @@ -4073,7 +4085,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v6.4.13" }, "funding": [ { @@ -4089,24 +4101,24 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -4117,8 +4129,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4152,7 +4164,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -4168,24 +4180,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4193,8 +4205,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4230,7 +4242,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -4246,24 +4258,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4271,8 +4283,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4311,7 +4323,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4327,24 +4339,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-iconv": "*", + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -4355,8 +4368,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4391,7 +4404,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4407,20 +4420,20 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -4433,12 +4446,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4474,7 +4487,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4490,20 +4503,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v6.4.10", + "version": "v6.4.21", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ccf9b30251719567bfd46494138327522b9a9446" + "reference": "73e2c6966a5aef1d4892873ed5322245295370c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446", - "reference": "ccf9b30251719567bfd46494138327522b9a9446", + "url": "https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6", + "reference": "73e2c6966a5aef1d4892873ed5322245295370c6", "shasum": "" }, "require": { @@ -4560,7 +4573,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.10" + "source": "https://github.com/symfony/string/tree/v6.4.21" }, "funding": [ { @@ -4576,7 +4589,7 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:21:14+00:00" + "time": "2025-04-18T15:23:29+00:00" }, { "name": "theseer/tokenizer", @@ -4630,16 +4643,16 @@ }, { "name": "vimeo/psalm", - "version": "5.25.0", + "version": "5.26.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505" + "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/01a8eb06b9e9cc6cfb6a320bf9fb14331919d505", - "reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", + "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", "shasum": "" }, "require": { @@ -4660,7 +4673,7 @@ "felixfbecker/language-server-protocol": "^1.5.2", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.16", + "nikic/php-parser": "^4.17", "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", @@ -4703,11 +4716,11 @@ "type": "project", "extra": { "branch-alias": { - "dev-master": "5.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", + "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "5.x-dev" } }, "autoload": { @@ -4736,25 +4749,25 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2024-06-16T15:08:35+00:00" + "time": "2024-09-08T18:53:08+00:00" }, { "name": "webimpress/coding-standard", - "version": "1.3.2", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/webimpress/coding-standard.git", - "reference": "710f71ac95d36d931e76b47132b599c39abfab11" + "reference": "6f6a1a90bd9e18fc8bee0660dd1d1ce68cf9fc53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webimpress/coding-standard/zipball/710f71ac95d36d931e76b47132b599c39abfab11", - "reference": "710f71ac95d36d931e76b47132b599c39abfab11", + "url": "https://api.github.com/repos/webimpress/coding-standard/zipball/6f6a1a90bd9e18fc8bee0660dd1d1ce68cf9fc53", + "reference": "6f6a1a90bd9e18fc8bee0660dd1d1ce68cf9fc53", "shasum": "" }, "require": { "php": "^7.3 || ^8.0", - "squizlabs/php_codesniffer": "^3.7.2" + "squizlabs/php_codesniffer": "^3.10.3" }, "require-dev": { "phpunit/phpunit": "^9.6.15" @@ -4783,7 +4796,7 @@ ], "support": { "issues": "https://github.com/webimpress/coding-standard/issues", - "source": "https://github.com/webimpress/coding-standard/tree/1.3.2" + "source": "https://github.com/webimpress/coding-standard/tree/1.4.0" }, "funding": [ { @@ -4791,7 +4804,7 @@ "type": "github" } ], - "time": "2023-12-18T07:25:41+00:00" + "time": "2024-10-16T06:55:17+00:00" }, { "name": "webmozart/assert", @@ -4854,13 +4867,13 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "8.1.99" }, diff --git a/vendor/laminas/laminas-validator/src/Hostname.php b/vendor/laminas/laminas-validator/src/Hostname.php index f37c3ed95..d5374e56d 100644 --- a/vendor/laminas/laminas-validator/src/Hostname.php +++ b/vendor/laminas/laminas-validator/src/Hostname.php @@ -1714,6 +1714,7 @@ class Hostname extends AbstractValidator 3 => '/^[\x{002d}0-9a-zșț]{1,63}$/iu', ], 'SJ' => [1 => '/^[\x{002d}0-9a-zàáä-éêñ-ôöøüčđńŋšŧž]{1,63}$/iu'], + 'SWISS' => [1 => '/^[\x{002d}0-9a-zà-öø-ÿœ]{1,63}$/iu'], 'TH' => [1 => '/^[\x{002d}0-9a-z\x{0E01}-\x{0E3A}\x{0E40}-\x{0E4D}\x{0E50}-\x{0E59}]{1,63}$/iu'], 'TM' => [1 => '/^[\x{002d}0-9a-zà-öø-ÿāăąćĉċčďđēėęěĝġģĥħīįĵķĺļľŀłńņňŋőœŕŗřśŝşšţťŧūŭůűųŵŷźżž]{1,63}$/iu'], 'TW' => 'Hostname/Cn.php', @@ -1969,14 +1970,6 @@ public function isValid($value) return true; } - // Handle Regex compilation failure that may happen on .biz domain with has @ character, eg: tapi4457@hsoqvf.biz - // Technically, hostname with '@' character is invalid, so mark as invalid immediately - // @see https://github.com/laminas/laminas-validator/issues/8 - if (str_contains($value, '@')) { - $this->error(self::INVALID_HOSTNAME); - return false; - } - // Local hostnames are allowed to be partial (ending '.') if ($this->getAllow() & self::ALLOW_LOCAL) { if (str_ends_with($value, '.')) { diff --git a/vendor/laminas/laminas-validator/src/Hostname/Biz.php b/vendor/laminas/laminas-validator/src/Hostname/Biz.php index f852cf1c2..a7c96de40 100644 --- a/vendor/laminas/laminas-validator/src/Hostname/Biz.php +++ b/vendor/laminas/laminas-validator/src/Hostname/Biz.php @@ -729,2169 +729,306 @@ . '\x{39DF}\x{3A73}\x{3B4E}\x{3C6E}\x{3CE0}\x{4056}\x{415F}\x{4337}\x{43AC}' . '\x{43B1}\x{43DD}\x{44D6}\x{464C}\x{4661}\x{4723}\x{4729}\x{477C}\x{478D}' . '\x{4947}\x{497A}\x{497D}\x{4982}\x{4983}\x{4985}\x{4986}\x{499B}\x{499F}' - . '\x{49B6}\x{49B7}\x{4C77}\x{4C9F}\x{4CA0}\x{4CA1}\x{4CA2}\x{4CA3}\x{4D13}' - . '\x{4D14}\x{4D15}\x{4D16}\x{4D17}\x{4D18}\x{4D19}\x{4DAE}\x{4E00}\x{4E01}' - . '\x{4E02}\x{4E03}\x{4E04}\x{4E05}\x{4E06}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' - . '\x{4E0B}\x{4E0C}\x{4E0D}\x{4E0E}\x{4E0F}\x{4E10}\x{4E11}\x{4E13}\x{4E14}' - . '\x{4E15}\x{4E16}\x{4E17}\x{4E18}\x{4E19}\x{4E1A}\x{4E1B}\x{4E1C}\x{4E1D}' - . '\x{4E1E}\x{4E1F}\x{4E20}\x{4E21}\x{4E22}\x{4E23}\x{4E24}\x{4E25}\x{4E26}' - . '\x{4E27}\x{4E28}\x{4E2A}\x{4E2B}\x{4E2C}\x{4E2D}\x{4E2E}\x{4E2F}\x{4E30}' - . '\x{4E31}\x{4E32}\x{4E33}\x{4E34}\x{4E35}\x{4E36}\x{4E37}\x{4E38}\x{4E39}' - . '\x{4E3A}\x{4E3B}\x{4E3C}\x{4E3D}\x{4E3E}\x{4E3F}\x{4E40}\x{4E41}\x{4E42}' - . '\x{4E43}\x{4E44}\x{4E45}\x{4E46}\x{4E47}\x{4E48}\x{4E49}\x{4E4A}\x{4E4B}' - . '\x{4E4C}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E50}\x{4E51}\x{4E52}\x{4E53}\x{4E54}' - . '\x{4E56}\x{4E57}\x{4E58}\x{4E59}\x{4E5A}\x{4E5B}\x{4E5C}\x{4E5D}\x{4E5E}' - . '\x{4E5F}\x{4E60}\x{4E61}\x{4E62}\x{4E63}\x{4E64}\x{4E65}\x{4E66}\x{4E67}' - . '\x{4E69}\x{4E6A}\x{4E6B}\x{4E6C}\x{4E6D}\x{4E6E}\x{4E6F}\x{4E70}\x{4E71}' - . '\x{4E72}\x{4E73}\x{4E74}\x{4E75}\x{4E76}\x{4E77}\x{4E78}\x{4E7A}\x{4E7B}' - . '\x{4E7C}\x{4E7D}\x{4E7E}\x{4E7F}\x{4E80}\x{4E81}\x{4E82}\x{4E83}\x{4E84}' - . '\x{4E85}\x{4E86}\x{4E87}\x{4E88}\x{4E89}\x{4E8B}\x{4E8C}\x{4E8D}\x{4E8E}' - . '\x{4E8F}\x{4E90}\x{4E91}\x{4E92}\x{4E93}\x{4E94}\x{4E95}\x{4E97}\x{4E98}' - . '\x{4E99}\x{4E9A}\x{4E9B}\x{4E9C}\x{4E9D}\x{4E9E}\x{4E9F}\x{4EA0}\x{4EA1}' - . '\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA7}\x{4EA8}\x{4EA9}\x{4EAA}\x{4EAB}' - . '\x{4EAC}\x{4EAD}\x{4EAE}\x{4EAF}\x{4EB0}\x{4EB1}\x{4EB2}\x{4EB3}\x{4EB4}' - . '\x{4EB5}\x{4EB6}\x{4EB7}\x{4EB8}\x{4EB9}\x{4EBA}\x{4EBB}\x{4EBD}\x{4EBE}' - . '\x{4EBF}\x{4EC0}\x{4EC1}\x{4EC2}\x{4EC3}\x{4EC4}\x{4EC5}\x{4EC6}\x{4EC7}' - . '\x{4EC8}\x{4EC9}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED0}\x{4ED1}' - . '\x{4ED2}\x{4ED3}\x{4ED4}\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDA}' - . '\x{4EDB}\x{4EDC}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE0}\x{4EE1}\x{4EE2}\x{4EE3}' - . '\x{4EE4}\x{4EE5}\x{4EE6}\x{4EE8}\x{4EE9}\x{4EEA}\x{4EEB}\x{4EEC}\x{4EEF}' - . '\x{4EF0}\x{4EF1}\x{4EF2}\x{4EF3}\x{4EF4}\x{4EF5}\x{4EF6}\x{4EF7}\x{4EFB}' - . '\x{4EFD}\x{4EFF}\x{4F00}\x{4F01}\x{4F02}\x{4F03}\x{4F04}\x{4F05}\x{4F06}' - . '\x{4F08}\x{4F09}\x{4F0A}\x{4F0B}\x{4F0C}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}' - . '\x{4F11}\x{4F12}\x{4F13}\x{4F14}\x{4F15}\x{4F17}\x{4F18}\x{4F19}\x{4F1A}' - . '\x{4F1B}\x{4F1C}\x{4F1D}\x{4F1E}\x{4F1F}\x{4F20}\x{4F21}\x{4F22}\x{4F23}' - . '\x{4F24}\x{4F25}\x{4F26}\x{4F27}\x{4F29}\x{4F2A}\x{4F2B}\x{4F2C}\x{4F2D}' - . '\x{4F2E}\x{4F2F}\x{4F30}\x{4F32}\x{4F33}\x{4F34}\x{4F36}\x{4F38}\x{4F39}' - . '\x{4F3A}\x{4F3B}\x{4F3C}\x{4F3D}\x{4F3E}\x{4F3F}\x{4F41}\x{4F42}\x{4F43}' - . '\x{4F45}\x{4F46}\x{4F47}\x{4F48}\x{4F49}\x{4F4A}\x{4F4B}\x{4F4C}\x{4F4D}' - . '\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}\x{4F52}\x{4F53}\x{4F54}\x{4F55}\x{4F56}' - . '\x{4F57}\x{4F58}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}\x{4F5F}' - . '\x{4F60}\x{4F61}\x{4F62}\x{4F63}\x{4F64}\x{4F65}\x{4F66}\x{4F67}\x{4F68}' - . '\x{4F69}\x{4F6A}\x{4F6B}\x{4F6C}\x{4F6D}\x{4F6E}\x{4F6F}\x{4F70}\x{4F72}' - . '\x{4F73}\x{4F74}\x{4F75}\x{4F76}\x{4F77}\x{4F78}\x{4F79}\x{4F7A}\x{4F7B}' - . '\x{4F7C}\x{4F7D}\x{4F7E}\x{4F7F}\x{4F80}\x{4F81}\x{4F82}\x{4F83}\x{4F84}' - . '\x{4F85}\x{4F86}\x{4F87}\x{4F88}\x{4F89}\x{4F8A}\x{4F8B}\x{4F8D}\x{4F8F}' - . '\x{4F90}\x{4F91}\x{4F92}\x{4F93}\x{4F94}\x{4F95}\x{4F96}\x{4F97}\x{4F98}' - . '\x{4F99}\x{4F9A}\x{4F9B}\x{4F9C}\x{4F9D}\x{4F9E}\x{4F9F}\x{4FA0}\x{4FA1}' - . '\x{4FA3}\x{4FA4}\x{4FA5}\x{4FA6}\x{4FA7}\x{4FA8}\x{4FA9}\x{4FAA}\x{4FAB}' - . '\x{4FAC}\x{4FAE}\x{4FAF}\x{4FB0}\x{4FB1}\x{4FB2}\x{4FB3}\x{4FB4}\x{4FB5}' - . '\x{4FB6}\x{4FB7}\x{4FB8}\x{4FB9}\x{4FBA}\x{4FBB}\x{4FBC}\x{4FBE}\x{4FBF}' - . '\x{4FC0}\x{4FC1}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FC5}\x{4FC7}\x{4FC9}\x{4FCA}' - . '\x{4FCB}\x{4FCD}\x{4FCE}\x{4FCF}\x{4FD0}\x{4FD1}\x{4FD2}\x{4FD3}\x{4FD4}' - . '\x{4FD5}\x{4FD6}\x{4FD7}\x{4FD8}\x{4FD9}\x{4FDA}\x{4FDB}\x{4FDC}\x{4FDD}' - . '\x{4FDE}\x{4FDF}\x{4FE0}\x{4FE1}\x{4FE3}\x{4FE4}\x{4FE5}\x{4FE6}\x{4FE7}' - . '\x{4FE8}\x{4FE9}\x{4FEA}\x{4FEB}\x{4FEC}\x{4FED}\x{4FEE}\x{4FEF}\x{4FF0}' - . '\x{4FF1}\x{4FF2}\x{4FF3}\x{4FF4}\x{4FF5}\x{4FF6}\x{4FF7}\x{4FF8}\x{4FF9}' - . '\x{4FFA}\x{4FFB}\x{4FFE}\x{4FFF}\x{5000}\x{5001}\x{5002}\x{5003}\x{5004}' - . '\x{5005}\x{5006}\x{5007}\x{5008}\x{5009}\x{500A}\x{500B}\x{500C}\x{500D}' - . '\x{500E}\x{500F}\x{5011}\x{5012}\x{5013}\x{5014}\x{5015}\x{5016}\x{5017}' - . '\x{5018}\x{5019}\x{501A}\x{501B}\x{501C}\x{501D}\x{501E}\x{501F}\x{5020}' - . '\x{5021}\x{5022}\x{5023}\x{5024}\x{5025}\x{5026}\x{5027}\x{5028}\x{5029}' - . '\x{502A}\x{502B}\x{502C}\x{502D}\x{502E}\x{502F}\x{5030}\x{5031}\x{5032}' - . '\x{5033}\x{5035}\x{5036}\x{5037}\x{5039}\x{503A}\x{503B}\x{503C}\x{503E}' - . '\x{503F}\x{5040}\x{5041}\x{5043}\x{5044}\x{5045}\x{5046}\x{5047}\x{5048}' - . '\x{5049}\x{504A}\x{504B}\x{504C}\x{504D}\x{504E}\x{504F}\x{5051}\x{5053}' - . '\x{5054}\x{5055}\x{5056}\x{5057}\x{5059}\x{505A}\x{505B}\x{505C}\x{505D}' - . '\x{505E}\x{505F}\x{5060}\x{5061}\x{5062}\x{5063}\x{5064}\x{5065}\x{5066}' - . '\x{5067}\x{5068}\x{5069}\x{506A}\x{506B}\x{506C}\x{506D}\x{506E}\x{506F}' - . '\x{5070}\x{5071}\x{5072}\x{5073}\x{5074}\x{5075}\x{5076}\x{5077}\x{5078}' - . '\x{5079}\x{507A}\x{507B}\x{507D}\x{507E}\x{507F}\x{5080}\x{5082}\x{5083}' - . '\x{5084}\x{5085}\x{5086}\x{5087}\x{5088}\x{5089}\x{508A}\x{508B}\x{508C}' - . '\x{508D}\x{508E}\x{508F}\x{5090}\x{5091}\x{5092}\x{5094}\x{5095}\x{5096}' - . '\x{5098}\x{5099}\x{509A}\x{509B}\x{509C}\x{509D}\x{509E}\x{50A2}\x{50A3}' - . '\x{50A4}\x{50A5}\x{50A6}\x{50A7}\x{50A8}\x{50A9}\x{50AA}\x{50AB}\x{50AC}' - . '\x{50AD}\x{50AE}\x{50AF}\x{50B0}\x{50B1}\x{50B2}\x{50B3}\x{50B4}\x{50B5}' - . '\x{50B6}\x{50B7}\x{50B8}\x{50BA}\x{50BB}\x{50BC}\x{50BD}\x{50BE}\x{50BF}' - . '\x{50C0}\x{50C1}\x{50C2}\x{50C4}\x{50C5}\x{50C6}\x{50C7}\x{50C8}\x{50C9}' - . '\x{50CA}\x{50CB}\x{50CC}\x{50CD}\x{50CE}\x{50CF}\x{50D0}\x{50D1}\x{50D2}' - . '\x{50D3}\x{50D4}\x{50D5}\x{50D6}\x{50D7}\x{50D9}\x{50DA}\x{50DB}\x{50DC}' - . '\x{50DD}\x{50DE}\x{50E0}\x{50E3}\x{50E4}\x{50E5}\x{50E6}\x{50E7}\x{50E8}' - . '\x{50E9}\x{50EA}\x{50EC}\x{50ED}\x{50EE}\x{50EF}\x{50F0}\x{50F1}\x{50F2}' - . '\x{50F3}\x{50F5}\x{50F6}\x{50F8}\x{50F9}\x{50FA}\x{50FB}\x{50FC}\x{50FD}' - . '\x{50FE}\x{50FF}\x{5100}\x{5101}\x{5102}\x{5103}\x{5104}\x{5105}\x{5106}' - . '\x{5107}\x{5108}\x{5109}\x{510A}\x{510B}\x{510C}\x{510D}\x{510E}\x{510F}' - . '\x{5110}\x{5111}\x{5112}\x{5113}\x{5114}\x{5115}\x{5116}\x{5117}\x{5118}' - . '\x{5119}\x{511A}\x{511C}\x{511D}\x{511E}\x{511F}\x{5120}\x{5121}\x{5122}' - . '\x{5123}\x{5124}\x{5125}\x{5126}\x{5127}\x{5129}\x{512A}\x{512C}\x{512D}' - . '\x{512E}\x{512F}\x{5130}\x{5131}\x{5132}\x{5133}\x{5134}\x{5135}\x{5136}' - . '\x{5137}\x{5138}\x{5139}\x{513A}\x{513B}\x{513C}\x{513D}\x{513E}\x{513F}' - . '\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' - . '\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5151}\x{5152}\x{5154}\x{5155}' - . '\x{5156}\x{5157}\x{5159}\x{515A}\x{515B}\x{515C}\x{515D}\x{515E}\x{515F}' - . '\x{5161}\x{5162}\x{5163}\x{5165}\x{5166}\x{5167}\x{5168}\x{5169}\x{516A}' - . '\x{516B}\x{516C}\x{516D}\x{516E}\x{516F}\x{5170}\x{5171}\x{5173}\x{5174}' - . '\x{5175}\x{5176}\x{5177}\x{5178}\x{5179}\x{517A}\x{517B}\x{517C}\x{517D}' - . '\x{517F}\x{5180}\x{5181}\x{5182}\x{5185}\x{5186}\x{5187}\x{5188}\x{5189}' - . '\x{518A}\x{518B}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}\x{5193}' - . '\x{5194}\x{5195}\x{5196}\x{5197}\x{5198}\x{5199}\x{519A}\x{519B}\x{519C}' - . '\x{519D}\x{519E}\x{519F}\x{51A0}\x{51A2}\x{51A4}\x{51A5}\x{51A6}\x{51A7}' - . '\x{51A8}\x{51AA}\x{51AB}\x{51AC}\x{51AE}\x{51AF}\x{51B0}\x{51B1}\x{51B2}' - . '\x{51B3}\x{51B5}\x{51B6}\x{51B7}\x{51B9}\x{51BB}\x{51BC}\x{51BD}\x{51BE}' - . '\x{51BF}\x{51C0}\x{51C1}\x{51C3}\x{51C4}\x{51C5}\x{51C6}\x{51C7}\x{51C8}' - . '\x{51C9}\x{51CA}\x{51CB}\x{51CC}\x{51CD}\x{51CE}\x{51CF}\x{51D0}\x{51D1}' - . '\x{51D4}\x{51D5}\x{51D6}\x{51D7}\x{51D8}\x{51D9}\x{51DA}\x{51DB}\x{51DC}' - . '\x{51DD}\x{51DE}\x{51E0}\x{51E1}\x{51E2}\x{51E3}\x{51E4}\x{51E5}\x{51E7}' - . '\x{51E8}\x{51E9}\x{51EA}\x{51EB}\x{51ED}\x{51EF}\x{51F0}\x{51F1}\x{51F3}' - . '\x{51F4}\x{51F5}\x{51F6}\x{51F7}\x{51F8}\x{51F9}\x{51FA}\x{51FB}\x{51FC}' - . '\x{51FD}\x{51FE}\x{51FF}\x{5200}\x{5201}\x{5202}\x{5203}\x{5204}\x{5205}' - . '\x{5206}\x{5207}\x{5208}\x{5209}\x{520A}\x{520B}\x{520C}\x{520D}\x{520E}' - . '\x{520F}\x{5210}\x{5211}\x{5212}\x{5213}\x{5214}\x{5215}\x{5216}\x{5217}' - . '\x{5218}\x{5219}\x{521A}\x{521B}\x{521C}\x{521D}\x{521E}\x{521F}\x{5220}' - . '\x{5221}\x{5222}\x{5223}\x{5224}\x{5225}\x{5226}\x{5228}\x{5229}\x{522A}' - . '\x{522B}\x{522C}\x{522D}\x{522E}\x{522F}\x{5230}\x{5231}\x{5232}\x{5233}' - . '\x{5234}\x{5235}\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{523C}' - . '\x{523D}\x{523E}\x{523F}\x{5240}\x{5241}\x{5242}\x{5243}\x{5244}\x{5245}' - . '\x{5246}\x{5247}\x{5248}\x{5249}\x{524A}\x{524B}\x{524C}\x{524D}\x{524E}' - . '\x{5250}\x{5251}\x{5252}\x{5254}\x{5255}\x{5256}\x{5257}\x{5258}\x{5259}' - . '\x{525A}\x{525B}\x{525C}\x{525D}\x{525E}\x{525F}\x{5260}\x{5261}\x{5262}' - . '\x{5263}\x{5264}\x{5265}\x{5267}\x{5268}\x{5269}\x{526A}\x{526B}\x{526C}' - . '\x{526D}\x{526E}\x{526F}\x{5270}\x{5272}\x{5273}\x{5274}\x{5275}\x{5276}' - . '\x{5277}\x{5278}\x{527A}\x{527B}\x{527C}\x{527D}\x{527E}\x{527F}\x{5280}' - . '\x{5281}\x{5282}\x{5283}\x{5284}\x{5286}\x{5287}\x{5288}\x{5289}\x{528A}' - . '\x{528B}\x{528C}\x{528D}\x{528F}\x{5290}\x{5291}\x{5292}\x{5293}\x{5294}' - . '\x{5295}\x{5296}\x{5297}\x{5298}\x{5299}\x{529A}\x{529B}\x{529C}\x{529D}' - . '\x{529E}\x{529F}\x{52A0}\x{52A1}\x{52A2}\x{52A3}\x{52A5}\x{52A6}\x{52A7}' - . '\x{52A8}\x{52A9}\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52AE}\x{52AF}\x{52B0}' - . '\x{52B1}\x{52B2}\x{52B3}\x{52B4}\x{52B5}\x{52B6}\x{52B7}\x{52B8}\x{52B9}' - . '\x{52BA}\x{52BB}\x{52BC}\x{52BD}\x{52BE}\x{52BF}\x{52C0}\x{52C1}\x{52C2}' - . '\x{52C3}\x{52C6}\x{52C7}\x{52C9}\x{52CA}\x{52CB}\x{52CD}\x{52CF}\x{52D0}' - . '\x{52D2}\x{52D3}\x{52D5}\x{52D6}\x{52D7}\x{52D8}\x{52D9}\x{52DA}\x{52DB}' - . '\x{52DC}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}\x{52E4}\x{52E6}' - . '\x{52E7}\x{52E8}\x{52E9}\x{52EA}\x{52EB}\x{52EC}\x{52ED}\x{52EF}\x{52F0}' - . '\x{52F1}\x{52F2}\x{52F3}\x{52F4}\x{52F5}\x{52F6}\x{52F7}\x{52F8}\x{52F9}' - . '\x{52FA}\x{52FB}\x{52FC}\x{52FD}\x{52FE}\x{52FF}\x{5300}\x{5301}\x{5302}' - . '\x{5305}\x{5306}\x{5307}\x{5308}\x{5309}\x{530A}\x{530B}\x{530C}\x{530D}' - . '\x{530E}\x{530F}\x{5310}\x{5311}\x{5312}\x{5313}\x{5314}\x{5315}\x{5316}' - . '\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}\x{5320}\x{5321}\x{5322}' - . '\x{5323}\x{5324}\x{5325}\x{5326}\x{5328}\x{532A}\x{532B}\x{532C}\x{532D}' - . '\x{532E}\x{532F}\x{5330}\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}\x{533A}' - . '\x{533B}\x{533C}\x{533D}\x{533E}\x{533F}\x{5340}\x{5341}\x{5343}\x{5344}' - . '\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}\x{534A}\x{534B}\x{534C}\x{534D}' - . '\x{534E}\x{534F}\x{5350}\x{5351}\x{5352}\x{5353}\x{5354}\x{5355}\x{5356}' - . '\x{5357}\x{5358}\x{5359}\x{535A}\x{535C}\x{535E}\x{535F}\x{5360}\x{5361}' - . '\x{5362}\x{5363}\x{5364}\x{5365}\x{5366}\x{5367}\x{5369}\x{536B}\x{536C}' - . '\x{536E}\x{536F}\x{5370}\x{5371}\x{5372}\x{5373}\x{5374}\x{5375}\x{5376}' - . '\x{5377}\x{5378}\x{5379}\x{537A}\x{537B}\x{537C}\x{537D}\x{537E}\x{537F}' - . '\x{5381}\x{5382}\x{5383}\x{5384}\x{5385}\x{5386}\x{5387}\x{5388}\x{5389}' - . '\x{538A}\x{538B}\x{538C}\x{538D}\x{538E}\x{538F}\x{5390}\x{5391}\x{5392}' - . '\x{5393}\x{5394}\x{5395}\x{5396}\x{5397}\x{5398}\x{5399}\x{539A}\x{539B}' - . '\x{539C}\x{539D}\x{539E}\x{539F}\x{53A0}\x{53A2}\x{53A3}\x{53A4}\x{53A5}' - . '\x{53A6}\x{53A7}\x{53A8}\x{53A9}\x{53AC}\x{53AD}\x{53AE}\x{53B0}\x{53B1}' - . '\x{53B2}\x{53B3}\x{53B4}\x{53B5}\x{53B6}\x{53B7}\x{53B8}\x{53B9}\x{53BB}' - . '\x{53BC}\x{53BD}\x{53BE}\x{53BF}\x{53C0}\x{53C1}\x{53C2}\x{53C3}\x{53C4}' - . '\x{53C6}\x{53C7}\x{53C8}\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}' - . '\x{53D0}\x{53D1}\x{53D2}\x{53D3}\x{53D4}\x{53D5}\x{53D6}\x{53D7}\x{53D8}' - . '\x{53D9}\x{53DB}\x{53DC}\x{53DF}\x{53E0}\x{53E1}\x{53E2}\x{53E3}\x{53E4}' - . '\x{53E5}\x{53E6}\x{53E8}\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}' - . '\x{53EF}\x{53F0}\x{53F1}\x{53F2}\x{53F3}\x{53F4}\x{53F5}\x{53F6}\x{53F7}' - . '\x{53F8}\x{53F9}\x{53FA}\x{53FB}\x{53FC}\x{53FD}\x{53FE}\x{5401}\x{5402}' - . '\x{5403}\x{5404}\x{5405}\x{5406}\x{5407}\x{5408}\x{5409}\x{540A}\x{540B}' - . '\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}\x{5411}\x{5412}\x{5413}\x{5414}' - . '\x{5415}\x{5416}\x{5417}\x{5418}\x{5419}\x{541B}\x{541C}\x{541D}\x{541E}' - . '\x{541F}\x{5420}\x{5421}\x{5423}\x{5424}\x{5425}\x{5426}\x{5427}\x{5428}' - . '\x{5429}\x{542A}\x{542B}\x{542C}\x{542D}\x{542E}\x{542F}\x{5430}\x{5431}' - . '\x{5432}\x{5433}\x{5434}\x{5435}\x{5436}\x{5437}\x{5438}\x{5439}\x{543A}' - . '\x{543B}\x{543C}\x{543D}\x{543E}\x{543F}\x{5440}\x{5441}\x{5442}\x{5443}' - . '\x{5444}\x{5445}\x{5446}\x{5447}\x{5448}\x{5449}\x{544A}\x{544B}\x{544D}' - . '\x{544E}\x{544F}\x{5450}\x{5451}\x{5452}\x{5453}\x{5454}\x{5455}\x{5456}' - . '\x{5457}\x{5458}\x{5459}\x{545A}\x{545B}\x{545C}\x{545E}\x{545F}\x{5460}' - . '\x{5461}\x{5462}\x{5463}\x{5464}\x{5465}\x{5466}\x{5467}\x{5468}\x{546A}' - . '\x{546B}\x{546C}\x{546D}\x{546E}\x{546F}\x{5470}\x{5471}\x{5472}\x{5473}' - . '\x{5474}\x{5475}\x{5476}\x{5477}\x{5478}\x{5479}\x{547A}\x{547B}\x{547C}' - . '\x{547D}\x{547E}\x{547F}\x{5480}\x{5481}\x{5482}\x{5483}\x{5484}\x{5485}' - . '\x{5486}\x{5487}\x{5488}\x{5489}\x{548B}\x{548C}\x{548D}\x{548E}\x{548F}' - . '\x{5490}\x{5491}\x{5492}\x{5493}\x{5494}\x{5495}\x{5496}\x{5497}\x{5498}' - . '\x{5499}\x{549A}\x{549B}\x{549C}\x{549D}\x{549E}\x{549F}\x{54A0}\x{54A1}' - . '\x{54A2}\x{54A3}\x{54A4}\x{54A5}\x{54A6}\x{54A7}\x{54A8}\x{54A9}\x{54AA}' - . '\x{54AB}\x{54AC}\x{54AD}\x{54AE}\x{54AF}\x{54B0}\x{54B1}\x{54B2}\x{54B3}' - . '\x{54B4}\x{54B6}\x{54B7}\x{54B8}\x{54B9}\x{54BA}\x{54BB}\x{54BC}\x{54BD}' - . '\x{54BE}\x{54BF}\x{54C0}\x{54C1}\x{54C2}\x{54C3}\x{54C4}\x{54C5}\x{54C6}' - . '\x{54C7}\x{54C8}\x{54C9}\x{54CA}\x{54CB}\x{54CC}\x{54CD}\x{54CE}\x{54CF}' - . '\x{54D0}\x{54D1}\x{54D2}\x{54D3}\x{54D4}\x{54D5}\x{54D6}\x{54D7}\x{54D8}' - . '\x{54D9}\x{54DA}\x{54DB}\x{54DC}\x{54DD}\x{54DE}\x{54DF}\x{54E0}\x{54E1}' - . '\x{54E2}\x{54E3}\x{54E4}\x{54E5}\x{54E6}\x{54E7}\x{54E8}\x{54E9}\x{54EA}' - . '\x{54EB}\x{54EC}\x{54ED}\x{54EE}\x{54EF}\x{54F0}\x{54F1}\x{54F2}\x{54F3}' - . '\x{54F4}\x{54F5}\x{54F7}\x{54F8}\x{54F9}\x{54FA}\x{54FB}\x{54FC}\x{54FD}' - . '\x{54FE}\x{54FF}\x{5500}\x{5501}\x{5502}\x{5503}\x{5504}\x{5505}\x{5506}' - . '\x{5507}\x{5508}\x{5509}\x{550A}\x{550B}\x{550C}\x{550D}\x{550E}\x{550F}' - . '\x{5510}\x{5511}\x{5512}\x{5513}\x{5514}\x{5516}\x{5517}\x{551A}\x{551B}' - . '\x{551C}\x{551D}\x{551E}\x{551F}\x{5520}\x{5521}\x{5522}\x{5523}\x{5524}' - . '\x{5525}\x{5526}\x{5527}\x{5528}\x{5529}\x{552A}\x{552B}\x{552C}\x{552D}' - . '\x{552E}\x{552F}\x{5530}\x{5531}\x{5532}\x{5533}\x{5534}\x{5535}\x{5536}' - . '\x{5537}\x{5538}\x{5539}\x{553A}\x{553B}\x{553C}\x{553D}\x{553E}\x{553F}' - . '\x{5540}\x{5541}\x{5542}\x{5543}\x{5544}\x{5545}\x{5546}\x{5548}\x{5549}' - . '\x{554A}\x{554B}\x{554C}\x{554D}\x{554E}\x{554F}\x{5550}\x{5551}\x{5552}' - . '\x{5553}\x{5554}\x{5555}\x{5556}\x{5557}\x{5558}\x{5559}\x{555A}\x{555B}' - . '\x{555C}\x{555D}\x{555E}\x{555F}\x{5561}\x{5562}\x{5563}\x{5564}\x{5565}' - . '\x{5566}\x{5567}\x{5568}\x{5569}\x{556A}\x{556B}\x{556C}\x{556D}\x{556E}' - . '\x{556F}\x{5570}\x{5571}\x{5572}\x{5573}\x{5574}\x{5575}\x{5576}\x{5577}' - . '\x{5578}\x{5579}\x{557B}\x{557C}\x{557D}\x{557E}\x{557F}\x{5580}\x{5581}' - . '\x{5582}\x{5583}\x{5584}\x{5585}\x{5586}\x{5587}\x{5588}\x{5589}\x{558A}' - . '\x{558B}\x{558C}\x{558D}\x{558E}\x{558F}\x{5590}\x{5591}\x{5592}\x{5593}' - . '\x{5594}\x{5595}\x{5596}\x{5597}\x{5598}\x{5599}\x{559A}\x{559B}\x{559C}' - . '\x{559D}\x{559E}\x{559F}\x{55A0}\x{55A1}\x{55A2}\x{55A3}\x{55A4}\x{55A5}' - . '\x{55A6}\x{55A7}\x{55A8}\x{55A9}\x{55AA}\x{55AB}\x{55AC}\x{55AD}\x{55AE}' - . '\x{55AF}\x{55B0}\x{55B1}\x{55B2}\x{55B3}\x{55B4}\x{55B5}\x{55B6}\x{55B7}' - . '\x{55B8}\x{55B9}\x{55BA}\x{55BB}\x{55BC}\x{55BD}\x{55BE}\x{55BF}\x{55C0}' - . '\x{55C1}\x{55C2}\x{55C3}\x{55C4}\x{55C5}\x{55C6}\x{55C7}\x{55C8}\x{55C9}' - . '\x{55CA}\x{55CB}\x{55CC}\x{55CD}\x{55CE}\x{55CF}\x{55D0}\x{55D1}\x{55D2}' - . '\x{55D3}\x{55D4}\x{55D5}\x{55D6}\x{55D7}\x{55D8}\x{55D9}\x{55DA}\x{55DB}' - . '\x{55DC}\x{55DD}\x{55DE}\x{55DF}\x{55E1}\x{55E2}\x{55E3}\x{55E4}\x{55E5}' - . '\x{55E6}\x{55E7}\x{55E8}\x{55E9}\x{55EA}\x{55EB}\x{55EC}\x{55ED}\x{55EE}' - . '\x{55EF}\x{55F0}\x{55F1}\x{55F2}\x{55F3}\x{55F4}\x{55F5}\x{55F6}\x{55F7}' - . '\x{55F9}\x{55FA}\x{55FB}\x{55FC}\x{55FD}\x{55FE}\x{55FF}\x{5600}\x{5601}' - . '\x{5602}\x{5603}\x{5604}\x{5606}\x{5607}\x{5608}\x{5609}\x{560C}\x{560D}' - . '\x{560E}\x{560F}\x{5610}\x{5611}\x{5612}\x{5613}\x{5614}\x{5615}\x{5616}' - . '\x{5617}\x{5618}\x{5619}\x{561A}\x{561B}\x{561C}\x{561D}\x{561E}\x{561F}' - . '\x{5621}\x{5622}\x{5623}\x{5624}\x{5625}\x{5626}\x{5627}\x{5628}\x{5629}' - . '\x{562A}\x{562C}\x{562D}\x{562E}\x{562F}\x{5630}\x{5631}\x{5632}\x{5633}' - . '\x{5634}\x{5635}\x{5636}\x{5638}\x{5639}\x{563A}\x{563B}\x{563D}\x{563E}' - . '\x{563F}\x{5640}\x{5641}\x{5642}\x{5643}\x{5645}\x{5646}\x{5647}\x{5648}' - . '\x{5649}\x{564A}\x{564C}\x{564D}\x{564E}\x{564F}\x{5650}\x{5652}\x{5653}' - . '\x{5654}\x{5655}\x{5657}\x{5658}\x{5659}\x{565A}\x{565B}\x{565C}\x{565D}' - . '\x{565E}\x{5660}\x{5662}\x{5663}\x{5664}\x{5665}\x{5666}\x{5667}\x{5668}' - . '\x{5669}\x{566A}\x{566B}\x{566C}\x{566D}\x{566E}\x{566F}\x{5670}\x{5671}' - . '\x{5672}\x{5673}\x{5674}\x{5676}\x{5677}\x{5678}\x{5679}\x{567A}\x{567B}' - . '\x{567C}\x{567E}\x{567F}\x{5680}\x{5681}\x{5682}\x{5683}\x{5684}\x{5685}' - . '\x{5686}\x{5687}\x{568A}\x{568C}\x{568D}\x{568E}\x{568F}\x{5690}\x{5691}' - . '\x{5692}\x{5693}\x{5694}\x{5695}\x{5697}\x{5698}\x{5699}\x{569A}\x{569B}' - . '\x{569C}\x{569D}\x{569F}\x{56A0}\x{56A1}\x{56A3}\x{56A4}\x{56A5}\x{56A6}' - . '\x{56A7}\x{56A8}\x{56A9}\x{56AA}\x{56AB}\x{56AC}\x{56AD}\x{56AE}\x{56AF}' - . '\x{56B0}\x{56B1}\x{56B2}\x{56B3}\x{56B4}\x{56B5}\x{56B6}\x{56B7}\x{56B8}' - . '\x{56B9}\x{56BB}\x{56BC}\x{56BD}\x{56BE}\x{56BF}\x{56C0}\x{56C1}\x{56C2}' - . '\x{56C3}\x{56C4}\x{56C5}\x{56C6}\x{56C7}\x{56C8}\x{56C9}\x{56CA}\x{56CB}' - . '\x{56CC}\x{56CD}\x{56CE}\x{56D0}\x{56D1}\x{56D2}\x{56D3}\x{56D4}\x{56D5}' - . '\x{56D6}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DC}\x{56DD}\x{56DE}\x{56DF}' - . '\x{56E0}\x{56E1}\x{56E2}\x{56E3}\x{56E4}\x{56E5}\x{56E7}\x{56E8}\x{56E9}' - . '\x{56EA}\x{56EB}\x{56EC}\x{56ED}\x{56EE}\x{56EF}\x{56F0}\x{56F1}\x{56F2}' - . '\x{56F3}\x{56F4}\x{56F5}\x{56F7}\x{56F9}\x{56FA}\x{56FD}\x{56FE}\x{56FF}' - . '\x{5700}\x{5701}\x{5702}\x{5703}\x{5704}\x{5706}\x{5707}\x{5708}\x{5709}' - . '\x{570A}\x{570B}\x{570C}\x{570D}\x{570E}\x{570F}\x{5710}\x{5712}\x{5713}' - . '\x{5714}\x{5715}\x{5716}\x{5718}\x{5719}\x{571A}\x{571B}\x{571C}\x{571D}' - . '\x{571E}\x{571F}\x{5720}\x{5722}\x{5723}\x{5725}\x{5726}\x{5727}\x{5728}' - . '\x{5729}\x{572A}\x{572B}\x{572C}\x{572D}\x{572E}\x{572F}\x{5730}\x{5731}' - . '\x{5732}\x{5733}\x{5734}\x{5735}\x{5736}\x{5737}\x{5738}\x{5739}\x{573A}' - . '\x{573B}\x{573C}\x{573E}\x{573F}\x{5740}\x{5741}\x{5742}\x{5744}\x{5745}' - . '\x{5746}\x{5747}\x{5749}\x{574A}\x{574B}\x{574C}\x{574D}\x{574E}\x{574F}' - . '\x{5750}\x{5751}\x{5752}\x{5753}\x{5754}\x{5757}\x{5759}\x{575A}\x{575B}' - . '\x{575C}\x{575D}\x{575E}\x{575F}\x{5760}\x{5761}\x{5762}\x{5764}\x{5765}' - . '\x{5766}\x{5767}\x{5768}\x{5769}\x{576A}\x{576B}\x{576C}\x{576D}\x{576F}' - . '\x{5770}\x{5771}\x{5772}\x{5773}\x{5774}\x{5775}\x{5776}\x{5777}\x{5779}' - . '\x{577A}\x{577B}\x{577C}\x{577D}\x{577E}\x{577F}\x{5780}\x{5782}\x{5783}' - . '\x{5784}\x{5785}\x{5786}\x{5788}\x{5789}\x{578A}\x{578B}\x{578C}\x{578D}' - . '\x{578E}\x{578F}\x{5790}\x{5791}\x{5792}\x{5793}\x{5794}\x{5795}\x{5797}' - . '\x{5798}\x{5799}\x{579A}\x{579B}\x{579C}\x{579D}\x{579E}\x{579F}\x{57A0}' - . '\x{57A1}\x{57A2}\x{57A3}\x{57A4}\x{57A5}\x{57A6}\x{57A7}\x{57A9}\x{57AA}' - . '\x{57AB}\x{57AC}\x{57AD}\x{57AE}\x{57AF}\x{57B0}\x{57B1}\x{57B2}\x{57B3}' - . '\x{57B4}\x{57B5}\x{57B6}\x{57B7}\x{57B8}\x{57B9}\x{57BA}\x{57BB}\x{57BC}' - . '\x{57BD}\x{57BE}\x{57BF}\x{57C0}\x{57C1}\x{57C2}\x{57C3}\x{57C4}\x{57C5}' - . '\x{57C6}\x{57C7}\x{57C8}\x{57C9}\x{57CB}\x{57CC}\x{57CD}\x{57CE}\x{57CF}' - . '\x{57D0}\x{57D2}\x{57D3}\x{57D4}\x{57D5}\x{57D6}\x{57D8}\x{57D9}\x{57DA}' - . '\x{57DC}\x{57DD}\x{57DF}\x{57E0}\x{57E1}\x{57E2}\x{57E3}\x{57E4}\x{57E5}' - . '\x{57E6}\x{57E7}\x{57E8}\x{57E9}\x{57EA}\x{57EB}\x{57EC}\x{57ED}\x{57EE}' - . '\x{57EF}\x{57F0}\x{57F1}\x{57F2}\x{57F3}\x{57F4}\x{57F5}\x{57F6}\x{57F7}' - . '\x{57F8}\x{57F9}\x{57FA}\x{57FB}\x{57FC}\x{57FD}\x{57FE}\x{57FF}\x{5800}' - . '\x{5801}\x{5802}\x{5803}\x{5804}\x{5805}\x{5806}\x{5807}\x{5808}\x{5809}' - . '\x{580A}\x{580B}\x{580C}\x{580D}\x{580E}\x{580F}\x{5810}\x{5811}\x{5812}' - . '\x{5813}\x{5814}\x{5815}\x{5816}\x{5819}\x{581A}\x{581B}\x{581C}\x{581D}' - . '\x{581E}\x{581F}\x{5820}\x{5821}\x{5822}\x{5823}\x{5824}\x{5825}\x{5826}' - . '\x{5827}\x{5828}\x{5829}\x{582A}\x{582B}\x{582C}\x{582D}\x{582E}\x{582F}' - . '\x{5830}\x{5831}\x{5832}\x{5833}\x{5834}\x{5835}\x{5836}\x{5837}\x{5838}' - . '\x{5839}\x{583A}\x{583B}\x{583C}\x{583D}\x{583E}\x{583F}\x{5840}\x{5842}' - . '\x{5843}\x{5844}\x{5845}\x{5846}\x{5847}\x{5848}\x{5849}\x{584A}\x{584B}' - . '\x{584C}\x{584D}\x{584E}\x{584F}\x{5851}\x{5852}\x{5853}\x{5854}\x{5855}' - . '\x{5857}\x{5858}\x{5859}\x{585A}\x{585B}\x{585C}\x{585D}\x{585E}\x{585F}' - . '\x{5861}\x{5862}\x{5863}\x{5864}\x{5865}\x{5868}\x{5869}\x{586A}\x{586B}' - . '\x{586C}\x{586D}\x{586E}\x{586F}\x{5870}\x{5871}\x{5872}\x{5873}\x{5874}' - . '\x{5875}\x{5876}\x{5878}\x{5879}\x{587A}\x{587B}\x{587C}\x{587D}\x{587E}' - . '\x{587F}\x{5880}\x{5881}\x{5882}\x{5883}\x{5884}\x{5885}\x{5886}\x{5887}' - . '\x{5888}\x{5889}\x{588A}\x{588B}\x{588C}\x{588D}\x{588E}\x{588F}\x{5890}' - . '\x{5891}\x{5892}\x{5893}\x{5894}\x{5896}\x{5897}\x{5898}\x{5899}\x{589A}' - . '\x{589B}\x{589C}\x{589D}\x{589E}\x{589F}\x{58A0}\x{58A1}\x{58A2}\x{58A3}' - . '\x{58A4}\x{58A5}\x{58A6}\x{58A7}\x{58A8}\x{58A9}\x{58AB}\x{58AC}\x{58AD}' - . '\x{58AE}\x{58AF}\x{58B0}\x{58B1}\x{58B2}\x{58B3}\x{58B4}\x{58B7}\x{58B8}' - . '\x{58B9}\x{58BA}\x{58BB}\x{58BC}\x{58BD}\x{58BE}\x{58BF}\x{58C1}\x{58C2}' - . '\x{58C5}\x{58C6}\x{58C7}\x{58C8}\x{58C9}\x{58CA}\x{58CB}\x{58CE}\x{58CF}' - . '\x{58D1}\x{58D2}\x{58D3}\x{58D4}\x{58D5}\x{58D6}\x{58D7}\x{58D8}\x{58D9}' - . '\x{58DA}\x{58DB}\x{58DD}\x{58DE}\x{58DF}\x{58E0}\x{58E2}\x{58E3}\x{58E4}' - . '\x{58E5}\x{58E7}\x{58E8}\x{58E9}\x{58EA}\x{58EB}\x{58EC}\x{58ED}\x{58EE}' - . '\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F3}\x{58F4}\x{58F6}\x{58F7}\x{58F8}' - . '\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{58FE}\x{58FF}\x{5900}\x{5902}' - . '\x{5903}\x{5904}\x{5906}\x{5907}\x{5909}\x{590A}\x{590B}\x{590C}\x{590D}' - . '\x{590E}\x{590F}\x{5910}\x{5912}\x{5914}\x{5915}\x{5916}\x{5917}\x{5918}' - . '\x{5919}\x{591A}\x{591B}\x{591C}\x{591D}\x{591E}\x{591F}\x{5920}\x{5921}' - . '\x{5922}\x{5924}\x{5925}\x{5926}\x{5927}\x{5928}\x{5929}\x{592A}\x{592B}' - . '\x{592C}\x{592D}\x{592E}\x{592F}\x{5930}\x{5931}\x{5932}\x{5934}\x{5935}' - . '\x{5937}\x{5938}\x{5939}\x{593A}\x{593B}\x{593C}\x{593D}\x{593E}\x{593F}' - . '\x{5940}\x{5941}\x{5942}\x{5943}\x{5944}\x{5945}\x{5946}\x{5947}\x{5948}' - . '\x{5949}\x{594A}\x{594B}\x{594C}\x{594D}\x{594E}\x{594F}\x{5950}\x{5951}' - . '\x{5952}\x{5953}\x{5954}\x{5955}\x{5956}\x{5957}\x{5958}\x{595A}\x{595C}' - . '\x{595D}\x{595E}\x{595F}\x{5960}\x{5961}\x{5962}\x{5963}\x{5964}\x{5965}' - . '\x{5966}\x{5967}\x{5968}\x{5969}\x{596A}\x{596B}\x{596C}\x{596D}\x{596E}' - . '\x{596F}\x{5970}\x{5971}\x{5972}\x{5973}\x{5974}\x{5975}\x{5976}\x{5977}' - . '\x{5978}\x{5979}\x{597A}\x{597B}\x{597C}\x{597D}\x{597E}\x{597F}\x{5980}' - . '\x{5981}\x{5982}\x{5983}\x{5984}\x{5985}\x{5986}\x{5987}\x{5988}\x{5989}' - . '\x{598A}\x{598B}\x{598C}\x{598D}\x{598E}\x{598F}\x{5990}\x{5991}\x{5992}' - . '\x{5993}\x{5994}\x{5995}\x{5996}\x{5997}\x{5998}\x{5999}\x{599A}\x{599C}' - . '\x{599D}\x{599E}\x{599F}\x{59A0}\x{59A1}\x{59A2}\x{59A3}\x{59A4}\x{59A5}' - . '\x{59A6}\x{59A7}\x{59A8}\x{59A9}\x{59AA}\x{59AB}\x{59AC}\x{59AD}\x{59AE}' - . '\x{59AF}\x{59B0}\x{59B1}\x{59B2}\x{59B3}\x{59B4}\x{59B5}\x{59B6}\x{59B8}' - . '\x{59B9}\x{59BA}\x{59BB}\x{59BC}\x{59BD}\x{59BE}\x{59BF}\x{59C0}\x{59C1}' - . '\x{59C2}\x{59C3}\x{59C4}\x{59C5}\x{59C6}\x{59C7}\x{59C8}\x{59C9}\x{59CA}' - . '\x{59CB}\x{59CC}\x{59CD}\x{59CE}\x{59CF}\x{59D0}\x{59D1}\x{59D2}\x{59D3}' - . '\x{59D4}\x{59D5}\x{59D6}\x{59D7}\x{59D8}\x{59D9}\x{59DA}\x{59DB}\x{59DC}' - . '\x{59DD}\x{59DE}\x{59DF}\x{59E0}\x{59E1}\x{59E2}\x{59E3}\x{59E4}\x{59E5}' - . '\x{59E6}\x{59E8}\x{59E9}\x{59EA}\x{59EB}\x{59EC}\x{59ED}\x{59EE}\x{59EF}' - . '\x{59F0}\x{59F1}\x{59F2}\x{59F3}\x{59F4}\x{59F5}\x{59F6}\x{59F7}\x{59F8}' - . '\x{59F9}\x{59FA}\x{59FB}\x{59FC}\x{59FD}\x{59FE}\x{59FF}\x{5A00}\x{5A01}' - . '\x{5A02}\x{5A03}\x{5A04}\x{5A05}\x{5A06}\x{5A07}\x{5A08}\x{5A09}\x{5A0A}' - . '\x{5A0B}\x{5A0C}\x{5A0D}\x{5A0E}\x{5A0F}\x{5A10}\x{5A11}\x{5A12}\x{5A13}' - . '\x{5A14}\x{5A15}\x{5A16}\x{5A17}\x{5A18}\x{5A19}\x{5A1A}\x{5A1B}\x{5A1C}' - . '\x{5A1D}\x{5A1E}\x{5A1F}\x{5A20}\x{5A21}\x{5A22}\x{5A23}\x{5A25}\x{5A27}' - . '\x{5A28}\x{5A29}\x{5A2A}\x{5A2B}\x{5A2D}\x{5A2E}\x{5A2F}\x{5A31}\x{5A32}' - . '\x{5A33}\x{5A34}\x{5A35}\x{5A36}\x{5A37}\x{5A38}\x{5A39}\x{5A3A}\x{5A3B}' - . '\x{5A3C}\x{5A3D}\x{5A3E}\x{5A3F}\x{5A40}\x{5A41}\x{5A42}\x{5A43}\x{5A44}' - . '\x{5A45}\x{5A46}\x{5A47}\x{5A48}\x{5A49}\x{5A4A}\x{5A4B}\x{5A4C}\x{5A4D}' - . '\x{5A4E}\x{5A4F}\x{5A50}\x{5A51}\x{5A52}\x{5A53}\x{5A55}\x{5A56}\x{5A57}' - . '\x{5A58}\x{5A5A}\x{5A5B}\x{5A5C}\x{5A5D}\x{5A5E}\x{5A5F}\x{5A60}\x{5A61}' - . '\x{5A62}\x{5A63}\x{5A64}\x{5A65}\x{5A66}\x{5A67}\x{5A68}\x{5A69}\x{5A6A}' - . '\x{5A6B}\x{5A6C}\x{5A6D}\x{5A6E}\x{5A70}\x{5A72}\x{5A73}\x{5A74}\x{5A75}' - . '\x{5A76}\x{5A77}\x{5A78}\x{5A79}\x{5A7A}\x{5A7B}\x{5A7C}\x{5A7D}\x{5A7E}' - . '\x{5A7F}\x{5A80}\x{5A81}\x{5A82}\x{5A83}\x{5A84}\x{5A85}\x{5A86}\x{5A88}' - . '\x{5A89}\x{5A8A}\x{5A8B}\x{5A8C}\x{5A8E}\x{5A8F}\x{5A90}\x{5A91}\x{5A92}' - . '\x{5A93}\x{5A94}\x{5A95}\x{5A96}\x{5A97}\x{5A98}\x{5A99}\x{5A9A}\x{5A9B}' - . '\x{5A9C}\x{5A9D}\x{5A9E}\x{5A9F}\x{5AA0}\x{5AA1}\x{5AA2}\x{5AA3}\x{5AA4}' - . '\x{5AA5}\x{5AA6}\x{5AA7}\x{5AA8}\x{5AA9}\x{5AAA}\x{5AAC}\x{5AAD}\x{5AAE}' - . '\x{5AAF}\x{5AB0}\x{5AB1}\x{5AB2}\x{5AB3}\x{5AB4}\x{5AB5}\x{5AB6}\x{5AB7}' - . '\x{5AB8}\x{5AB9}\x{5ABA}\x{5ABB}\x{5ABC}\x{5ABD}\x{5ABE}\x{5ABF}\x{5AC0}' - . '\x{5AC1}\x{5AC2}\x{5AC3}\x{5AC4}\x{5AC5}\x{5AC6}\x{5AC7}\x{5AC8}\x{5AC9}' - . '\x{5ACA}\x{5ACB}\x{5ACC}\x{5ACD}\x{5ACE}\x{5ACF}\x{5AD1}\x{5AD2}\x{5AD4}' - . '\x{5AD5}\x{5AD6}\x{5AD7}\x{5AD8}\x{5AD9}\x{5ADA}\x{5ADB}\x{5ADC}\x{5ADD}' - . '\x{5ADE}\x{5ADF}\x{5AE0}\x{5AE1}\x{5AE2}\x{5AE3}\x{5AE4}\x{5AE5}\x{5AE6}' - . '\x{5AE7}\x{5AE8}\x{5AE9}\x{5AEA}\x{5AEB}\x{5AEC}\x{5AED}\x{5AEE}\x{5AF1}' - . '\x{5AF2}\x{5AF3}\x{5AF4}\x{5AF5}\x{5AF6}\x{5AF7}\x{5AF8}\x{5AF9}\x{5AFA}' - . '\x{5AFB}\x{5AFC}\x{5AFD}\x{5AFE}\x{5AFF}\x{5B00}\x{5B01}\x{5B02}\x{5B03}' - . '\x{5B04}\x{5B05}\x{5B06}\x{5B07}\x{5B08}\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}' - . '\x{5B0F}\x{5B10}\x{5B11}\x{5B12}\x{5B13}\x{5B14}\x{5B15}\x{5B16}\x{5B17}' - . '\x{5B18}\x{5B19}\x{5B1A}\x{5B1B}\x{5B1C}\x{5B1D}\x{5B1E}\x{5B1F}\x{5B20}' - . '\x{5B21}\x{5B22}\x{5B23}\x{5B24}\x{5B25}\x{5B26}\x{5B27}\x{5B28}\x{5B29}' - . '\x{5B2A}\x{5B2B}\x{5B2C}\x{5B2D}\x{5B2E}\x{5B2F}\x{5B30}\x{5B31}\x{5B32}' - . '\x{5B33}\x{5B34}\x{5B35}\x{5B36}\x{5B37}\x{5B38}\x{5B3A}\x{5B3B}\x{5B3C}' - . '\x{5B3D}\x{5B3E}\x{5B3F}\x{5B40}\x{5B41}\x{5B42}\x{5B43}\x{5B44}\x{5B45}' - . '\x{5B47}\x{5B48}\x{5B49}\x{5B4A}\x{5B4B}\x{5B4C}\x{5B4D}\x{5B4E}\x{5B50}' - . '\x{5B51}\x{5B53}\x{5B54}\x{5B55}\x{5B56}\x{5B57}\x{5B58}\x{5B59}\x{5B5A}' - . '\x{5B5B}\x{5B5C}\x{5B5D}\x{5B5E}\x{5B5F}\x{5B62}\x{5B63}\x{5B64}\x{5B65}' - . '\x{5B66}\x{5B67}\x{5B68}\x{5B69}\x{5B6A}\x{5B6B}\x{5B6C}\x{5B6D}\x{5B6E}' - . '\x{5B70}\x{5B71}\x{5B72}\x{5B73}\x{5B74}\x{5B75}\x{5B76}\x{5B77}\x{5B78}' - . '\x{5B7A}\x{5B7B}\x{5B7C}\x{5B7D}\x{5B7F}\x{5B80}\x{5B81}\x{5B82}\x{5B83}' - . '\x{5B84}\x{5B85}\x{5B87}\x{5B88}\x{5B89}\x{5B8A}\x{5B8B}\x{5B8C}\x{5B8D}' - . '\x{5B8E}\x{5B8F}\x{5B91}\x{5B92}\x{5B93}\x{5B94}\x{5B95}\x{5B96}\x{5B97}' - . '\x{5B98}\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9E}\x{5B9F}\x{5BA0}' - . '\x{5BA1}\x{5BA2}\x{5BA3}\x{5BA4}\x{5BA5}\x{5BA6}\x{5BA7}\x{5BA8}\x{5BAA}' - . '\x{5BAB}\x{5BAC}\x{5BAD}\x{5BAE}\x{5BAF}\x{5BB0}\x{5BB1}\x{5BB3}\x{5BB4}' - . '\x{5BB5}\x{5BB6}\x{5BB8}\x{5BB9}\x{5BBA}\x{5BBB}\x{5BBD}\x{5BBE}\x{5BBF}' - . '\x{5BC0}\x{5BC1}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BCA}' - . '\x{5BCB}\x{5BCC}\x{5BCD}\x{5BCE}\x{5BCF}\x{5BD0}\x{5BD1}\x{5BD2}\x{5BD3}' - . '\x{5BD4}\x{5BD5}\x{5BD6}\x{5BD8}\x{5BD9}\x{5BDB}\x{5BDC}\x{5BDD}\x{5BDE}' - . '\x{5BDF}\x{5BE0}\x{5BE1}\x{5BE2}\x{5BE3}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}' - . '\x{5BE8}\x{5BE9}\x{5BEA}\x{5BEB}\x{5BEC}\x{5BED}\x{5BEE}\x{5BEF}\x{5BF0}' - . '\x{5BF1}\x{5BF2}\x{5BF3}\x{5BF4}\x{5BF5}\x{5BF6}\x{5BF7}\x{5BF8}\x{5BF9}' - . '\x{5BFA}\x{5BFB}\x{5BFC}\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}\x{5C04}\x{5C05}' - . '\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}\x{5C0B}\x{5C0C}\x{5C0D}\x{5C0E}' - . '\x{5C0F}\x{5C10}\x{5C11}\x{5C12}\x{5C13}\x{5C14}\x{5C15}\x{5C16}\x{5C17}' - . '\x{5C18}\x{5C19}\x{5C1A}\x{5C1C}\x{5C1D}\x{5C1E}\x{5C1F}\x{5C20}\x{5C21}' - . '\x{5C22}\x{5C24}\x{5C25}\x{5C27}\x{5C28}\x{5C2A}\x{5C2B}\x{5C2C}\x{5C2D}' - . '\x{5C2E}\x{5C2F}\x{5C30}\x{5C31}\x{5C32}\x{5C33}\x{5C34}\x{5C35}\x{5C37}' - . '\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}' - . '\x{5C41}\x{5C42}\x{5C43}\x{5C44}\x{5C45}\x{5C46}\x{5C47}\x{5C48}\x{5C49}' - . '\x{5C4A}\x{5C4B}\x{5C4C}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C52}' - . '\x{5C53}\x{5C54}\x{5C55}\x{5C56}\x{5C57}\x{5C58}\x{5C59}\x{5C5B}\x{5C5C}' - . '\x{5C5D}\x{5C5E}\x{5C5F}\x{5C60}\x{5C61}\x{5C62}\x{5C63}\x{5C64}\x{5C65}' - . '\x{5C66}\x{5C67}\x{5C68}\x{5C69}\x{5C6A}\x{5C6B}\x{5C6C}\x{5C6D}\x{5C6E}' - . '\x{5C6F}\x{5C70}\x{5C71}\x{5C72}\x{5C73}\x{5C74}\x{5C75}\x{5C76}\x{5C77}' - . '\x{5C78}\x{5C79}\x{5C7A}\x{5C7B}\x{5C7C}\x{5C7D}\x{5C7E}\x{5C7F}\x{5C80}' - . '\x{5C81}\x{5C82}\x{5C83}\x{5C84}\x{5C86}\x{5C87}\x{5C88}\x{5C89}\x{5C8A}' - . '\x{5C8B}\x{5C8C}\x{5C8D}\x{5C8E}\x{5C8F}\x{5C90}\x{5C91}\x{5C92}\x{5C93}' - . '\x{5C94}\x{5C95}\x{5C96}\x{5C97}\x{5C98}\x{5C99}\x{5C9A}\x{5C9B}\x{5C9C}' - . '\x{5C9D}\x{5C9E}\x{5C9F}\x{5CA0}\x{5CA1}\x{5CA2}\x{5CA3}\x{5CA4}\x{5CA5}' - . '\x{5CA6}\x{5CA7}\x{5CA8}\x{5CA9}\x{5CAA}\x{5CAB}\x{5CAC}\x{5CAD}\x{5CAE}' - . '\x{5CAF}\x{5CB0}\x{5CB1}\x{5CB2}\x{5CB3}\x{5CB5}\x{5CB6}\x{5CB7}\x{5CB8}' - . '\x{5CBA}\x{5CBB}\x{5CBC}\x{5CBD}\x{5CBE}\x{5CBF}\x{5CC1}\x{5CC2}\x{5CC3}' - . '\x{5CC4}\x{5CC5}\x{5CC6}\x{5CC7}\x{5CC8}\x{5CC9}\x{5CCA}\x{5CCB}\x{5CCC}' - . '\x{5CCD}\x{5CCE}\x{5CCF}\x{5CD0}\x{5CD1}\x{5CD2}\x{5CD3}\x{5CD4}\x{5CD6}' - . '\x{5CD7}\x{5CD8}\x{5CD9}\x{5CDA}\x{5CDB}\x{5CDC}\x{5CDE}\x{5CDF}\x{5CE0}' - . '\x{5CE1}\x{5CE2}\x{5CE3}\x{5CE4}\x{5CE5}\x{5CE6}\x{5CE7}\x{5CE8}\x{5CE9}' - . '\x{5CEA}\x{5CEB}\x{5CEC}\x{5CED}\x{5CEE}\x{5CEF}\x{5CF0}\x{5CF1}\x{5CF2}' - . '\x{5CF3}\x{5CF4}\x{5CF6}\x{5CF7}\x{5CF8}\x{5CF9}\x{5CFA}\x{5CFB}\x{5CFC}' - . '\x{5CFD}\x{5CFE}\x{5CFF}\x{5D00}\x{5D01}\x{5D02}\x{5D03}\x{5D04}\x{5D05}' - . '\x{5D06}\x{5D07}\x{5D08}\x{5D09}\x{5D0A}\x{5D0B}\x{5D0C}\x{5D0D}\x{5D0E}' - . '\x{5D0F}\x{5D10}\x{5D11}\x{5D12}\x{5D13}\x{5D14}\x{5D15}\x{5D16}\x{5D17}' - . '\x{5D18}\x{5D19}\x{5D1A}\x{5D1B}\x{5D1C}\x{5D1D}\x{5D1E}\x{5D1F}\x{5D20}' - . '\x{5D21}\x{5D22}\x{5D23}\x{5D24}\x{5D25}\x{5D26}\x{5D27}\x{5D28}\x{5D29}' - . '\x{5D2A}\x{5D2C}\x{5D2D}\x{5D2E}\x{5D30}\x{5D31}\x{5D32}\x{5D33}\x{5D34}' - . '\x{5D35}\x{5D36}\x{5D37}\x{5D38}\x{5D39}\x{5D3A}\x{5D3C}\x{5D3D}\x{5D3E}' - . '\x{5D3F}\x{5D40}\x{5D41}\x{5D42}\x{5D43}\x{5D44}\x{5D45}\x{5D46}\x{5D47}' - . '\x{5D48}\x{5D49}\x{5D4A}\x{5D4B}\x{5D4C}\x{5D4D}\x{5D4E}\x{5D4F}\x{5D50}' - . '\x{5D51}\x{5D52}\x{5D54}\x{5D55}\x{5D56}\x{5D58}\x{5D59}\x{5D5A}\x{5D5B}' - . '\x{5D5D}\x{5D5E}\x{5D5F}\x{5D61}\x{5D62}\x{5D63}\x{5D64}\x{5D65}\x{5D66}' - . '\x{5D67}\x{5D68}\x{5D69}\x{5D6A}\x{5D6B}\x{5D6C}\x{5D6D}\x{5D6E}\x{5D6F}' - . '\x{5D70}\x{5D71}\x{5D72}\x{5D73}\x{5D74}\x{5D75}\x{5D76}\x{5D77}\x{5D78}' - . '\x{5D79}\x{5D7A}\x{5D7B}\x{5D7C}\x{5D7D}\x{5D7E}\x{5D7F}\x{5D80}\x{5D81}' - . '\x{5D82}\x{5D84}\x{5D85}\x{5D86}\x{5D87}\x{5D88}\x{5D89}\x{5D8A}\x{5D8B}' - . '\x{5D8C}\x{5D8D}\x{5D8E}\x{5D8F}\x{5D90}\x{5D91}\x{5D92}\x{5D93}\x{5D94}' - . '\x{5D95}\x{5D97}\x{5D98}\x{5D99}\x{5D9A}\x{5D9B}\x{5D9C}\x{5D9D}\x{5D9E}' - . '\x{5D9F}\x{5DA0}\x{5DA1}\x{5DA2}\x{5DA5}\x{5DA6}\x{5DA7}\x{5DA8}\x{5DA9}' - . '\x{5DAA}\x{5DAC}\x{5DAD}\x{5DAE}\x{5DAF}\x{5DB0}\x{5DB1}\x{5DB2}\x{5DB4}' - . '\x{5DB5}\x{5DB6}\x{5DB7}\x{5DB8}\x{5DBA}\x{5DBB}\x{5DBC}\x{5DBD}\x{5DBE}' - . '\x{5DBF}\x{5DC0}\x{5DC1}\x{5DC2}\x{5DC3}\x{5DC5}\x{5DC6}\x{5DC7}\x{5DC8}' - . '\x{5DC9}\x{5DCA}\x{5DCB}\x{5DCC}\x{5DCD}\x{5DCE}\x{5DCF}\x{5DD0}\x{5DD1}' - . '\x{5DD2}\x{5DD3}\x{5DD4}\x{5DD5}\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}' - . '\x{5DDE}\x{5DDF}\x{5DE0}\x{5DE1}\x{5DE2}\x{5DE3}\x{5DE4}\x{5DE5}\x{5DE6}' - . '\x{5DE7}\x{5DE8}\x{5DE9}\x{5DEA}\x{5DEB}\x{5DEC}\x{5DED}\x{5DEE}\x{5DEF}' - . '\x{5DF0}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DF8}\x{5DF9}' - . '\x{5DFA}\x{5DFB}\x{5DFC}\x{5DFD}\x{5DFE}\x{5DFF}\x{5E00}\x{5E01}\x{5E02}' - . '\x{5E03}\x{5E04}\x{5E05}\x{5E06}\x{5E07}\x{5E08}\x{5E09}\x{5E0A}\x{5E0B}' - . '\x{5E0C}\x{5E0D}\x{5E0E}\x{5E0F}\x{5E10}\x{5E11}\x{5E13}\x{5E14}\x{5E15}' - . '\x{5E16}\x{5E17}\x{5E18}\x{5E19}\x{5E1A}\x{5E1B}\x{5E1C}\x{5E1D}\x{5E1E}' - . '\x{5E1F}\x{5E20}\x{5E21}\x{5E22}\x{5E23}\x{5E24}\x{5E25}\x{5E26}\x{5E27}' - . '\x{5E28}\x{5E29}\x{5E2A}\x{5E2B}\x{5E2C}\x{5E2D}\x{5E2E}\x{5E2F}\x{5E30}' - . '\x{5E31}\x{5E32}\x{5E33}\x{5E34}\x{5E35}\x{5E36}\x{5E37}\x{5E38}\x{5E39}' - . '\x{5E3A}\x{5E3B}\x{5E3C}\x{5E3D}\x{5E3E}\x{5E40}\x{5E41}\x{5E42}\x{5E43}' - . '\x{5E44}\x{5E45}\x{5E46}\x{5E47}\x{5E49}\x{5E4A}\x{5E4B}\x{5E4C}\x{5E4D}' - . '\x{5E4E}\x{5E4F}\x{5E50}\x{5E52}\x{5E53}\x{5E54}\x{5E55}\x{5E56}\x{5E57}' - . '\x{5E58}\x{5E59}\x{5E5A}\x{5E5B}\x{5E5C}\x{5E5D}\x{5E5E}\x{5E5F}\x{5E60}' - . '\x{5E61}\x{5E62}\x{5E63}\x{5E64}\x{5E65}\x{5E66}\x{5E67}\x{5E68}\x{5E69}' - . '\x{5E6A}\x{5E6B}\x{5E6C}\x{5E6D}\x{5E6E}\x{5E6F}\x{5E70}\x{5E71}\x{5E72}' - . '\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E77}\x{5E78}\x{5E79}\x{5E7A}\x{5E7B}' - . '\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E80}\x{5E81}\x{5E82}\x{5E83}\x{5E84}' - . '\x{5E85}\x{5E86}\x{5E87}\x{5E88}\x{5E89}\x{5E8A}\x{5E8B}\x{5E8C}\x{5E8D}' - . '\x{5E8E}\x{5E8F}\x{5E90}\x{5E91}\x{5E93}\x{5E94}\x{5E95}\x{5E96}\x{5E97}' - . '\x{5E98}\x{5E99}\x{5E9A}\x{5E9B}\x{5E9C}\x{5E9D}\x{5E9E}\x{5E9F}\x{5EA0}' - . '\x{5EA1}\x{5EA2}\x{5EA3}\x{5EA4}\x{5EA5}\x{5EA6}\x{5EA7}\x{5EA8}\x{5EA9}' - . '\x{5EAA}\x{5EAB}\x{5EAC}\x{5EAD}\x{5EAE}\x{5EAF}\x{5EB0}\x{5EB1}\x{5EB2}' - . '\x{5EB3}\x{5EB4}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EB9}\x{5EBB}\x{5EBC}' - . '\x{5EBD}\x{5EBE}\x{5EBF}\x{5EC1}\x{5EC2}\x{5EC3}\x{5EC4}\x{5EC5}\x{5EC6}' - . '\x{5EC7}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECB}\x{5ECC}\x{5ECD}\x{5ECE}\x{5ECF}' - . '\x{5ED0}\x{5ED1}\x{5ED2}\x{5ED3}\x{5ED4}\x{5ED5}\x{5ED6}\x{5ED7}\x{5ED8}' - . '\x{5ED9}\x{5EDA}\x{5EDB}\x{5EDC}\x{5EDD}\x{5EDE}\x{5EDF}\x{5EE0}\x{5EE1}' - . '\x{5EE2}\x{5EE3}\x{5EE4}\x{5EE5}\x{5EE6}\x{5EE7}\x{5EE8}\x{5EE9}\x{5EEA}' - . '\x{5EEC}\x{5EED}\x{5EEE}\x{5EEF}\x{5EF0}\x{5EF1}\x{5EF2}\x{5EF3}\x{5EF4}' - . '\x{5EF5}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}\x{5EFB}\x{5EFC}\x{5EFD}\x{5EFE}' - . '\x{5EFF}\x{5F00}\x{5F01}\x{5F02}\x{5F03}\x{5F04}\x{5F05}\x{5F06}\x{5F07}' - . '\x{5F08}\x{5F0A}\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F11}\x{5F12}\x{5F13}' - . '\x{5F14}\x{5F15}\x{5F16}\x{5F17}\x{5F18}\x{5F19}\x{5F1A}\x{5F1B}\x{5F1C}' - . '\x{5F1D}\x{5F1E}\x{5F1F}\x{5F20}\x{5F21}\x{5F22}\x{5F23}\x{5F24}\x{5F25}' - . '\x{5F26}\x{5F27}\x{5F28}\x{5F29}\x{5F2A}\x{5F2B}\x{5F2C}\x{5F2D}\x{5F2E}' - . '\x{5F2F}\x{5F30}\x{5F31}\x{5F32}\x{5F33}\x{5F34}\x{5F35}\x{5F36}\x{5F37}' - . '\x{5F38}\x{5F39}\x{5F3A}\x{5F3C}\x{5F3E}\x{5F3F}\x{5F40}\x{5F41}\x{5F42}' - . '\x{5F43}\x{5F44}\x{5F45}\x{5F46}\x{5F47}\x{5F48}\x{5F49}\x{5F4A}\x{5F4B}' - . '\x{5F4C}\x{5F4D}\x{5F4E}\x{5F4F}\x{5F50}\x{5F51}\x{5F52}\x{5F53}\x{5F54}' - . '\x{5F55}\x{5F56}\x{5F57}\x{5F58}\x{5F59}\x{5F5A}\x{5F5B}\x{5F5C}\x{5F5D}' - . '\x{5F5E}\x{5F5F}\x{5F60}\x{5F61}\x{5F62}\x{5F63}\x{5F64}\x{5F65}\x{5F66}' - . '\x{5F67}\x{5F68}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}\x{5F6D}\x{5F6E}\x{5F6F}' - . '\x{5F70}\x{5F71}\x{5F72}\x{5F73}\x{5F74}\x{5F75}\x{5F76}\x{5F77}\x{5F78}' - . '\x{5F79}\x{5F7A}\x{5F7B}\x{5F7C}\x{5F7D}\x{5F7E}\x{5F7F}\x{5F80}\x{5F81}' - . '\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F86}\x{5F87}\x{5F88}\x{5F89}\x{5F8A}' - . '\x{5F8B}\x{5F8C}\x{5F8D}\x{5F8E}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F94}' - . '\x{5F95}\x{5F96}\x{5F97}\x{5F98}\x{5F99}\x{5F9B}\x{5F9C}\x{5F9D}\x{5F9E}' - . '\x{5F9F}\x{5FA0}\x{5FA1}\x{5FA2}\x{5FA5}\x{5FA6}\x{5FA7}\x{5FA8}\x{5FA9}' - . '\x{5FAA}\x{5FAB}\x{5FAC}\x{5FAD}\x{5FAE}\x{5FAF}\x{5FB1}\x{5FB2}\x{5FB3}' - . '\x{5FB4}\x{5FB5}\x{5FB6}\x{5FB7}\x{5FB8}\x{5FB9}\x{5FBA}\x{5FBB}\x{5FBC}' - . '\x{5FBD}\x{5FBE}\x{5FBF}\x{5FC0}\x{5FC1}\x{5FC3}\x{5FC4}\x{5FC5}\x{5FC6}' - . '\x{5FC7}\x{5FC8}\x{5FC9}\x{5FCA}\x{5FCB}\x{5FCC}\x{5FCD}\x{5FCF}\x{5FD0}' - . '\x{5FD1}\x{5FD2}\x{5FD3}\x{5FD4}\x{5FD5}\x{5FD6}\x{5FD7}\x{5FD8}\x{5FD9}' - . '\x{5FDA}\x{5FDC}\x{5FDD}\x{5FDE}\x{5FE0}\x{5FE1}\x{5FE3}\x{5FE4}\x{5FE5}' - . '\x{5FE6}\x{5FE7}\x{5FE8}\x{5FE9}\x{5FEA}\x{5FEB}\x{5FED}\x{5FEE}\x{5FEF}' - . '\x{5FF0}\x{5FF1}\x{5FF2}\x{5FF3}\x{5FF4}\x{5FF5}\x{5FF6}\x{5FF7}\x{5FF8}' - . '\x{5FF9}\x{5FFA}\x{5FFB}\x{5FFD}\x{5FFE}\x{5FFF}\x{6000}\x{6001}\x{6002}' - . '\x{6003}\x{6004}\x{6005}\x{6006}\x{6007}\x{6008}\x{6009}\x{600A}\x{600B}' - . '\x{600C}\x{600D}\x{600E}\x{600F}\x{6010}\x{6011}\x{6012}\x{6013}\x{6014}' - . '\x{6015}\x{6016}\x{6017}\x{6018}\x{6019}\x{601A}\x{601B}\x{601C}\x{601D}' - . '\x{601E}\x{601F}\x{6020}\x{6021}\x{6022}\x{6024}\x{6025}\x{6026}\x{6027}' - . '\x{6028}\x{6029}\x{602A}\x{602B}\x{602C}\x{602D}\x{602E}\x{602F}\x{6030}' - . '\x{6031}\x{6032}\x{6033}\x{6034}\x{6035}\x{6036}\x{6037}\x{6038}\x{6039}' - . '\x{603A}\x{603B}\x{603C}\x{603D}\x{603E}\x{603F}\x{6040}\x{6041}\x{6042}' - . '\x{6043}\x{6044}\x{6045}\x{6046}\x{6047}\x{6048}\x{6049}\x{604A}\x{604B}' - . '\x{604C}\x{604D}\x{604E}\x{604F}\x{6050}\x{6051}\x{6052}\x{6053}\x{6054}' - . '\x{6055}\x{6057}\x{6058}\x{6059}\x{605A}\x{605B}\x{605C}\x{605D}\x{605E}' - . '\x{605F}\x{6062}\x{6063}\x{6064}\x{6065}\x{6066}\x{6067}\x{6068}\x{6069}' - . '\x{606A}\x{606B}\x{606C}\x{606D}\x{606E}\x{606F}\x{6070}\x{6072}\x{6073}' - . '\x{6075}\x{6076}\x{6077}\x{6078}\x{6079}\x{607A}\x{607B}\x{607C}\x{607D}' - . '\x{607E}\x{607F}\x{6080}\x{6081}\x{6082}\x{6083}\x{6084}\x{6085}\x{6086}' - . '\x{6087}\x{6088}\x{6089}\x{608A}\x{608B}\x{608C}\x{608D}\x{608E}\x{608F}' - . '\x{6090}\x{6092}\x{6094}\x{6095}\x{6096}\x{6097}\x{6098}\x{6099}\x{609A}' - . '\x{609B}\x{609C}\x{609D}\x{609E}\x{609F}\x{60A0}\x{60A1}\x{60A2}\x{60A3}' - . '\x{60A4}\x{60A6}\x{60A7}\x{60A8}\x{60AA}\x{60AB}\x{60AC}\x{60AD}\x{60AE}' - . '\x{60AF}\x{60B0}\x{60B1}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B7}' - . '\x{60B8}\x{60B9}\x{60BA}\x{60BB}\x{60BC}\x{60BD}\x{60BE}\x{60BF}\x{60C0}' - . '\x{60C1}\x{60C2}\x{60C3}\x{60C4}\x{60C5}\x{60C6}\x{60C7}\x{60C8}\x{60C9}' - . '\x{60CA}\x{60CB}\x{60CC}\x{60CD}\x{60CE}\x{60CF}\x{60D0}\x{60D1}\x{60D3}' - . '\x{60D4}\x{60D5}\x{60D7}\x{60D8}\x{60D9}\x{60DA}\x{60DB}\x{60DC}\x{60DD}' - . '\x{60DF}\x{60E0}\x{60E1}\x{60E2}\x{60E4}\x{60E6}\x{60E7}\x{60E8}\x{60E9}' - . '\x{60EA}\x{60EB}\x{60EC}\x{60ED}\x{60EE}\x{60EF}\x{60F0}\x{60F1}\x{60F2}' - . '\x{60F3}\x{60F4}\x{60F5}\x{60F6}\x{60F7}\x{60F8}\x{60F9}\x{60FA}\x{60FB}' - . '\x{60FC}\x{60FE}\x{60FF}\x{6100}\x{6101}\x{6103}\x{6104}\x{6105}\x{6106}' - . '\x{6108}\x{6109}\x{610A}\x{610B}\x{610C}\x{610D}\x{610E}\x{610F}\x{6110}' - . '\x{6112}\x{6113}\x{6114}\x{6115}\x{6116}\x{6117}\x{6118}\x{6119}\x{611A}' - . '\x{611B}\x{611C}\x{611D}\x{611F}\x{6120}\x{6122}\x{6123}\x{6124}\x{6125}' - . '\x{6126}\x{6127}\x{6128}\x{6129}\x{612A}\x{612B}\x{612C}\x{612D}\x{612E}' - . '\x{612F}\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}\x{613B}\x{613C}' - . '\x{613D}\x{613E}\x{613F}\x{6140}\x{6141}\x{6142}\x{6143}\x{6144}\x{6145}' - . '\x{6146}\x{6147}\x{6148}\x{6149}\x{614A}\x{614B}\x{614C}\x{614D}\x{614E}' - . '\x{614F}\x{6150}\x{6151}\x{6152}\x{6153}\x{6154}\x{6155}\x{6156}\x{6157}' - . '\x{6158}\x{6159}\x{615A}\x{615B}\x{615C}\x{615D}\x{615E}\x{615F}\x{6161}' - . '\x{6162}\x{6163}\x{6164}\x{6165}\x{6166}\x{6167}\x{6168}\x{6169}\x{616A}' - . '\x{616B}\x{616C}\x{616D}\x{616E}\x{6170}\x{6171}\x{6172}\x{6173}\x{6174}' - . '\x{6175}\x{6176}\x{6177}\x{6178}\x{6179}\x{617A}\x{617C}\x{617E}\x{6180}' - . '\x{6181}\x{6182}\x{6183}\x{6184}\x{6185}\x{6187}\x{6188}\x{6189}\x{618A}' - . '\x{618B}\x{618C}\x{618D}\x{618E}\x{618F}\x{6190}\x{6191}\x{6192}\x{6193}' - . '\x{6194}\x{6195}\x{6196}\x{6198}\x{6199}\x{619A}\x{619B}\x{619D}\x{619E}' - . '\x{619F}\x{61A0}\x{61A1}\x{61A2}\x{61A3}\x{61A4}\x{61A5}\x{61A6}\x{61A7}' - . '\x{61A8}\x{61A9}\x{61AA}\x{61AB}\x{61AC}\x{61AD}\x{61AE}\x{61AF}\x{61B0}' - . '\x{61B1}\x{61B2}\x{61B3}\x{61B4}\x{61B5}\x{61B6}\x{61B7}\x{61B8}\x{61BA}' - . '\x{61BC}\x{61BD}\x{61BE}\x{61BF}\x{61C0}\x{61C1}\x{61C2}\x{61C3}\x{61C4}' - . '\x{61C5}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' - . '\x{61CE}\x{61CF}\x{61D0}\x{61D1}\x{61D2}\x{61D4}\x{61D6}\x{61D7}\x{61D8}' - . '\x{61D9}\x{61DA}\x{61DB}\x{61DC}\x{61DD}\x{61DE}\x{61DF}\x{61E0}\x{61E1}' - . '\x{61E2}\x{61E3}\x{61E4}\x{61E5}\x{61E6}\x{61E7}\x{61E8}\x{61E9}\x{61EA}' - . '\x{61EB}\x{61ED}\x{61EE}\x{61F0}\x{61F1}\x{61F2}\x{61F3}\x{61F5}\x{61F6}' - . '\x{61F7}\x{61F8}\x{61F9}\x{61FA}\x{61FB}\x{61FC}\x{61FD}\x{61FE}\x{61FF}' - . '\x{6200}\x{6201}\x{6202}\x{6203}\x{6204}\x{6206}\x{6207}\x{6208}\x{6209}' - . '\x{620A}\x{620B}\x{620C}\x{620D}\x{620E}\x{620F}\x{6210}\x{6211}\x{6212}' - . '\x{6213}\x{6214}\x{6215}\x{6216}\x{6217}\x{6218}\x{6219}\x{621A}\x{621B}' - . '\x{621C}\x{621D}\x{621E}\x{621F}\x{6220}\x{6221}\x{6222}\x{6223}\x{6224}' - . '\x{6225}\x{6226}\x{6227}\x{6228}\x{6229}\x{622A}\x{622B}\x{622C}\x{622D}' - . '\x{622E}\x{622F}\x{6230}\x{6231}\x{6232}\x{6233}\x{6234}\x{6236}\x{6237}' - . '\x{6238}\x{623A}\x{623B}\x{623C}\x{623D}\x{623E}\x{623F}\x{6240}\x{6241}' - . '\x{6242}\x{6243}\x{6244}\x{6245}\x{6246}\x{6247}\x{6248}\x{6249}\x{624A}' - . '\x{624B}\x{624C}\x{624D}\x{624E}\x{624F}\x{6250}\x{6251}\x{6252}\x{6253}' - . '\x{6254}\x{6255}\x{6256}\x{6258}\x{6259}\x{625A}\x{625B}\x{625C}\x{625D}' - . '\x{625E}\x{625F}\x{6260}\x{6261}\x{6262}\x{6263}\x{6264}\x{6265}\x{6266}' - . '\x{6267}\x{6268}\x{6269}\x{626A}\x{626B}\x{626C}\x{626D}\x{626E}\x{626F}' - . '\x{6270}\x{6271}\x{6272}\x{6273}\x{6274}\x{6275}\x{6276}\x{6277}\x{6278}' - . '\x{6279}\x{627A}\x{627B}\x{627C}\x{627D}\x{627E}\x{627F}\x{6280}\x{6281}' - . '\x{6283}\x{6284}\x{6285}\x{6286}\x{6287}\x{6288}\x{6289}\x{628A}\x{628B}' - . '\x{628C}\x{628E}\x{628F}\x{6290}\x{6291}\x{6292}\x{6293}\x{6294}\x{6295}' - . '\x{6296}\x{6297}\x{6298}\x{6299}\x{629A}\x{629B}\x{629C}\x{629E}\x{629F}' - . '\x{62A0}\x{62A1}\x{62A2}\x{62A3}\x{62A4}\x{62A5}\x{62A7}\x{62A8}\x{62A9}' - . '\x{62AA}\x{62AB}\x{62AC}\x{62AD}\x{62AE}\x{62AF}\x{62B0}\x{62B1}\x{62B2}' - . '\x{62B3}\x{62B4}\x{62B5}\x{62B6}\x{62B7}\x{62B8}\x{62B9}\x{62BA}\x{62BB}' - . '\x{62BC}\x{62BD}\x{62BE}\x{62BF}\x{62C0}\x{62C1}\x{62C2}\x{62C3}\x{62C4}' - . '\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CB}\x{62CC}\x{62CD}' - . '\x{62CE}\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D5}\x{62D6}' - . '\x{62D7}\x{62D8}\x{62D9}\x{62DA}\x{62DB}\x{62DC}\x{62DD}\x{62DF}\x{62E0}' - . '\x{62E1}\x{62E2}\x{62E3}\x{62E4}\x{62E5}\x{62E6}\x{62E7}\x{62E8}\x{62E9}' - . '\x{62EB}\x{62EC}\x{62ED}\x{62EE}\x{62EF}\x{62F0}\x{62F1}\x{62F2}\x{62F3}' - . '\x{62F4}\x{62F5}\x{62F6}\x{62F7}\x{62F8}\x{62F9}\x{62FA}\x{62FB}\x{62FC}' - . '\x{62FD}\x{62FE}\x{62FF}\x{6300}\x{6301}\x{6302}\x{6303}\x{6304}\x{6305}' - . '\x{6306}\x{6307}\x{6308}\x{6309}\x{630B}\x{630C}\x{630D}\x{630E}\x{630F}' - . '\x{6310}\x{6311}\x{6312}\x{6313}\x{6314}\x{6315}\x{6316}\x{6318}\x{6319}' - . '\x{631A}\x{631B}\x{631C}\x{631D}\x{631E}\x{631F}\x{6320}\x{6321}\x{6322}' - . '\x{6323}\x{6324}\x{6325}\x{6326}\x{6327}\x{6328}\x{6329}\x{632A}\x{632B}' - . '\x{632C}\x{632D}\x{632E}\x{632F}\x{6330}\x{6332}\x{6333}\x{6334}\x{6336}' - . '\x{6338}\x{6339}\x{633A}\x{633B}\x{633C}\x{633D}\x{633E}\x{6340}\x{6341}' - . '\x{6342}\x{6343}\x{6344}\x{6345}\x{6346}\x{6347}\x{6348}\x{6349}\x{634A}' - . '\x{634B}\x{634C}\x{634D}\x{634E}\x{634F}\x{6350}\x{6351}\x{6352}\x{6353}' - . '\x{6354}\x{6355}\x{6356}\x{6357}\x{6358}\x{6359}\x{635A}\x{635C}\x{635D}' - . '\x{635E}\x{635F}\x{6360}\x{6361}\x{6362}\x{6363}\x{6364}\x{6365}\x{6366}' - . '\x{6367}\x{6368}\x{6369}\x{636A}\x{636B}\x{636C}\x{636D}\x{636E}\x{636F}' - . '\x{6370}\x{6371}\x{6372}\x{6373}\x{6374}\x{6375}\x{6376}\x{6377}\x{6378}' - . '\x{6379}\x{637A}\x{637B}\x{637C}\x{637D}\x{637E}\x{6380}\x{6381}\x{6382}' - . '\x{6383}\x{6384}\x{6385}\x{6386}\x{6387}\x{6388}\x{6389}\x{638A}\x{638C}' - . '\x{638D}\x{638E}\x{638F}\x{6390}\x{6391}\x{6392}\x{6394}\x{6395}\x{6396}' - . '\x{6397}\x{6398}\x{6399}\x{639A}\x{639B}\x{639C}\x{639D}\x{639E}\x{639F}' - . '\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A4}\x{63A5}\x{63A6}\x{63A7}\x{63A8}' - . '\x{63A9}\x{63AA}\x{63AB}\x{63AC}\x{63AD}\x{63AE}\x{63AF}\x{63B0}\x{63B1}' - . '\x{63B2}\x{63B3}\x{63B4}\x{63B5}\x{63B6}\x{63B7}\x{63B8}\x{63B9}\x{63BA}' - . '\x{63BC}\x{63BD}\x{63BE}\x{63BF}\x{63C0}\x{63C1}\x{63C2}\x{63C3}\x{63C4}' - . '\x{63C5}\x{63C6}\x{63C7}\x{63C8}\x{63C9}\x{63CA}\x{63CB}\x{63CC}\x{63CD}' - . '\x{63CE}\x{63CF}\x{63D0}\x{63D2}\x{63D3}\x{63D4}\x{63D5}\x{63D6}\x{63D7}' - . '\x{63D8}\x{63D9}\x{63DA}\x{63DB}\x{63DC}\x{63DD}\x{63DE}\x{63DF}\x{63E0}' - . '\x{63E1}\x{63E2}\x{63E3}\x{63E4}\x{63E5}\x{63E6}\x{63E7}\x{63E8}\x{63E9}' - . '\x{63EA}\x{63EB}\x{63EC}\x{63ED}\x{63EE}\x{63EF}\x{63F0}\x{63F1}\x{63F2}' - . '\x{63F3}\x{63F4}\x{63F5}\x{63F6}\x{63F7}\x{63F8}\x{63F9}\x{63FA}\x{63FB}' - . '\x{63FC}\x{63FD}\x{63FE}\x{63FF}\x{6400}\x{6401}\x{6402}\x{6403}\x{6404}' - . '\x{6405}\x{6406}\x{6408}\x{6409}\x{640A}\x{640B}\x{640C}\x{640D}\x{640E}' - . '\x{640F}\x{6410}\x{6411}\x{6412}\x{6413}\x{6414}\x{6415}\x{6416}\x{6417}' - . '\x{6418}\x{6419}\x{641A}\x{641B}\x{641C}\x{641D}\x{641E}\x{641F}\x{6420}' - . '\x{6421}\x{6422}\x{6423}\x{6424}\x{6425}\x{6426}\x{6427}\x{6428}\x{6429}' - . '\x{642A}\x{642B}\x{642C}\x{642D}\x{642E}\x{642F}\x{6430}\x{6431}\x{6432}' - . '\x{6433}\x{6434}\x{6435}\x{6436}\x{6437}\x{6438}\x{6439}\x{643A}\x{643D}' - . '\x{643E}\x{643F}\x{6440}\x{6441}\x{6443}\x{6444}\x{6445}\x{6446}\x{6447}' - . '\x{6448}\x{644A}\x{644B}\x{644C}\x{644D}\x{644E}\x{644F}\x{6450}\x{6451}' - . '\x{6452}\x{6453}\x{6454}\x{6455}\x{6456}\x{6457}\x{6458}\x{6459}\x{645B}' - . '\x{645C}\x{645D}\x{645E}\x{645F}\x{6460}\x{6461}\x{6462}\x{6463}\x{6464}' - . '\x{6465}\x{6466}\x{6467}\x{6468}\x{6469}\x{646A}\x{646B}\x{646C}\x{646D}' - . '\x{646E}\x{646F}\x{6470}\x{6471}\x{6472}\x{6473}\x{6474}\x{6475}\x{6476}' - . '\x{6477}\x{6478}\x{6479}\x{647A}\x{647B}\x{647C}\x{647D}\x{647F}\x{6480}' - . '\x{6481}\x{6482}\x{6483}\x{6484}\x{6485}\x{6487}\x{6488}\x{6489}\x{648A}' - . '\x{648B}\x{648C}\x{648D}\x{648E}\x{648F}\x{6490}\x{6491}\x{6492}\x{6493}' - . '\x{6494}\x{6495}\x{6496}\x{6497}\x{6498}\x{6499}\x{649A}\x{649B}\x{649C}' - . '\x{649D}\x{649E}\x{649F}\x{64A0}\x{64A2}\x{64A3}\x{64A4}\x{64A5}\x{64A6}' - . '\x{64A7}\x{64A8}\x{64A9}\x{64AA}\x{64AB}\x{64AC}\x{64AD}\x{64AE}\x{64B0}' - . '\x{64B1}\x{64B2}\x{64B3}\x{64B4}\x{64B5}\x{64B7}\x{64B8}\x{64B9}\x{64BA}' - . '\x{64BB}\x{64BC}\x{64BD}\x{64BE}\x{64BF}\x{64C0}\x{64C1}\x{64C2}\x{64C3}' - . '\x{64C4}\x{64C5}\x{64C6}\x{64C7}\x{64C9}\x{64CA}\x{64CB}\x{64CC}\x{64CD}' - . '\x{64CE}\x{64CF}\x{64D0}\x{64D1}\x{64D2}\x{64D3}\x{64D4}\x{64D6}\x{64D7}' - . '\x{64D8}\x{64D9}\x{64DA}\x{64DB}\x{64DC}\x{64DD}\x{64DE}\x{64DF}\x{64E0}' - . '\x{64E2}\x{64E3}\x{64E4}\x{64E6}\x{64E7}\x{64E8}\x{64E9}\x{64EA}\x{64EB}' - . '\x{64EC}\x{64ED}\x{64EF}\x{64F0}\x{64F1}\x{64F2}\x{64F3}\x{64F4}\x{64F6}' - . '\x{64F7}\x{64F8}\x{64FA}\x{64FB}\x{64FC}\x{64FD}\x{64FE}\x{64FF}\x{6500}' - . '\x{6501}\x{6503}\x{6504}\x{6505}\x{6506}\x{6507}\x{6508}\x{6509}\x{650B}' - . '\x{650C}\x{650D}\x{650E}\x{650F}\x{6510}\x{6511}\x{6512}\x{6513}\x{6514}' - . '\x{6515}\x{6516}\x{6517}\x{6518}\x{6519}\x{651A}\x{651B}\x{651C}\x{651D}' - . '\x{651E}\x{6520}\x{6521}\x{6522}\x{6523}\x{6524}\x{6525}\x{6526}\x{6527}' - . '\x{6529}\x{652A}\x{652B}\x{652C}\x{652D}\x{652E}\x{652F}\x{6530}\x{6531}' - . '\x{6532}\x{6533}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}\x{653A}' - . '\x{653B}\x{653C}\x{653D}\x{653E}\x{653F}\x{6541}\x{6543}\x{6544}\x{6545}' - . '\x{6546}\x{6547}\x{6548}\x{6549}\x{654A}\x{654B}\x{654C}\x{654D}\x{654E}' - . '\x{654F}\x{6550}\x{6551}\x{6552}\x{6553}\x{6554}\x{6555}\x{6556}\x{6557}' - . '\x{6558}\x{6559}\x{655B}\x{655C}\x{655D}\x{655E}\x{6560}\x{6561}\x{6562}' - . '\x{6563}\x{6564}\x{6565}\x{6566}\x{6567}\x{6568}\x{6569}\x{656A}\x{656B}' - . '\x{656C}\x{656E}\x{656F}\x{6570}\x{6571}\x{6572}\x{6573}\x{6574}\x{6575}' - . '\x{6576}\x{6577}\x{6578}\x{6579}\x{657A}\x{657B}\x{657C}\x{657E}\x{657F}' - . '\x{6580}\x{6581}\x{6582}\x{6583}\x{6584}\x{6585}\x{6586}\x{6587}\x{6588}' - . '\x{6589}\x{658B}\x{658C}\x{658D}\x{658E}\x{658F}\x{6590}\x{6591}\x{6592}' - . '\x{6593}\x{6594}\x{6595}\x{6596}\x{6597}\x{6598}\x{6599}\x{659B}\x{659C}' - . '\x{659D}\x{659E}\x{659F}\x{65A0}\x{65A1}\x{65A2}\x{65A3}\x{65A4}\x{65A5}' - . '\x{65A6}\x{65A7}\x{65A8}\x{65A9}\x{65AA}\x{65AB}\x{65AC}\x{65AD}\x{65AE}' - . '\x{65AF}\x{65B0}\x{65B1}\x{65B2}\x{65B3}\x{65B4}\x{65B6}\x{65B7}\x{65B8}' - . '\x{65B9}\x{65BA}\x{65BB}\x{65BC}\x{65BD}\x{65BF}\x{65C0}\x{65C1}\x{65C2}' - . '\x{65C3}\x{65C4}\x{65C5}\x{65C6}\x{65C7}\x{65CA}\x{65CB}\x{65CC}\x{65CD}' - . '\x{65CE}\x{65CF}\x{65D0}\x{65D2}\x{65D3}\x{65D4}\x{65D5}\x{65D6}\x{65D7}' - . '\x{65DA}\x{65DB}\x{65DD}\x{65DE}\x{65DF}\x{65E0}\x{65E1}\x{65E2}\x{65E3}' - . '\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}\x{65EB}\x{65EC}\x{65ED}\x{65EE}' - . '\x{65EF}\x{65F0}\x{65F1}\x{65F2}\x{65F3}\x{65F4}\x{65F5}\x{65F6}\x{65F7}' - . '\x{65F8}\x{65FA}\x{65FB}\x{65FC}\x{65FD}\x{6600}\x{6601}\x{6602}\x{6603}' - . '\x{6604}\x{6605}\x{6606}\x{6607}\x{6608}\x{6609}\x{660A}\x{660B}\x{660C}' - . '\x{660D}\x{660E}\x{660F}\x{6610}\x{6611}\x{6612}\x{6613}\x{6614}\x{6615}' - . '\x{6616}\x{6618}\x{6619}\x{661A}\x{661B}\x{661C}\x{661D}\x{661F}\x{6620}' - . '\x{6621}\x{6622}\x{6623}\x{6624}\x{6625}\x{6626}\x{6627}\x{6628}\x{6629}' - . '\x{662A}\x{662B}\x{662D}\x{662E}\x{662F}\x{6630}\x{6631}\x{6632}\x{6633}' - . '\x{6634}\x{6635}\x{6636}\x{6639}\x{663A}\x{663C}\x{663D}\x{663E}\x{6640}' - . '\x{6641}\x{6642}\x{6643}\x{6644}\x{6645}\x{6646}\x{6647}\x{6649}\x{664A}' - . '\x{664B}\x{664C}\x{664E}\x{664F}\x{6650}\x{6651}\x{6652}\x{6653}\x{6654}' - . '\x{6655}\x{6656}\x{6657}\x{6658}\x{6659}\x{665A}\x{665B}\x{665C}\x{665D}' - . '\x{665E}\x{665F}\x{6661}\x{6662}\x{6664}\x{6665}\x{6666}\x{6668}\x{6669}' - . '\x{666A}\x{666B}\x{666C}\x{666D}\x{666E}\x{666F}\x{6670}\x{6671}\x{6672}' - . '\x{6673}\x{6674}\x{6675}\x{6676}\x{6677}\x{6678}\x{6679}\x{667A}\x{667B}' - . '\x{667C}\x{667D}\x{667E}\x{667F}\x{6680}\x{6681}\x{6682}\x{6683}\x{6684}' - . '\x{6685}\x{6686}\x{6687}\x{6688}\x{6689}\x{668A}\x{668B}\x{668C}\x{668D}' - . '\x{668E}\x{668F}\x{6690}\x{6691}\x{6693}\x{6694}\x{6695}\x{6696}\x{6697}' - . '\x{6698}\x{6699}\x{669A}\x{669B}\x{669D}\x{669F}\x{66A0}\x{66A1}\x{66A2}' - . '\x{66A3}\x{66A4}\x{66A5}\x{66A6}\x{66A7}\x{66A8}\x{66A9}\x{66AA}\x{66AB}' - . '\x{66AE}\x{66AF}\x{66B0}\x{66B1}\x{66B2}\x{66B3}\x{66B4}\x{66B5}\x{66B6}' - . '\x{66B7}\x{66B8}\x{66B9}\x{66BA}\x{66BB}\x{66BC}\x{66BD}\x{66BE}\x{66BF}' - . '\x{66C0}\x{66C1}\x{66C2}\x{66C3}\x{66C4}\x{66C5}\x{66C6}\x{66C7}\x{66C8}' - . '\x{66C9}\x{66CA}\x{66CB}\x{66CC}\x{66CD}\x{66CE}\x{66CF}\x{66D1}\x{66D2}' - . '\x{66D4}\x{66D5}\x{66D6}\x{66D8}\x{66D9}\x{66DA}\x{66DB}\x{66DC}\x{66DD}' - . '\x{66DE}\x{66E0}\x{66E1}\x{66E2}\x{66E3}\x{66E4}\x{66E5}\x{66E6}\x{66E7}' - . '\x{66E8}\x{66E9}\x{66EA}\x{66EB}\x{66EC}\x{66ED}\x{66EE}\x{66F0}\x{66F1}' - . '\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F6}\x{66F7}\x{66F8}\x{66F9}\x{66FA}' - . '\x{66FB}\x{66FC}\x{66FE}\x{66FF}\x{6700}\x{6701}\x{6703}\x{6704}\x{6705}' - . '\x{6706}\x{6708}\x{6709}\x{670A}\x{670B}\x{670C}\x{670D}\x{670E}\x{670F}' - . '\x{6710}\x{6711}\x{6712}\x{6713}\x{6714}\x{6715}\x{6716}\x{6717}\x{6718}' - . '\x{671A}\x{671B}\x{671C}\x{671D}\x{671E}\x{671F}\x{6720}\x{6721}\x{6722}' - . '\x{6723}\x{6725}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}\x{672D}' - . '\x{672E}\x{672F}\x{6730}\x{6731}\x{6732}\x{6733}\x{6734}\x{6735}\x{6736}' - . '\x{6737}\x{6738}\x{6739}\x{673A}\x{673B}\x{673C}\x{673D}\x{673E}\x{673F}' - . '\x{6740}\x{6741}\x{6742}\x{6743}\x{6744}\x{6745}\x{6746}\x{6747}\x{6748}' - . '\x{6749}\x{674A}\x{674B}\x{674C}\x{674D}\x{674E}\x{674F}\x{6750}\x{6751}' - . '\x{6752}\x{6753}\x{6754}\x{6755}\x{6756}\x{6757}\x{6758}\x{6759}\x{675A}' - . '\x{675B}\x{675C}\x{675D}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' - . '\x{6764}\x{6765}\x{6766}\x{6768}\x{6769}\x{676A}\x{676B}\x{676C}\x{676D}' - . '\x{676E}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}\x{6774}\x{6775}\x{6776}' - . '\x{6777}\x{6778}\x{6779}\x{677A}\x{677B}\x{677C}\x{677D}\x{677E}\x{677F}' - . '\x{6780}\x{6781}\x{6782}\x{6783}\x{6784}\x{6785}\x{6786}\x{6787}\x{6789}' - . '\x{678A}\x{678B}\x{678C}\x{678D}\x{678E}\x{678F}\x{6790}\x{6791}\x{6792}' - . '\x{6793}\x{6794}\x{6795}\x{6797}\x{6798}\x{6799}\x{679A}\x{679B}\x{679C}' - . '\x{679D}\x{679E}\x{679F}\x{67A0}\x{67A1}\x{67A2}\x{67A3}\x{67A4}\x{67A5}' - . '\x{67A6}\x{67A7}\x{67A8}\x{67AA}\x{67AB}\x{67AC}\x{67AD}\x{67AE}\x{67AF}' - . '\x{67B0}\x{67B1}\x{67B2}\x{67B3}\x{67B4}\x{67B5}\x{67B6}\x{67B7}\x{67B8}' - . '\x{67B9}\x{67BA}\x{67BB}\x{67BC}\x{67BE}\x{67C0}\x{67C1}\x{67C2}\x{67C3}' - . '\x{67C4}\x{67C5}\x{67C6}\x{67C7}\x{67C8}\x{67C9}\x{67CA}\x{67CB}\x{67CC}' - . '\x{67CD}\x{67CE}\x{67CF}\x{67D0}\x{67D1}\x{67D2}\x{67D3}\x{67D4}\x{67D6}' - . '\x{67D8}\x{67D9}\x{67DA}\x{67DB}\x{67DC}\x{67DD}\x{67DE}\x{67DF}\x{67E0}' - . '\x{67E1}\x{67E2}\x{67E3}\x{67E4}\x{67E5}\x{67E6}\x{67E7}\x{67E8}\x{67E9}' - . '\x{67EA}\x{67EB}\x{67EC}\x{67ED}\x{67EE}\x{67EF}\x{67F0}\x{67F1}\x{67F2}' - . '\x{67F3}\x{67F4}\x{67F5}\x{67F6}\x{67F7}\x{67F8}\x{67FA}\x{67FB}\x{67FC}' - . '\x{67FD}\x{67FE}\x{67FF}\x{6800}\x{6802}\x{6803}\x{6804}\x{6805}\x{6806}' - . '\x{6807}\x{6808}\x{6809}\x{680A}\x{680B}\x{680C}\x{680D}\x{680E}\x{680F}' - . '\x{6810}\x{6811}\x{6812}\x{6813}\x{6814}\x{6816}\x{6817}\x{6818}\x{6819}' - . '\x{681A}\x{681B}\x{681C}\x{681D}\x{681F}\x{6820}\x{6821}\x{6822}\x{6823}' - . '\x{6824}\x{6825}\x{6826}\x{6828}\x{6829}\x{682A}\x{682B}\x{682C}\x{682D}' - . '\x{682E}\x{682F}\x{6831}\x{6832}\x{6833}\x{6834}\x{6835}\x{6836}\x{6837}' - . '\x{6838}\x{6839}\x{683A}\x{683B}\x{683C}\x{683D}\x{683E}\x{683F}\x{6840}' - . '\x{6841}\x{6842}\x{6843}\x{6844}\x{6845}\x{6846}\x{6847}\x{6848}\x{6849}' - . '\x{684A}\x{684B}\x{684C}\x{684D}\x{684E}\x{684F}\x{6850}\x{6851}\x{6852}' - . '\x{6853}\x{6854}\x{6855}\x{6856}\x{6857}\x{685B}\x{685D}\x{6860}\x{6861}' - . '\x{6862}\x{6863}\x{6864}\x{6865}\x{6866}\x{6867}\x{6868}\x{6869}\x{686A}' - . '\x{686B}\x{686C}\x{686D}\x{686E}\x{686F}\x{6870}\x{6871}\x{6872}\x{6873}' - . '\x{6874}\x{6875}\x{6876}\x{6877}\x{6878}\x{6879}\x{687B}\x{687C}\x{687D}' - . '\x{687E}\x{687F}\x{6880}\x{6881}\x{6882}\x{6883}\x{6884}\x{6885}\x{6886}' - . '\x{6887}\x{6888}\x{6889}\x{688A}\x{688B}\x{688C}\x{688D}\x{688E}\x{688F}' - . '\x{6890}\x{6891}\x{6892}\x{6893}\x{6894}\x{6896}\x{6897}\x{6898}\x{689A}' - . '\x{689B}\x{689C}\x{689D}\x{689E}\x{689F}\x{68A0}\x{68A1}\x{68A2}\x{68A3}' - . '\x{68A4}\x{68A6}\x{68A7}\x{68A8}\x{68A9}\x{68AA}\x{68AB}\x{68AC}\x{68AD}' - . '\x{68AE}\x{68AF}\x{68B0}\x{68B1}\x{68B2}\x{68B3}\x{68B4}\x{68B5}\x{68B6}' - . '\x{68B7}\x{68B9}\x{68BB}\x{68BC}\x{68BD}\x{68BE}\x{68BF}\x{68C0}\x{68C1}' - . '\x{68C2}\x{68C4}\x{68C6}\x{68C7}\x{68C8}\x{68C9}\x{68CA}\x{68CB}\x{68CC}' - . '\x{68CD}\x{68CE}\x{68CF}\x{68D0}\x{68D1}\x{68D2}\x{68D3}\x{68D4}\x{68D5}' - . '\x{68D6}\x{68D7}\x{68D8}\x{68DA}\x{68DB}\x{68DC}\x{68DD}\x{68DE}\x{68DF}' - . '\x{68E0}\x{68E1}\x{68E3}\x{68E4}\x{68E6}\x{68E7}\x{68E8}\x{68E9}\x{68EA}' - . '\x{68EB}\x{68EC}\x{68ED}\x{68EE}\x{68EF}\x{68F0}\x{68F1}\x{68F2}\x{68F3}' - . '\x{68F4}\x{68F5}\x{68F6}\x{68F7}\x{68F8}\x{68F9}\x{68FA}\x{68FB}\x{68FC}' - . '\x{68FD}\x{68FE}\x{68FF}\x{6901}\x{6902}\x{6903}\x{6904}\x{6905}\x{6906}' - . '\x{6907}\x{6908}\x{690A}\x{690B}\x{690C}\x{690D}\x{690E}\x{690F}\x{6910}' - . '\x{6911}\x{6912}\x{6913}\x{6914}\x{6915}\x{6916}\x{6917}\x{6918}\x{6919}' - . '\x{691A}\x{691B}\x{691C}\x{691D}\x{691E}\x{691F}\x{6920}\x{6921}\x{6922}' - . '\x{6923}\x{6924}\x{6925}\x{6926}\x{6927}\x{6928}\x{6929}\x{692A}\x{692B}' - . '\x{692C}\x{692D}\x{692E}\x{692F}\x{6930}\x{6931}\x{6932}\x{6933}\x{6934}' - . '\x{6935}\x{6936}\x{6937}\x{6938}\x{6939}\x{693A}\x{693B}\x{693C}\x{693D}' - . '\x{693F}\x{6940}\x{6941}\x{6942}\x{6943}\x{6944}\x{6945}\x{6946}\x{6947}' - . '\x{6948}\x{6949}\x{694A}\x{694B}\x{694C}\x{694E}\x{694F}\x{6950}\x{6951}' - . '\x{6952}\x{6953}\x{6954}\x{6955}\x{6956}\x{6957}\x{6958}\x{6959}\x{695A}' - . '\x{695B}\x{695C}\x{695D}\x{695E}\x{695F}\x{6960}\x{6961}\x{6962}\x{6963}' - . '\x{6964}\x{6965}\x{6966}\x{6967}\x{6968}\x{6969}\x{696A}\x{696B}\x{696C}' - . '\x{696D}\x{696E}\x{696F}\x{6970}\x{6971}\x{6972}\x{6973}\x{6974}\x{6975}' - . '\x{6976}\x{6977}\x{6978}\x{6979}\x{697A}\x{697B}\x{697C}\x{697D}\x{697E}' - . '\x{697F}\x{6980}\x{6981}\x{6982}\x{6983}\x{6984}\x{6985}\x{6986}\x{6987}' - . '\x{6988}\x{6989}\x{698A}\x{698B}\x{698C}\x{698D}\x{698E}\x{698F}\x{6990}' - . '\x{6991}\x{6992}\x{6993}\x{6994}\x{6995}\x{6996}\x{6997}\x{6998}\x{6999}' - . '\x{699A}\x{699B}\x{699C}\x{699D}\x{699E}\x{69A0}\x{69A1}\x{69A3}\x{69A4}' - . '\x{69A5}\x{69A6}\x{69A7}\x{69A8}\x{69A9}\x{69AA}\x{69AB}\x{69AC}\x{69AD}' - . '\x{69AE}\x{69AF}\x{69B0}\x{69B1}\x{69B2}\x{69B3}\x{69B4}\x{69B5}\x{69B6}' - . '\x{69B7}\x{69B8}\x{69B9}\x{69BA}\x{69BB}\x{69BC}\x{69BD}\x{69BE}\x{69BF}' - . '\x{69C1}\x{69C2}\x{69C3}\x{69C4}\x{69C5}\x{69C6}\x{69C7}\x{69C8}\x{69C9}' - . '\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}\x{69CF}\x{69D0}\x{69D3}\x{69D4}' - . '\x{69D8}\x{69D9}\x{69DA}\x{69DB}\x{69DC}\x{69DD}\x{69DE}\x{69DF}\x{69E0}' - . '\x{69E1}\x{69E2}\x{69E3}\x{69E4}\x{69E5}\x{69E6}\x{69E7}\x{69E8}\x{69E9}' - . '\x{69EA}\x{69EB}\x{69EC}\x{69ED}\x{69EE}\x{69EF}\x{69F0}\x{69F1}\x{69F2}' - . '\x{69F3}\x{69F4}\x{69F5}\x{69F6}\x{69F7}\x{69F8}\x{69FA}\x{69FB}\x{69FC}' - . '\x{69FD}\x{69FE}\x{69FF}\x{6A00}\x{6A01}\x{6A02}\x{6A04}\x{6A05}\x{6A06}' - . '\x{6A07}\x{6A08}\x{6A09}\x{6A0A}\x{6A0B}\x{6A0D}\x{6A0E}\x{6A0F}\x{6A10}' - . '\x{6A11}\x{6A12}\x{6A13}\x{6A14}\x{6A15}\x{6A16}\x{6A17}\x{6A18}\x{6A19}' - . '\x{6A1A}\x{6A1B}\x{6A1D}\x{6A1E}\x{6A1F}\x{6A20}\x{6A21}\x{6A22}\x{6A23}' - . '\x{6A25}\x{6A26}\x{6A27}\x{6A28}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2C}\x{6A2D}' - . '\x{6A2E}\x{6A2F}\x{6A30}\x{6A31}\x{6A32}\x{6A33}\x{6A34}\x{6A35}\x{6A36}' - . '\x{6A38}\x{6A39}\x{6A3A}\x{6A3B}\x{6A3C}\x{6A3D}\x{6A3E}\x{6A3F}\x{6A40}' - . '\x{6A41}\x{6A42}\x{6A43}\x{6A44}\x{6A45}\x{6A46}\x{6A47}\x{6A48}\x{6A49}' - . '\x{6A4B}\x{6A4C}\x{6A4D}\x{6A4E}\x{6A4F}\x{6A50}\x{6A51}\x{6A52}\x{6A54}' - . '\x{6A55}\x{6A56}\x{6A57}\x{6A58}\x{6A59}\x{6A5A}\x{6A5B}\x{6A5D}\x{6A5E}' - . '\x{6A5F}\x{6A60}\x{6A61}\x{6A62}\x{6A63}\x{6A64}\x{6A65}\x{6A66}\x{6A67}' - . '\x{6A68}\x{6A69}\x{6A6A}\x{6A6B}\x{6A6C}\x{6A6D}\x{6A6F}\x{6A71}\x{6A72}' - . '\x{6A73}\x{6A74}\x{6A75}\x{6A76}\x{6A77}\x{6A78}\x{6A79}\x{6A7A}\x{6A7B}' - . '\x{6A7C}\x{6A7D}\x{6A7E}\x{6A7F}\x{6A80}\x{6A81}\x{6A82}\x{6A83}\x{6A84}' - . '\x{6A85}\x{6A87}\x{6A88}\x{6A89}\x{6A8B}\x{6A8C}\x{6A8D}\x{6A8E}\x{6A90}' - . '\x{6A91}\x{6A92}\x{6A93}\x{6A94}\x{6A95}\x{6A96}\x{6A97}\x{6A98}\x{6A9A}' - . '\x{6A9B}\x{6A9C}\x{6A9E}\x{6A9F}\x{6AA0}\x{6AA1}\x{6AA2}\x{6AA3}\x{6AA4}' - . '\x{6AA5}\x{6AA6}\x{6AA7}\x{6AA8}\x{6AA9}\x{6AAB}\x{6AAC}\x{6AAD}\x{6AAE}' - . '\x{6AAF}\x{6AB0}\x{6AB2}\x{6AB3}\x{6AB4}\x{6AB5}\x{6AB6}\x{6AB7}\x{6AB8}' - . '\x{6AB9}\x{6ABA}\x{6ABB}\x{6ABC}\x{6ABD}\x{6ABF}\x{6AC1}\x{6AC2}\x{6AC3}' - . '\x{6AC5}\x{6AC6}\x{6AC7}\x{6ACA}\x{6ACB}\x{6ACC}\x{6ACD}\x{6ACE}\x{6ACF}' - . '\x{6AD0}\x{6AD1}\x{6AD2}\x{6AD3}\x{6AD4}\x{6AD5}\x{6AD6}\x{6AD7}\x{6AD9}' - . '\x{6ADA}\x{6ADB}\x{6ADC}\x{6ADD}\x{6ADE}\x{6ADF}\x{6AE0}\x{6AE1}\x{6AE2}' - . '\x{6AE3}\x{6AE4}\x{6AE5}\x{6AE6}\x{6AE7}\x{6AE8}\x{6AEA}\x{6AEB}\x{6AEC}' - . '\x{6AED}\x{6AEE}\x{6AEF}\x{6AF0}\x{6AF1}\x{6AF2}\x{6AF3}\x{6AF4}\x{6AF5}' - . '\x{6AF6}\x{6AF7}\x{6AF8}\x{6AF9}\x{6AFA}\x{6AFB}\x{6AFC}\x{6AFD}\x{6AFE}' - . '\x{6AFF}\x{6B00}\x{6B01}\x{6B02}\x{6B03}\x{6B04}\x{6B05}\x{6B06}\x{6B07}' - . '\x{6B08}\x{6B09}\x{6B0A}\x{6B0B}\x{6B0C}\x{6B0D}\x{6B0F}\x{6B10}\x{6B11}' - . '\x{6B12}\x{6B13}\x{6B14}\x{6B15}\x{6B16}\x{6B17}\x{6B18}\x{6B19}\x{6B1A}' - . '\x{6B1C}\x{6B1D}\x{6B1E}\x{6B1F}\x{6B20}\x{6B21}\x{6B22}\x{6B23}\x{6B24}' - . '\x{6B25}\x{6B26}\x{6B27}\x{6B28}\x{6B29}\x{6B2A}\x{6B2B}\x{6B2C}\x{6B2D}' - . '\x{6B2F}\x{6B30}\x{6B31}\x{6B32}\x{6B33}\x{6B34}\x{6B36}\x{6B37}\x{6B38}' - . '\x{6B39}\x{6B3A}\x{6B3B}\x{6B3C}\x{6B3D}\x{6B3E}\x{6B3F}\x{6B41}\x{6B42}' - . '\x{6B43}\x{6B44}\x{6B45}\x{6B46}\x{6B47}\x{6B48}\x{6B49}\x{6B4A}\x{6B4B}' - . '\x{6B4C}\x{6B4D}\x{6B4E}\x{6B4F}\x{6B50}\x{6B51}\x{6B52}\x{6B53}\x{6B54}' - . '\x{6B55}\x{6B56}\x{6B59}\x{6B5A}\x{6B5B}\x{6B5C}\x{6B5E}\x{6B5F}\x{6B60}' - . '\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B65}\x{6B66}\x{6B67}\x{6B69}\x{6B6A}' - . '\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}\x{6B73}\x{6B74}\x{6B76}\x{6B77}' - . '\x{6B78}\x{6B79}\x{6B7A}\x{6B7B}\x{6B7C}\x{6B7E}\x{6B7F}\x{6B80}\x{6B81}' - . '\x{6B82}\x{6B83}\x{6B84}\x{6B85}\x{6B86}\x{6B87}\x{6B88}\x{6B89}\x{6B8A}' - . '\x{6B8B}\x{6B8C}\x{6B8D}\x{6B8E}\x{6B8F}\x{6B90}\x{6B91}\x{6B92}\x{6B93}' - . '\x{6B94}\x{6B95}\x{6B96}\x{6B97}\x{6B98}\x{6B99}\x{6B9A}\x{6B9B}\x{6B9C}' - . '\x{6B9D}\x{6B9E}\x{6B9F}\x{6BA0}\x{6BA1}\x{6BA2}\x{6BA3}\x{6BA4}\x{6BA5}' - . '\x{6BA6}\x{6BA7}\x{6BA8}\x{6BA9}\x{6BAA}\x{6BAB}\x{6BAC}\x{6BAD}\x{6BAE}' - . '\x{6BAF}\x{6BB0}\x{6BB2}\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB6}\x{6BB7}\x{6BB9}' - . '\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBD}\x{6BBE}\x{6BBF}\x{6BC0}\x{6BC1}\x{6BC2}' - . '\x{6BC3}\x{6BC4}\x{6BC5}\x{6BC6}\x{6BC7}\x{6BC8}\x{6BC9}\x{6BCA}\x{6BCB}' - . '\x{6BCC}\x{6BCD}\x{6BCE}\x{6BCF}\x{6BD0}\x{6BD1}\x{6BD2}\x{6BD3}\x{6BD4}' - . '\x{6BD5}\x{6BD6}\x{6BD7}\x{6BD8}\x{6BD9}\x{6BDA}\x{6BDB}\x{6BDC}\x{6BDD}' - . '\x{6BDE}\x{6BDF}\x{6BE0}\x{6BE1}\x{6BE2}\x{6BE3}\x{6BE4}\x{6BE5}\x{6BE6}' - . '\x{6BE7}\x{6BE8}\x{6BEA}\x{6BEB}\x{6BEC}\x{6BED}\x{6BEE}\x{6BEF}\x{6BF0}' - . '\x{6BF2}\x{6BF3}\x{6BF5}\x{6BF6}\x{6BF7}\x{6BF8}\x{6BF9}\x{6BFB}\x{6BFC}' - . '\x{6BFD}\x{6BFE}\x{6BFF}\x{6C00}\x{6C01}\x{6C02}\x{6C03}\x{6C04}\x{6C05}' - . '\x{6C06}\x{6C07}\x{6C08}\x{6C09}\x{6C0B}\x{6C0C}\x{6C0D}\x{6C0E}\x{6C0F}' - . '\x{6C10}\x{6C11}\x{6C12}\x{6C13}\x{6C14}\x{6C15}\x{6C16}\x{6C18}\x{6C19}' - . '\x{6C1A}\x{6C1B}\x{6C1D}\x{6C1E}\x{6C1F}\x{6C20}\x{6C21}\x{6C22}\x{6C23}' - . '\x{6C24}\x{6C25}\x{6C26}\x{6C27}\x{6C28}\x{6C29}\x{6C2A}\x{6C2B}\x{6C2C}' - . '\x{6C2E}\x{6C2F}\x{6C30}\x{6C31}\x{6C32}\x{6C33}\x{6C34}\x{6C35}\x{6C36}' - . '\x{6C37}\x{6C38}\x{6C3A}\x{6C3B}\x{6C3D}\x{6C3E}\x{6C3F}\x{6C40}\x{6C41}' - . '\x{6C42}\x{6C43}\x{6C44}\x{6C46}\x{6C47}\x{6C48}\x{6C49}\x{6C4A}\x{6C4B}' - . '\x{6C4C}\x{6C4D}\x{6C4E}\x{6C4F}\x{6C50}\x{6C51}\x{6C52}\x{6C53}\x{6C54}' - . '\x{6C55}\x{6C56}\x{6C57}\x{6C58}\x{6C59}\x{6C5A}\x{6C5B}\x{6C5C}\x{6C5D}' - . '\x{6C5E}\x{6C5F}\x{6C60}\x{6C61}\x{6C62}\x{6C63}\x{6C64}\x{6C65}\x{6C66}' - . '\x{6C67}\x{6C68}\x{6C69}\x{6C6A}\x{6C6B}\x{6C6D}\x{6C6F}\x{6C70}\x{6C71}' - . '\x{6C72}\x{6C73}\x{6C74}\x{6C75}\x{6C76}\x{6C77}\x{6C78}\x{6C79}\x{6C7A}' - . '\x{6C7B}\x{6C7C}\x{6C7D}\x{6C7E}\x{6C7F}\x{6C80}\x{6C81}\x{6C82}\x{6C83}' - . '\x{6C84}\x{6C85}\x{6C86}\x{6C87}\x{6C88}\x{6C89}\x{6C8A}\x{6C8B}\x{6C8C}' - . '\x{6C8D}\x{6C8E}\x{6C8F}\x{6C90}\x{6C91}\x{6C92}\x{6C93}\x{6C94}\x{6C95}' - . '\x{6C96}\x{6C97}\x{6C98}\x{6C99}\x{6C9A}\x{6C9B}\x{6C9C}\x{6C9D}\x{6C9E}' - . '\x{6C9F}\x{6CA1}\x{6CA2}\x{6CA3}\x{6CA4}\x{6CA5}\x{6CA6}\x{6CA7}\x{6CA8}' - . '\x{6CA9}\x{6CAA}\x{6CAB}\x{6CAC}\x{6CAD}\x{6CAE}\x{6CAF}\x{6CB0}\x{6CB1}' - . '\x{6CB2}\x{6CB3}\x{6CB4}\x{6CB5}\x{6CB6}\x{6CB7}\x{6CB8}\x{6CB9}\x{6CBA}' - . '\x{6CBB}\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC0}\x{6CC1}\x{6CC2}\x{6CC3}' - . '\x{6CC4}\x{6CC5}\x{6CC6}\x{6CC7}\x{6CC8}\x{6CC9}\x{6CCA}\x{6CCB}\x{6CCC}' - . '\x{6CCD}\x{6CCE}\x{6CCF}\x{6CD0}\x{6CD1}\x{6CD2}\x{6CD3}\x{6CD4}\x{6CD5}' - . '\x{6CD6}\x{6CD7}\x{6CD9}\x{6CDA}\x{6CDB}\x{6CDC}\x{6CDD}\x{6CDE}\x{6CDF}' - . '\x{6CE0}\x{6CE1}\x{6CE2}\x{6CE3}\x{6CE4}\x{6CE5}\x{6CE6}\x{6CE7}\x{6CE8}' - . '\x{6CE9}\x{6CEA}\x{6CEB}\x{6CEC}\x{6CED}\x{6CEE}\x{6CEF}\x{6CF0}\x{6CF1}' - . '\x{6CF2}\x{6CF3}\x{6CF5}\x{6CF6}\x{6CF7}\x{6CF8}\x{6CF9}\x{6CFA}\x{6CFB}' - . '\x{6CFC}\x{6CFD}\x{6CFE}\x{6CFF}\x{6D00}\x{6D01}\x{6D03}\x{6D04}\x{6D05}' - . '\x{6D06}\x{6D07}\x{6D08}\x{6D09}\x{6D0A}\x{6D0B}\x{6D0C}\x{6D0D}\x{6D0E}' - . '\x{6D0F}\x{6D10}\x{6D11}\x{6D12}\x{6D13}\x{6D14}\x{6D15}\x{6D16}\x{6D17}' - . '\x{6D18}\x{6D19}\x{6D1A}\x{6D1B}\x{6D1D}\x{6D1E}\x{6D1F}\x{6D20}\x{6D21}' - . '\x{6D22}\x{6D23}\x{6D25}\x{6D26}\x{6D27}\x{6D28}\x{6D29}\x{6D2A}\x{6D2B}' - . '\x{6D2C}\x{6D2D}\x{6D2E}\x{6D2F}\x{6D30}\x{6D31}\x{6D32}\x{6D33}\x{6D34}' - . '\x{6D35}\x{6D36}\x{6D37}\x{6D38}\x{6D39}\x{6D3A}\x{6D3B}\x{6D3C}\x{6D3D}' - . '\x{6D3E}\x{6D3F}\x{6D40}\x{6D41}\x{6D42}\x{6D43}\x{6D44}\x{6D45}\x{6D46}' - . '\x{6D47}\x{6D48}\x{6D49}\x{6D4A}\x{6D4B}\x{6D4C}\x{6D4D}\x{6D4E}\x{6D4F}' - . '\x{6D50}\x{6D51}\x{6D52}\x{6D53}\x{6D54}\x{6D55}\x{6D56}\x{6D57}\x{6D58}' - . '\x{6D59}\x{6D5A}\x{6D5B}\x{6D5C}\x{6D5D}\x{6D5E}\x{6D5F}\x{6D60}\x{6D61}' - . '\x{6D62}\x{6D63}\x{6D64}\x{6D65}\x{6D66}\x{6D67}\x{6D68}\x{6D69}\x{6D6A}' - . '\x{6D6B}\x{6D6C}\x{6D6D}\x{6D6E}\x{6D6F}\x{6D70}\x{6D72}\x{6D73}\x{6D74}' - . '\x{6D75}\x{6D76}\x{6D77}\x{6D78}\x{6D79}\x{6D7A}\x{6D7B}\x{6D7C}\x{6D7D}' - . '\x{6D7E}\x{6D7F}\x{6D80}\x{6D82}\x{6D83}\x{6D84}\x{6D85}\x{6D86}\x{6D87}' - . '\x{6D88}\x{6D89}\x{6D8A}\x{6D8B}\x{6D8C}\x{6D8D}\x{6D8E}\x{6D8F}\x{6D90}' - . '\x{6D91}\x{6D92}\x{6D93}\x{6D94}\x{6D95}\x{6D97}\x{6D98}\x{6D99}\x{6D9A}' - . '\x{6D9B}\x{6D9D}\x{6D9E}\x{6D9F}\x{6DA0}\x{6DA1}\x{6DA2}\x{6DA3}\x{6DA4}' - . '\x{6DA5}\x{6DA6}\x{6DA7}\x{6DA8}\x{6DA9}\x{6DAA}\x{6DAB}\x{6DAC}\x{6DAD}' - . '\x{6DAE}\x{6DAF}\x{6DB2}\x{6DB3}\x{6DB4}\x{6DB5}\x{6DB7}\x{6DB8}\x{6DB9}' - . '\x{6DBA}\x{6DBB}\x{6DBC}\x{6DBD}\x{6DBE}\x{6DBF}\x{6DC0}\x{6DC1}\x{6DC2}' - . '\x{6DC3}\x{6DC4}\x{6DC5}\x{6DC6}\x{6DC7}\x{6DC8}\x{6DC9}\x{6DCA}\x{6DCB}' - . '\x{6DCC}\x{6DCD}\x{6DCE}\x{6DCF}\x{6DD0}\x{6DD1}\x{6DD2}\x{6DD3}\x{6DD4}' - . '\x{6DD5}\x{6DD6}\x{6DD7}\x{6DD8}\x{6DD9}\x{6DDA}\x{6DDB}\x{6DDC}\x{6DDD}' - . '\x{6DDE}\x{6DDF}\x{6DE0}\x{6DE1}\x{6DE2}\x{6DE3}\x{6DE4}\x{6DE5}\x{6DE6}' - . '\x{6DE7}\x{6DE8}\x{6DE9}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DED}\x{6DEE}\x{6DEF}' - . '\x{6DF0}\x{6DF1}\x{6DF2}\x{6DF3}\x{6DF4}\x{6DF5}\x{6DF6}\x{6DF7}\x{6DF8}' - . '\x{6DF9}\x{6DFA}\x{6DFB}\x{6DFC}\x{6DFD}\x{6E00}\x{6E03}\x{6E04}\x{6E05}' - . '\x{6E07}\x{6E08}\x{6E09}\x{6E0A}\x{6E0B}\x{6E0C}\x{6E0D}\x{6E0E}\x{6E0F}' - . '\x{6E10}\x{6E11}\x{6E14}\x{6E15}\x{6E16}\x{6E17}\x{6E19}\x{6E1A}\x{6E1B}' - . '\x{6E1C}\x{6E1D}\x{6E1E}\x{6E1F}\x{6E20}\x{6E21}\x{6E22}\x{6E23}\x{6E24}' - . '\x{6E25}\x{6E26}\x{6E27}\x{6E28}\x{6E29}\x{6E2B}\x{6E2C}\x{6E2D}\x{6E2E}' - . '\x{6E2F}\x{6E30}\x{6E31}\x{6E32}\x{6E33}\x{6E34}\x{6E35}\x{6E36}\x{6E37}' - . '\x{6E38}\x{6E39}\x{6E3A}\x{6E3B}\x{6E3C}\x{6E3D}\x{6E3E}\x{6E3F}\x{6E40}' - . '\x{6E41}\x{6E42}\x{6E43}\x{6E44}\x{6E45}\x{6E46}\x{6E47}\x{6E48}\x{6E49}' - . '\x{6E4A}\x{6E4B}\x{6E4D}\x{6E4E}\x{6E4F}\x{6E50}\x{6E51}\x{6E52}\x{6E53}' - . '\x{6E54}\x{6E55}\x{6E56}\x{6E57}\x{6E58}\x{6E59}\x{6E5A}\x{6E5B}\x{6E5C}' - . '\x{6E5D}\x{6E5E}\x{6E5F}\x{6E60}\x{6E61}\x{6E62}\x{6E63}\x{6E64}\x{6E65}' - . '\x{6E66}\x{6E67}\x{6E68}\x{6E69}\x{6E6A}\x{6E6B}\x{6E6D}\x{6E6E}\x{6E6F}' - . '\x{6E70}\x{6E71}\x{6E72}\x{6E73}\x{6E74}\x{6E75}\x{6E77}\x{6E78}\x{6E79}' - . '\x{6E7E}\x{6E7F}\x{6E80}\x{6E81}\x{6E82}\x{6E83}\x{6E84}\x{6E85}\x{6E86}' - . '\x{6E87}\x{6E88}\x{6E89}\x{6E8A}\x{6E8D}\x{6E8E}\x{6E8F}\x{6E90}\x{6E91}' - . '\x{6E92}\x{6E93}\x{6E94}\x{6E96}\x{6E97}\x{6E98}\x{6E99}\x{6E9A}\x{6E9B}' - . '\x{6E9C}\x{6E9D}\x{6E9E}\x{6E9F}\x{6EA0}\x{6EA1}\x{6EA2}\x{6EA3}\x{6EA4}' - . '\x{6EA5}\x{6EA6}\x{6EA7}\x{6EA8}\x{6EA9}\x{6EAA}\x{6EAB}\x{6EAC}\x{6EAD}' - . '\x{6EAE}\x{6EAF}\x{6EB0}\x{6EB1}\x{6EB2}\x{6EB3}\x{6EB4}\x{6EB5}\x{6EB6}' - . '\x{6EB7}\x{6EB8}\x{6EB9}\x{6EBA}\x{6EBB}\x{6EBC}\x{6EBD}\x{6EBE}\x{6EBF}' - . '\x{6EC0}\x{6EC1}\x{6EC2}\x{6EC3}\x{6EC4}\x{6EC5}\x{6EC6}\x{6EC7}\x{6EC8}' - . '\x{6EC9}\x{6ECA}\x{6ECB}\x{6ECC}\x{6ECD}\x{6ECE}\x{6ECF}\x{6ED0}\x{6ED1}' - . '\x{6ED2}\x{6ED3}\x{6ED4}\x{6ED5}\x{6ED6}\x{6ED7}\x{6ED8}\x{6ED9}\x{6EDA}' - . '\x{6EDC}\x{6EDE}\x{6EDF}\x{6EE0}\x{6EE1}\x{6EE2}\x{6EE4}\x{6EE5}\x{6EE6}' - . '\x{6EE7}\x{6EE8}\x{6EE9}\x{6EEA}\x{6EEB}\x{6EEC}\x{6EED}\x{6EEE}\x{6EEF}' - . '\x{6EF0}\x{6EF1}\x{6EF2}\x{6EF3}\x{6EF4}\x{6EF5}\x{6EF6}\x{6EF7}\x{6EF8}' - . '\x{6EF9}\x{6EFA}\x{6EFB}\x{6EFC}\x{6EFD}\x{6EFE}\x{6EFF}\x{6F00}\x{6F01}' - . '\x{6F02}\x{6F03}\x{6F05}\x{6F06}\x{6F07}\x{6F08}\x{6F09}\x{6F0A}\x{6F0C}' - . '\x{6F0D}\x{6F0E}\x{6F0F}\x{6F10}\x{6F11}\x{6F12}\x{6F13}\x{6F14}\x{6F15}' - . '\x{6F16}\x{6F17}\x{6F18}\x{6F19}\x{6F1A}\x{6F1B}\x{6F1C}\x{6F1D}\x{6F1E}' - . '\x{6F1F}\x{6F20}\x{6F21}\x{6F22}\x{6F23}\x{6F24}\x{6F25}\x{6F26}\x{6F27}' - . '\x{6F28}\x{6F29}\x{6F2A}\x{6F2B}\x{6F2C}\x{6F2D}\x{6F2E}\x{6F2F}\x{6F30}' - . '\x{6F31}\x{6F32}\x{6F33}\x{6F34}\x{6F35}\x{6F36}\x{6F37}\x{6F38}\x{6F39}' - . '\x{6F3A}\x{6F3B}\x{6F3C}\x{6F3D}\x{6F3E}\x{6F3F}\x{6F40}\x{6F41}\x{6F43}' - . '\x{6F44}\x{6F45}\x{6F46}\x{6F47}\x{6F49}\x{6F4B}\x{6F4C}\x{6F4D}\x{6F4E}' - . '\x{6F4F}\x{6F50}\x{6F51}\x{6F52}\x{6F53}\x{6F54}\x{6F55}\x{6F56}\x{6F57}' - . '\x{6F58}\x{6F59}\x{6F5A}\x{6F5B}\x{6F5C}\x{6F5D}\x{6F5E}\x{6F5F}\x{6F60}' - . '\x{6F61}\x{6F62}\x{6F63}\x{6F64}\x{6F65}\x{6F66}\x{6F67}\x{6F68}\x{6F69}' - . '\x{6F6A}\x{6F6B}\x{6F6C}\x{6F6D}\x{6F6E}\x{6F6F}\x{6F70}\x{6F71}\x{6F72}' - . '\x{6F73}\x{6F74}\x{6F75}\x{6F76}\x{6F77}\x{6F78}\x{6F7A}\x{6F7B}\x{6F7C}' - . '\x{6F7D}\x{6F7E}\x{6F7F}\x{6F80}\x{6F81}\x{6F82}\x{6F83}\x{6F84}\x{6F85}' - . '\x{6F86}\x{6F87}\x{6F88}\x{6F89}\x{6F8A}\x{6F8B}\x{6F8C}\x{6F8D}\x{6F8E}' - . '\x{6F8F}\x{6F90}\x{6F91}\x{6F92}\x{6F93}\x{6F94}\x{6F95}\x{6F96}\x{6F97}' - . '\x{6F99}\x{6F9B}\x{6F9C}\x{6F9D}\x{6F9E}\x{6FA0}\x{6FA1}\x{6FA2}\x{6FA3}' - . '\x{6FA4}\x{6FA5}\x{6FA6}\x{6FA7}\x{6FA8}\x{6FA9}\x{6FAA}\x{6FAB}\x{6FAC}' - . '\x{6FAD}\x{6FAE}\x{6FAF}\x{6FB0}\x{6FB1}\x{6FB2}\x{6FB3}\x{6FB4}\x{6FB5}' - . '\x{6FB6}\x{6FB8}\x{6FB9}\x{6FBA}\x{6FBB}\x{6FBC}\x{6FBD}\x{6FBE}\x{6FBF}' - . '\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC4}\x{6FC6}\x{6FC7}\x{6FC8}\x{6FC9}' - . '\x{6FCA}\x{6FCB}\x{6FCC}\x{6FCD}\x{6FCE}\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}' - . '\x{6FD5}\x{6FD6}\x{6FD7}\x{6FD8}\x{6FD9}\x{6FDA}\x{6FDB}\x{6FDC}\x{6FDD}' - . '\x{6FDE}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE2}\x{6FE3}\x{6FE4}\x{6FE5}\x{6FE6}' - . '\x{6FE7}\x{6FE8}\x{6FE9}\x{6FEA}\x{6FEB}\x{6FEC}\x{6FED}\x{6FEE}\x{6FEF}' - . '\x{6FF0}\x{6FF1}\x{6FF2}\x{6FF3}\x{6FF4}\x{6FF6}\x{6FF7}\x{6FF8}\x{6FF9}' - . '\x{6FFA}\x{6FFB}\x{6FFC}\x{6FFE}\x{6FFF}\x{7000}\x{7001}\x{7002}\x{7003}' - . '\x{7004}\x{7005}\x{7006}\x{7007}\x{7008}\x{7009}\x{700A}\x{700B}\x{700C}' - . '\x{700D}\x{700E}\x{700F}\x{7011}\x{7012}\x{7014}\x{7015}\x{7016}\x{7017}' - . '\x{7018}\x{7019}\x{701A}\x{701B}\x{701C}\x{701D}\x{701F}\x{7020}\x{7021}' - . '\x{7022}\x{7023}\x{7024}\x{7025}\x{7026}\x{7027}\x{7028}\x{7029}\x{702A}' - . '\x{702B}\x{702C}\x{702D}\x{702E}\x{702F}\x{7030}\x{7031}\x{7032}\x{7033}' - . '\x{7034}\x{7035}\x{7036}\x{7037}\x{7038}\x{7039}\x{703A}\x{703B}\x{703C}' - . '\x{703D}\x{703E}\x{703F}\x{7040}\x{7041}\x{7042}\x{7043}\x{7044}\x{7045}' - . '\x{7046}\x{7048}\x{7049}\x{704A}\x{704C}\x{704D}\x{704F}\x{7050}\x{7051}' - . '\x{7052}\x{7053}\x{7054}\x{7055}\x{7056}\x{7057}\x{7058}\x{7059}\x{705A}' - . '\x{705B}\x{705C}\x{705D}\x{705E}\x{705F}\x{7060}\x{7061}\x{7062}\x{7063}' - . '\x{7064}\x{7065}\x{7066}\x{7067}\x{7068}\x{7069}\x{706A}\x{706B}\x{706C}' - . '\x{706D}\x{706E}\x{706F}\x{7070}\x{7071}\x{7074}\x{7075}\x{7076}\x{7077}' - . '\x{7078}\x{7079}\x{707A}\x{707C}\x{707D}\x{707E}\x{707F}\x{7080}\x{7082}' - . '\x{7083}\x{7084}\x{7085}\x{7086}\x{7087}\x{7088}\x{7089}\x{708A}\x{708B}' - . '\x{708C}\x{708E}\x{708F}\x{7090}\x{7091}\x{7092}\x{7093}\x{7094}\x{7095}' - . '\x{7096}\x{7098}\x{7099}\x{709A}\x{709C}\x{709D}\x{709E}\x{709F}\x{70A0}' - . '\x{70A1}\x{70A2}\x{70A3}\x{70A4}\x{70A5}\x{70A6}\x{70A7}\x{70A8}\x{70A9}' - . '\x{70AB}\x{70AC}\x{70AD}\x{70AE}\x{70AF}\x{70B0}\x{70B1}\x{70B3}\x{70B4}' - . '\x{70B5}\x{70B7}\x{70B8}\x{70B9}\x{70BA}\x{70BB}\x{70BC}\x{70BD}\x{70BE}' - . '\x{70BF}\x{70C0}\x{70C1}\x{70C2}\x{70C3}\x{70C4}\x{70C5}\x{70C6}\x{70C7}' - . '\x{70C8}\x{70C9}\x{70CA}\x{70CB}\x{70CC}\x{70CD}\x{70CE}\x{70CF}\x{70D0}' - . '\x{70D1}\x{70D2}\x{70D3}\x{70D4}\x{70D6}\x{70D7}\x{70D8}\x{70D9}\x{70DA}' - . '\x{70DB}\x{70DC}\x{70DD}\x{70DE}\x{70DF}\x{70E0}\x{70E1}\x{70E2}\x{70E3}' - . '\x{70E4}\x{70E5}\x{70E6}\x{70E7}\x{70E8}\x{70E9}\x{70EA}\x{70EB}\x{70EC}' - . '\x{70ED}\x{70EE}\x{70EF}\x{70F0}\x{70F1}\x{70F2}\x{70F3}\x{70F4}\x{70F5}' - . '\x{70F6}\x{70F7}\x{70F8}\x{70F9}\x{70FA}\x{70FB}\x{70FC}\x{70FD}\x{70FF}' - . '\x{7100}\x{7101}\x{7102}\x{7103}\x{7104}\x{7105}\x{7106}\x{7107}\x{7109}' - . '\x{710A}\x{710B}\x{710C}\x{710D}\x{710E}\x{710F}\x{7110}\x{7111}\x{7112}' - . '\x{7113}\x{7115}\x{7116}\x{7117}\x{7118}\x{7119}\x{711A}\x{711B}\x{711C}' - . '\x{711D}\x{711E}\x{711F}\x{7120}\x{7121}\x{7122}\x{7123}\x{7125}\x{7126}' - . '\x{7127}\x{7128}\x{7129}\x{712A}\x{712B}\x{712C}\x{712D}\x{712E}\x{712F}' - . '\x{7130}\x{7131}\x{7132}\x{7135}\x{7136}\x{7137}\x{7138}\x{7139}\x{713A}' - . '\x{713B}\x{713D}\x{713E}\x{713F}\x{7140}\x{7141}\x{7142}\x{7143}\x{7144}' - . '\x{7145}\x{7146}\x{7147}\x{7148}\x{7149}\x{714A}\x{714B}\x{714C}\x{714D}' - . '\x{714E}\x{714F}\x{7150}\x{7151}\x{7152}\x{7153}\x{7154}\x{7156}\x{7158}' - . '\x{7159}\x{715A}\x{715B}\x{715C}\x{715D}\x{715E}\x{715F}\x{7160}\x{7161}' - . '\x{7162}\x{7163}\x{7164}\x{7165}\x{7166}\x{7167}\x{7168}\x{7169}\x{716A}' - . '\x{716C}\x{716E}\x{716F}\x{7170}\x{7171}\x{7172}\x{7173}\x{7174}\x{7175}' - . '\x{7176}\x{7177}\x{7178}\x{7179}\x{717A}\x{717B}\x{717C}\x{717D}\x{717E}' - . '\x{717F}\x{7180}\x{7181}\x{7182}\x{7183}\x{7184}\x{7185}\x{7186}\x{7187}' - . '\x{7188}\x{7189}\x{718A}\x{718B}\x{718C}\x{718E}\x{718F}\x{7190}\x{7191}' - . '\x{7192}\x{7193}\x{7194}\x{7195}\x{7197}\x{7198}\x{7199}\x{719A}\x{719B}' - . '\x{719C}\x{719D}\x{719E}\x{719F}\x{71A0}\x{71A1}\x{71A2}\x{71A3}\x{71A4}' - . '\x{71A5}\x{71A7}\x{71A8}\x{71A9}\x{71AA}\x{71AC}\x{71AD}\x{71AE}\x{71AF}' - . '\x{71B0}\x{71B1}\x{71B2}\x{71B3}\x{71B4}\x{71B5}\x{71B7}\x{71B8}\x{71B9}' - . '\x{71BA}\x{71BB}\x{71BC}\x{71BD}\x{71BE}\x{71BF}\x{71C0}\x{71C1}\x{71C2}' - . '\x{71C3}\x{71C4}\x{71C5}\x{71C6}\x{71C7}\x{71C8}\x{71C9}\x{71CA}\x{71CB}' - . '\x{71CD}\x{71CE}\x{71CF}\x{71D0}\x{71D1}\x{71D2}\x{71D4}\x{71D5}\x{71D6}' - . '\x{71D7}\x{71D8}\x{71D9}\x{71DA}\x{71DB}\x{71DC}\x{71DD}\x{71DE}\x{71DF}' - . '\x{71E0}\x{71E1}\x{71E2}\x{71E3}\x{71E4}\x{71E5}\x{71E6}\x{71E7}\x{71E8}' - . '\x{71E9}\x{71EA}\x{71EB}\x{71EC}\x{71ED}\x{71EE}\x{71EF}\x{71F0}\x{71F1}' - . '\x{71F2}\x{71F4}\x{71F5}\x{71F6}\x{71F7}\x{71F8}\x{71F9}\x{71FB}\x{71FC}' - . '\x{71FD}\x{71FE}\x{71FF}\x{7201}\x{7202}\x{7203}\x{7204}\x{7205}\x{7206}' - . '\x{7207}\x{7208}\x{7209}\x{720A}\x{720C}\x{720D}\x{720E}\x{720F}\x{7210}' - . '\x{7212}\x{7213}\x{7214}\x{7216}\x{7218}\x{7219}\x{721A}\x{721B}\x{721C}' - . '\x{721D}\x{721E}\x{721F}\x{7221}\x{7222}\x{7223}\x{7226}\x{7227}\x{7228}' - . '\x{7229}\x{722A}\x{722B}\x{722C}\x{722D}\x{722E}\x{7230}\x{7231}\x{7232}' - . '\x{7233}\x{7235}\x{7236}\x{7237}\x{7238}\x{7239}\x{723A}\x{723B}\x{723C}' - . '\x{723D}\x{723E}\x{723F}\x{7240}\x{7241}\x{7242}\x{7243}\x{7244}\x{7246}' - . '\x{7247}\x{7248}\x{7249}\x{724A}\x{724B}\x{724C}\x{724D}\x{724F}\x{7251}' - . '\x{7252}\x{7253}\x{7254}\x{7256}\x{7257}\x{7258}\x{7259}\x{725A}\x{725B}' - . '\x{725C}\x{725D}\x{725E}\x{725F}\x{7260}\x{7261}\x{7262}\x{7263}\x{7264}' - . '\x{7265}\x{7266}\x{7267}\x{7268}\x{7269}\x{726A}\x{726B}\x{726C}\x{726D}' - . '\x{726E}\x{726F}\x{7270}\x{7271}\x{7272}\x{7273}\x{7274}\x{7275}\x{7276}' - . '\x{7277}\x{7278}\x{7279}\x{727A}\x{727B}\x{727C}\x{727D}\x{727E}\x{727F}' - . '\x{7280}\x{7281}\x{7282}\x{7283}\x{7284}\x{7285}\x{7286}\x{7287}\x{7288}' - . '\x{7289}\x{728A}\x{728B}\x{728C}\x{728D}\x{728E}\x{728F}\x{7290}\x{7291}' - . '\x{7292}\x{7293}\x{7294}\x{7295}\x{7296}\x{7297}\x{7298}\x{7299}\x{729A}' - . '\x{729B}\x{729C}\x{729D}\x{729E}\x{729F}\x{72A1}\x{72A2}\x{72A3}\x{72A4}' - . '\x{72A5}\x{72A6}\x{72A7}\x{72A8}\x{72A9}\x{72AA}\x{72AC}\x{72AD}\x{72AE}' - . '\x{72AF}\x{72B0}\x{72B1}\x{72B2}\x{72B3}\x{72B4}\x{72B5}\x{72B6}\x{72B7}' - . '\x{72B8}\x{72B9}\x{72BA}\x{72BB}\x{72BC}\x{72BD}\x{72BF}\x{72C0}\x{72C1}' - . '\x{72C2}\x{72C3}\x{72C4}\x{72C5}\x{72C6}\x{72C7}\x{72C8}\x{72C9}\x{72CA}' - . '\x{72CB}\x{72CC}\x{72CD}\x{72CE}\x{72CF}\x{72D0}\x{72D1}\x{72D2}\x{72D3}' - . '\x{72D4}\x{72D5}\x{72D6}\x{72D7}\x{72D8}\x{72D9}\x{72DA}\x{72DB}\x{72DC}' - . '\x{72DD}\x{72DE}\x{72DF}\x{72E0}\x{72E1}\x{72E2}\x{72E3}\x{72E4}\x{72E5}' - . '\x{72E6}\x{72E7}\x{72E8}\x{72E9}\x{72EA}\x{72EB}\x{72EC}\x{72ED}\x{72EE}' - . '\x{72EF}\x{72F0}\x{72F1}\x{72F2}\x{72F3}\x{72F4}\x{72F5}\x{72F6}\x{72F7}' - . '\x{72F8}\x{72F9}\x{72FA}\x{72FB}\x{72FC}\x{72FD}\x{72FE}\x{72FF}\x{7300}' - . '\x{7301}\x{7303}\x{7304}\x{7305}\x{7306}\x{7307}\x{7308}\x{7309}\x{730A}' - . '\x{730B}\x{730C}\x{730D}\x{730E}\x{730F}\x{7311}\x{7312}\x{7313}\x{7314}' - . '\x{7315}\x{7316}\x{7317}\x{7318}\x{7319}\x{731A}\x{731B}\x{731C}\x{731D}' - . '\x{731E}\x{7320}\x{7321}\x{7322}\x{7323}\x{7324}\x{7325}\x{7326}\x{7327}' - . '\x{7329}\x{732A}\x{732B}\x{732C}\x{732D}\x{732E}\x{7330}\x{7331}\x{7332}' - . '\x{7333}\x{7334}\x{7335}\x{7336}\x{7337}\x{7338}\x{7339}\x{733A}\x{733B}' - . '\x{733C}\x{733D}\x{733E}\x{733F}\x{7340}\x{7341}\x{7342}\x{7343}\x{7344}' - . '\x{7345}\x{7346}\x{7347}\x{7348}\x{7349}\x{734A}\x{734B}\x{734C}\x{734D}' - . '\x{734E}\x{7350}\x{7351}\x{7352}\x{7354}\x{7355}\x{7356}\x{7357}\x{7358}' - . '\x{7359}\x{735A}\x{735B}\x{735C}\x{735D}\x{735E}\x{735F}\x{7360}\x{7361}' - . '\x{7362}\x{7364}\x{7365}\x{7366}\x{7367}\x{7368}\x{7369}\x{736A}\x{736B}' - . '\x{736C}\x{736D}\x{736E}\x{736F}\x{7370}\x{7371}\x{7372}\x{7373}\x{7374}' - . '\x{7375}\x{7376}\x{7377}\x{7378}\x{7379}\x{737A}\x{737B}\x{737C}\x{737D}' - . '\x{737E}\x{737F}\x{7380}\x{7381}\x{7382}\x{7383}\x{7384}\x{7385}\x{7386}' - . '\x{7387}\x{7388}\x{7389}\x{738A}\x{738B}\x{738C}\x{738D}\x{738E}\x{738F}' - . '\x{7390}\x{7391}\x{7392}\x{7393}\x{7394}\x{7395}\x{7396}\x{7397}\x{7398}' - . '\x{7399}\x{739A}\x{739B}\x{739D}\x{739E}\x{739F}\x{73A0}\x{73A1}\x{73A2}' - . '\x{73A3}\x{73A4}\x{73A5}\x{73A6}\x{73A7}\x{73A8}\x{73A9}\x{73AA}\x{73AB}' - . '\x{73AC}\x{73AD}\x{73AE}\x{73AF}\x{73B0}\x{73B1}\x{73B2}\x{73B3}\x{73B4}' - . '\x{73B5}\x{73B6}\x{73B7}\x{73B8}\x{73B9}\x{73BA}\x{73BB}\x{73BC}\x{73BD}' - . '\x{73BE}\x{73BF}\x{73C0}\x{73C2}\x{73C3}\x{73C4}\x{73C5}\x{73C6}\x{73C7}' - . '\x{73C8}\x{73C9}\x{73CA}\x{73CB}\x{73CC}\x{73CD}\x{73CE}\x{73CF}\x{73D0}' - . '\x{73D1}\x{73D2}\x{73D3}\x{73D4}\x{73D5}\x{73D6}\x{73D7}\x{73D8}\x{73D9}' - . '\x{73DA}\x{73DB}\x{73DC}\x{73DD}\x{73DE}\x{73DF}\x{73E0}\x{73E2}\x{73E3}' - . '\x{73E5}\x{73E6}\x{73E7}\x{73E8}\x{73E9}\x{73EA}\x{73EB}\x{73EC}\x{73ED}' - . '\x{73EE}\x{73EF}\x{73F0}\x{73F1}\x{73F2}\x{73F4}\x{73F5}\x{73F6}\x{73F7}' - . '\x{73F8}\x{73F9}\x{73FA}\x{73FC}\x{73FD}\x{73FE}\x{73FF}\x{7400}\x{7401}' - . '\x{7402}\x{7403}\x{7404}\x{7405}\x{7406}\x{7407}\x{7408}\x{7409}\x{740A}' - . '\x{740B}\x{740C}\x{740D}\x{740E}\x{740F}\x{7410}\x{7411}\x{7412}\x{7413}' - . '\x{7414}\x{7415}\x{7416}\x{7417}\x{7419}\x{741A}\x{741B}\x{741C}\x{741D}' - . '\x{741E}\x{741F}\x{7420}\x{7421}\x{7422}\x{7423}\x{7424}\x{7425}\x{7426}' - . '\x{7427}\x{7428}\x{7429}\x{742A}\x{742B}\x{742C}\x{742D}\x{742E}\x{742F}' - . '\x{7430}\x{7431}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{7437}\x{7438}' - . '\x{743A}\x{743B}\x{743C}\x{743D}\x{743F}\x{7440}\x{7441}\x{7442}\x{7443}' - . '\x{7444}\x{7445}\x{7446}\x{7448}\x{744A}\x{744B}\x{744C}\x{744D}\x{744E}' - . '\x{744F}\x{7450}\x{7451}\x{7452}\x{7453}\x{7454}\x{7455}\x{7456}\x{7457}' - . '\x{7459}\x{745A}\x{745B}\x{745C}\x{745D}\x{745E}\x{745F}\x{7461}\x{7462}' - . '\x{7463}\x{7464}\x{7465}\x{7466}\x{7467}\x{7468}\x{7469}\x{746A}\x{746B}' - . '\x{746C}\x{746D}\x{746E}\x{746F}\x{7470}\x{7471}\x{7472}\x{7473}\x{7474}' - . '\x{7475}\x{7476}\x{7477}\x{7478}\x{7479}\x{747A}\x{747C}\x{747D}\x{747E}' - . '\x{747F}\x{7480}\x{7481}\x{7482}\x{7483}\x{7485}\x{7486}\x{7487}\x{7488}' - . '\x{7489}\x{748A}\x{748B}\x{748C}\x{748D}\x{748E}\x{748F}\x{7490}\x{7491}' - . '\x{7492}\x{7493}\x{7494}\x{7495}\x{7497}\x{7498}\x{7499}\x{749A}\x{749B}' - . '\x{749C}\x{749E}\x{749F}\x{74A0}\x{74A1}\x{74A3}\x{74A4}\x{74A5}\x{74A6}' - . '\x{74A7}\x{74A8}\x{74A9}\x{74AA}\x{74AB}\x{74AC}\x{74AD}\x{74AE}\x{74AF}' - . '\x{74B0}\x{74B1}\x{74B2}\x{74B3}\x{74B4}\x{74B5}\x{74B6}\x{74B7}\x{74B8}' - . '\x{74B9}\x{74BA}\x{74BB}\x{74BC}\x{74BD}\x{74BE}\x{74BF}\x{74C0}\x{74C1}' - . '\x{74C2}\x{74C3}\x{74C4}\x{74C5}\x{74C6}\x{74CA}\x{74CB}\x{74CD}\x{74CE}' - . '\x{74CF}\x{74D0}\x{74D1}\x{74D2}\x{74D3}\x{74D4}\x{74D5}\x{74D6}\x{74D7}' - . '\x{74D8}\x{74D9}\x{74DA}\x{74DB}\x{74DC}\x{74DD}\x{74DE}\x{74DF}\x{74E0}' - . '\x{74E1}\x{74E2}\x{74E3}\x{74E4}\x{74E5}\x{74E6}\x{74E7}\x{74E8}\x{74E9}' - . '\x{74EA}\x{74EC}\x{74ED}\x{74EE}\x{74EF}\x{74F0}\x{74F1}\x{74F2}\x{74F3}' - . '\x{74F4}\x{74F5}\x{74F6}\x{74F7}\x{74F8}\x{74F9}\x{74FA}\x{74FB}\x{74FC}' - . '\x{74FD}\x{74FE}\x{74FF}\x{7500}\x{7501}\x{7502}\x{7503}\x{7504}\x{7505}' - . '\x{7506}\x{7507}\x{7508}\x{7509}\x{750A}\x{750B}\x{750C}\x{750D}\x{750F}' - . '\x{7510}\x{7511}\x{7512}\x{7513}\x{7514}\x{7515}\x{7516}\x{7517}\x{7518}' - . '\x{7519}\x{751A}\x{751B}\x{751C}\x{751D}\x{751E}\x{751F}\x{7521}\x{7522}' - . '\x{7523}\x{7524}\x{7525}\x{7526}\x{7527}\x{7528}\x{7529}\x{752A}\x{752B}' - . '\x{752C}\x{752D}\x{752E}\x{752F}\x{7530}\x{7531}\x{7532}\x{7533}\x{7535}' - . '\x{7536}\x{7537}\x{7538}\x{7539}\x{753A}\x{753B}\x{753C}\x{753D}\x{753E}' - . '\x{753F}\x{7540}\x{7542}\x{7543}\x{7544}\x{7545}\x{7546}\x{7547}\x{7548}' - . '\x{7549}\x{754B}\x{754C}\x{754D}\x{754E}\x{754F}\x{7550}\x{7551}\x{7553}' - . '\x{7554}\x{7556}\x{7557}\x{7558}\x{7559}\x{755A}\x{755B}\x{755C}\x{755D}' - . '\x{755F}\x{7560}\x{7562}\x{7563}\x{7564}\x{7565}\x{7566}\x{7567}\x{7568}' - . '\x{7569}\x{756A}\x{756B}\x{756C}\x{756D}\x{756E}\x{756F}\x{7570}\x{7572}' - . '\x{7574}\x{7575}\x{7576}\x{7577}\x{7578}\x{7579}\x{757C}\x{757D}\x{757E}' - . '\x{757F}\x{7580}\x{7581}\x{7582}\x{7583}\x{7584}\x{7586}\x{7587}\x{7588}' - . '\x{7589}\x{758A}\x{758B}\x{758C}\x{758D}\x{758F}\x{7590}\x{7591}\x{7592}' - . '\x{7593}\x{7594}\x{7595}\x{7596}\x{7597}\x{7598}\x{7599}\x{759A}\x{759B}' - . '\x{759C}\x{759D}\x{759E}\x{759F}\x{75A0}\x{75A1}\x{75A2}\x{75A3}\x{75A4}' - . '\x{75A5}\x{75A6}\x{75A7}\x{75A8}\x{75AA}\x{75AB}\x{75AC}\x{75AD}\x{75AE}' - . '\x{75AF}\x{75B0}\x{75B1}\x{75B2}\x{75B3}\x{75B4}\x{75B5}\x{75B6}\x{75B8}' - . '\x{75B9}\x{75BA}\x{75BB}\x{75BC}\x{75BD}\x{75BE}\x{75BF}\x{75C0}\x{75C1}' - . '\x{75C2}\x{75C3}\x{75C4}\x{75C5}\x{75C6}\x{75C7}\x{75C8}\x{75C9}\x{75CA}' - . '\x{75CB}\x{75CC}\x{75CD}\x{75CE}\x{75CF}\x{75D0}\x{75D1}\x{75D2}\x{75D3}' - . '\x{75D4}\x{75D5}\x{75D6}\x{75D7}\x{75D8}\x{75D9}\x{75DA}\x{75DB}\x{75DD}' - . '\x{75DE}\x{75DF}\x{75E0}\x{75E1}\x{75E2}\x{75E3}\x{75E4}\x{75E5}\x{75E6}' - . '\x{75E7}\x{75E8}\x{75EA}\x{75EB}\x{75EC}\x{75ED}\x{75EF}\x{75F0}\x{75F1}' - . '\x{75F2}\x{75F3}\x{75F4}\x{75F5}\x{75F6}\x{75F7}\x{75F8}\x{75F9}\x{75FA}' - . '\x{75FB}\x{75FC}\x{75FD}\x{75FE}\x{75FF}\x{7600}\x{7601}\x{7602}\x{7603}' - . '\x{7604}\x{7605}\x{7606}\x{7607}\x{7608}\x{7609}\x{760A}\x{760B}\x{760C}' - . '\x{760D}\x{760E}\x{760F}\x{7610}\x{7611}\x{7612}\x{7613}\x{7614}\x{7615}' - . '\x{7616}\x{7617}\x{7618}\x{7619}\x{761A}\x{761B}\x{761C}\x{761D}\x{761E}' - . '\x{761F}\x{7620}\x{7621}\x{7622}\x{7623}\x{7624}\x{7625}\x{7626}\x{7627}' - . '\x{7628}\x{7629}\x{762A}\x{762B}\x{762D}\x{762E}\x{762F}\x{7630}\x{7631}' - . '\x{7632}\x{7633}\x{7634}\x{7635}\x{7636}\x{7637}\x{7638}\x{7639}\x{763A}' - . '\x{763B}\x{763C}\x{763D}\x{763E}\x{763F}\x{7640}\x{7641}\x{7642}\x{7643}' - . '\x{7646}\x{7647}\x{7648}\x{7649}\x{764A}\x{764B}\x{764C}\x{764D}\x{764F}' - . '\x{7650}\x{7652}\x{7653}\x{7654}\x{7656}\x{7657}\x{7658}\x{7659}\x{765A}' - . '\x{765B}\x{765C}\x{765D}\x{765E}\x{765F}\x{7660}\x{7661}\x{7662}\x{7663}' - . '\x{7664}\x{7665}\x{7666}\x{7667}\x{7668}\x{7669}\x{766A}\x{766B}\x{766C}' - . '\x{766D}\x{766E}\x{766F}\x{7670}\x{7671}\x{7672}\x{7674}\x{7675}\x{7676}' - . '\x{7677}\x{7678}\x{7679}\x{767B}\x{767C}\x{767D}\x{767E}\x{767F}\x{7680}' - . '\x{7681}\x{7682}\x{7683}\x{7684}\x{7685}\x{7686}\x{7687}\x{7688}\x{7689}' - . '\x{768A}\x{768B}\x{768C}\x{768E}\x{768F}\x{7690}\x{7691}\x{7692}\x{7693}' - . '\x{7694}\x{7695}\x{7696}\x{7697}\x{7698}\x{7699}\x{769A}\x{769B}\x{769C}' - . '\x{769D}\x{769E}\x{769F}\x{76A0}\x{76A3}\x{76A4}\x{76A6}\x{76A7}\x{76A9}' - . '\x{76AA}\x{76AB}\x{76AC}\x{76AD}\x{76AE}\x{76AF}\x{76B0}\x{76B1}\x{76B2}' - . '\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}\x{76BB}\x{76BC}\x{76BD}\x{76BE}' - . '\x{76BF}\x{76C0}\x{76C2}\x{76C3}\x{76C4}\x{76C5}\x{76C6}\x{76C7}\x{76C8}' - . '\x{76C9}\x{76CA}\x{76CD}\x{76CE}\x{76CF}\x{76D0}\x{76D1}\x{76D2}\x{76D3}' - . '\x{76D4}\x{76D5}\x{76D6}\x{76D7}\x{76D8}\x{76DA}\x{76DB}\x{76DC}\x{76DD}' - . '\x{76DE}\x{76DF}\x{76E0}\x{76E1}\x{76E2}\x{76E3}\x{76E4}\x{76E5}\x{76E6}' - . '\x{76E7}\x{76E8}\x{76E9}\x{76EA}\x{76EC}\x{76ED}\x{76EE}\x{76EF}\x{76F0}' - . '\x{76F1}\x{76F2}\x{76F3}\x{76F4}\x{76F5}\x{76F6}\x{76F7}\x{76F8}\x{76F9}' - . '\x{76FA}\x{76FB}\x{76FC}\x{76FD}\x{76FE}\x{76FF}\x{7701}\x{7703}\x{7704}' - . '\x{7705}\x{7706}\x{7707}\x{7708}\x{7709}\x{770A}\x{770B}\x{770C}\x{770D}' - . '\x{770F}\x{7710}\x{7711}\x{7712}\x{7713}\x{7714}\x{7715}\x{7716}\x{7717}' - . '\x{7718}\x{7719}\x{771A}\x{771B}\x{771C}\x{771D}\x{771E}\x{771F}\x{7720}' - . '\x{7722}\x{7723}\x{7725}\x{7726}\x{7727}\x{7728}\x{7729}\x{772A}\x{772C}' - . '\x{772D}\x{772E}\x{772F}\x{7730}\x{7731}\x{7732}\x{7733}\x{7734}\x{7735}' - . '\x{7736}\x{7737}\x{7738}\x{7739}\x{773A}\x{773B}\x{773C}\x{773D}\x{773E}' - . '\x{7740}\x{7741}\x{7743}\x{7744}\x{7745}\x{7746}\x{7747}\x{7748}\x{7749}' - . '\x{774A}\x{774B}\x{774C}\x{774D}\x{774E}\x{774F}\x{7750}\x{7751}\x{7752}' - . '\x{7753}\x{7754}\x{7755}\x{7756}\x{7757}\x{7758}\x{7759}\x{775A}\x{775B}' - . '\x{775C}\x{775D}\x{775E}\x{775F}\x{7760}\x{7761}\x{7762}\x{7763}\x{7765}' - . '\x{7766}\x{7767}\x{7768}\x{7769}\x{776A}\x{776B}\x{776C}\x{776D}\x{776E}' - . '\x{776F}\x{7770}\x{7771}\x{7772}\x{7773}\x{7774}\x{7775}\x{7776}\x{7777}' - . '\x{7778}\x{7779}\x{777A}\x{777B}\x{777C}\x{777D}\x{777E}\x{777F}\x{7780}' - . '\x{7781}\x{7782}\x{7783}\x{7784}\x{7785}\x{7786}\x{7787}\x{7788}\x{7789}' - . '\x{778A}\x{778B}\x{778C}\x{778D}\x{778E}\x{778F}\x{7790}\x{7791}\x{7792}' - . '\x{7793}\x{7794}\x{7795}\x{7797}\x{7798}\x{7799}\x{779A}\x{779B}\x{779C}' - . '\x{779D}\x{779E}\x{779F}\x{77A0}\x{77A1}\x{77A2}\x{77A3}\x{77A5}\x{77A6}' - . '\x{77A7}\x{77A8}\x{77A9}\x{77AA}\x{77AB}\x{77AC}\x{77AD}\x{77AE}\x{77AF}' - . '\x{77B0}\x{77B1}\x{77B2}\x{77B3}\x{77B4}\x{77B5}\x{77B6}\x{77B7}\x{77B8}' - . '\x{77B9}\x{77BA}\x{77BB}\x{77BC}\x{77BD}\x{77BF}\x{77C0}\x{77C2}\x{77C3}' - . '\x{77C4}\x{77C5}\x{77C6}\x{77C7}\x{77C8}\x{77C9}\x{77CA}\x{77CB}\x{77CC}' - . '\x{77CD}\x{77CE}\x{77CF}\x{77D0}\x{77D1}\x{77D3}\x{77D4}\x{77D5}\x{77D6}' - . '\x{77D7}\x{77D8}\x{77D9}\x{77DA}\x{77DB}\x{77DC}\x{77DE}\x{77DF}\x{77E0}' - . '\x{77E1}\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E8}\x{77E9}\x{77EA}\x{77EB}' - . '\x{77EC}\x{77ED}\x{77EE}\x{77EF}\x{77F0}\x{77F1}\x{77F2}\x{77F3}\x{77F6}' - . '\x{77F7}\x{77F8}\x{77F9}\x{77FA}\x{77FB}\x{77FC}\x{77FD}\x{77FE}\x{77FF}' - . '\x{7800}\x{7801}\x{7802}\x{7803}\x{7804}\x{7805}\x{7806}\x{7808}\x{7809}' - . '\x{780A}\x{780B}\x{780C}\x{780D}\x{780E}\x{780F}\x{7810}\x{7811}\x{7812}' - . '\x{7813}\x{7814}\x{7815}\x{7816}\x{7817}\x{7818}\x{7819}\x{781A}\x{781B}' - . '\x{781C}\x{781D}\x{781E}\x{781F}\x{7820}\x{7821}\x{7822}\x{7823}\x{7825}' - . '\x{7826}\x{7827}\x{7828}\x{7829}\x{782A}\x{782B}\x{782C}\x{782D}\x{782E}' - . '\x{782F}\x{7830}\x{7831}\x{7832}\x{7833}\x{7834}\x{7835}\x{7837}\x{7838}' - . '\x{7839}\x{783A}\x{783B}\x{783C}\x{783D}\x{783E}\x{7840}\x{7841}\x{7843}' - . '\x{7844}\x{7845}\x{7847}\x{7848}\x{7849}\x{784A}\x{784C}\x{784D}\x{784E}' - . '\x{7850}\x{7851}\x{7852}\x{7853}\x{7854}\x{7855}\x{7856}\x{7857}\x{7858}' - . '\x{7859}\x{785A}\x{785B}\x{785C}\x{785D}\x{785E}\x{785F}\x{7860}\x{7861}' - . '\x{7862}\x{7863}\x{7864}\x{7865}\x{7866}\x{7867}\x{7868}\x{7869}\x{786A}' - . '\x{786B}\x{786C}\x{786D}\x{786E}\x{786F}\x{7870}\x{7871}\x{7872}\x{7873}' - . '\x{7874}\x{7875}\x{7877}\x{7878}\x{7879}\x{787A}\x{787B}\x{787C}\x{787D}' - . '\x{787E}\x{787F}\x{7880}\x{7881}\x{7882}\x{7883}\x{7884}\x{7885}\x{7886}' - . '\x{7887}\x{7889}\x{788A}\x{788B}\x{788C}\x{788D}\x{788E}\x{788F}\x{7890}' - . '\x{7891}\x{7892}\x{7893}\x{7894}\x{7895}\x{7896}\x{7897}\x{7898}\x{7899}' - . '\x{789A}\x{789B}\x{789C}\x{789D}\x{789E}\x{789F}\x{78A0}\x{78A1}\x{78A2}' - . '\x{78A3}\x{78A4}\x{78A5}\x{78A6}\x{78A7}\x{78A8}\x{78A9}\x{78AA}\x{78AB}' - . '\x{78AC}\x{78AD}\x{78AE}\x{78AF}\x{78B0}\x{78B1}\x{78B2}\x{78B3}\x{78B4}' - . '\x{78B5}\x{78B6}\x{78B7}\x{78B8}\x{78B9}\x{78BA}\x{78BB}\x{78BC}\x{78BD}' - . '\x{78BE}\x{78BF}\x{78C0}\x{78C1}\x{78C3}\x{78C4}\x{78C5}\x{78C6}\x{78C8}' - . '\x{78C9}\x{78CA}\x{78CB}\x{78CC}\x{78CD}\x{78CE}\x{78CF}\x{78D0}\x{78D1}' - . '\x{78D3}\x{78D4}\x{78D5}\x{78D6}\x{78D7}\x{78D8}\x{78D9}\x{78DA}\x{78DB}' - . '\x{78DC}\x{78DD}\x{78DE}\x{78DF}\x{78E0}\x{78E1}\x{78E2}\x{78E3}\x{78E4}' - . '\x{78E5}\x{78E6}\x{78E7}\x{78E8}\x{78E9}\x{78EA}\x{78EB}\x{78EC}\x{78ED}' - . '\x{78EE}\x{78EF}\x{78F1}\x{78F2}\x{78F3}\x{78F4}\x{78F5}\x{78F6}\x{78F7}' - . '\x{78F9}\x{78FA}\x{78FB}\x{78FC}\x{78FD}\x{78FE}\x{78FF}\x{7901}\x{7902}' - . '\x{7903}\x{7904}\x{7905}\x{7906}\x{7907}\x{7909}\x{790A}\x{790B}\x{790C}' - . '\x{790E}\x{790F}\x{7910}\x{7911}\x{7912}\x{7913}\x{7914}\x{7916}\x{7917}' - . '\x{7918}\x{7919}\x{791A}\x{791B}\x{791C}\x{791D}\x{791E}\x{7921}\x{7922}' - . '\x{7923}\x{7924}\x{7925}\x{7926}\x{7927}\x{7928}\x{7929}\x{792A}\x{792B}' - . '\x{792C}\x{792D}\x{792E}\x{792F}\x{7930}\x{7931}\x{7933}\x{7934}\x{7935}' - . '\x{7937}\x{7938}\x{7939}\x{793A}\x{793B}\x{793C}\x{793D}\x{793E}\x{793F}' - . '\x{7940}\x{7941}\x{7942}\x{7943}\x{7944}\x{7945}\x{7946}\x{7947}\x{7948}' - . '\x{7949}\x{794A}\x{794B}\x{794C}\x{794D}\x{794E}\x{794F}\x{7950}\x{7951}' - . '\x{7952}\x{7953}\x{7954}\x{7955}\x{7956}\x{7957}\x{7958}\x{795A}\x{795B}' - . '\x{795C}\x{795D}\x{795E}\x{795F}\x{7960}\x{7961}\x{7962}\x{7963}\x{7964}' - . '\x{7965}\x{7966}\x{7967}\x{7968}\x{7969}\x{796A}\x{796B}\x{796D}\x{796F}' - . '\x{7970}\x{7971}\x{7972}\x{7973}\x{7974}\x{7977}\x{7978}\x{7979}\x{797A}' - . '\x{797B}\x{797C}\x{797D}\x{797E}\x{797F}\x{7980}\x{7981}\x{7982}\x{7983}' - . '\x{7984}\x{7985}\x{7988}\x{7989}\x{798A}\x{798B}\x{798C}\x{798D}\x{798E}' - . '\x{798F}\x{7990}\x{7991}\x{7992}\x{7993}\x{7994}\x{7995}\x{7996}\x{7997}' - . '\x{7998}\x{7999}\x{799A}\x{799B}\x{799C}\x{799F}\x{79A0}\x{79A1}\x{79A2}' - . '\x{79A3}\x{79A4}\x{79A5}\x{79A6}\x{79A7}\x{79A8}\x{79AA}\x{79AB}\x{79AC}' - . '\x{79AD}\x{79AE}\x{79AF}\x{79B0}\x{79B1}\x{79B2}\x{79B3}\x{79B4}\x{79B5}' - . '\x{79B6}\x{79B7}\x{79B8}\x{79B9}\x{79BA}\x{79BB}\x{79BD}\x{79BE}\x{79BF}' - . '\x{79C0}\x{79C1}\x{79C2}\x{79C3}\x{79C5}\x{79C6}\x{79C8}\x{79C9}\x{79CA}' - . '\x{79CB}\x{79CD}\x{79CE}\x{79CF}\x{79D0}\x{79D1}\x{79D2}\x{79D3}\x{79D5}' - . '\x{79D6}\x{79D8}\x{79D9}\x{79DA}\x{79DB}\x{79DC}\x{79DD}\x{79DE}\x{79DF}' - . '\x{79E0}\x{79E1}\x{79E2}\x{79E3}\x{79E4}\x{79E5}\x{79E6}\x{79E7}\x{79E8}' - . '\x{79E9}\x{79EA}\x{79EB}\x{79EC}\x{79ED}\x{79EE}\x{79EF}\x{79F0}\x{79F1}' - . '\x{79F2}\x{79F3}\x{79F4}\x{79F5}\x{79F6}\x{79F7}\x{79F8}\x{79F9}\x{79FA}' - . '\x{79FB}\x{79FC}\x{79FD}\x{79FE}\x{79FF}\x{7A00}\x{7A02}\x{7A03}\x{7A04}' - . '\x{7A05}\x{7A06}\x{7A08}\x{7A0A}\x{7A0B}\x{7A0C}\x{7A0D}\x{7A0E}\x{7A0F}' - . '\x{7A10}\x{7A11}\x{7A12}\x{7A13}\x{7A14}\x{7A15}\x{7A16}\x{7A17}\x{7A18}' - . '\x{7A19}\x{7A1A}\x{7A1B}\x{7A1C}\x{7A1D}\x{7A1E}\x{7A1F}\x{7A20}\x{7A21}' - . '\x{7A22}\x{7A23}\x{7A24}\x{7A25}\x{7A26}\x{7A27}\x{7A28}\x{7A29}\x{7A2A}' - . '\x{7A2B}\x{7A2D}\x{7A2E}\x{7A2F}\x{7A30}\x{7A31}\x{7A32}\x{7A33}\x{7A34}' - . '\x{7A35}\x{7A37}\x{7A39}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' - . '\x{7A41}\x{7A42}\x{7A43}\x{7A44}\x{7A45}\x{7A46}\x{7A47}\x{7A48}\x{7A49}' - . '\x{7A4A}\x{7A4B}\x{7A4C}\x{7A4D}\x{7A4E}\x{7A50}\x{7A51}\x{7A52}\x{7A53}' - . '\x{7A54}\x{7A55}\x{7A56}\x{7A57}\x{7A58}\x{7A59}\x{7A5A}\x{7A5B}\x{7A5C}' - . '\x{7A5D}\x{7A5E}\x{7A5F}\x{7A60}\x{7A61}\x{7A62}\x{7A65}\x{7A66}\x{7A67}' - . '\x{7A68}\x{7A69}\x{7A6B}\x{7A6C}\x{7A6D}\x{7A6E}\x{7A70}\x{7A71}\x{7A72}' - . '\x{7A73}\x{7A74}\x{7A75}\x{7A76}\x{7A77}\x{7A78}\x{7A79}\x{7A7A}\x{7A7B}' - . '\x{7A7C}\x{7A7D}\x{7A7E}\x{7A7F}\x{7A80}\x{7A81}\x{7A83}\x{7A84}\x{7A85}' - . '\x{7A86}\x{7A87}\x{7A88}\x{7A89}\x{7A8A}\x{7A8B}\x{7A8C}\x{7A8D}\x{7A8E}' - . '\x{7A8F}\x{7A90}\x{7A91}\x{7A92}\x{7A93}\x{7A94}\x{7A95}\x{7A96}\x{7A97}' - . '\x{7A98}\x{7A99}\x{7A9C}\x{7A9D}\x{7A9E}\x{7A9F}\x{7AA0}\x{7AA1}\x{7AA2}' - . '\x{7AA3}\x{7AA4}\x{7AA5}\x{7AA6}\x{7AA7}\x{7AA8}\x{7AA9}\x{7AAA}\x{7AAB}' - . '\x{7AAC}\x{7AAD}\x{7AAE}\x{7AAF}\x{7AB0}\x{7AB1}\x{7AB2}\x{7AB3}\x{7AB4}' - . '\x{7AB5}\x{7AB6}\x{7AB7}\x{7AB8}\x{7ABA}\x{7ABE}\x{7ABF}\x{7AC0}\x{7AC1}' - . '\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}\x{7AC9}\x{7ACA}\x{7ACB}\x{7ACC}\x{7ACD}' - . '\x{7ACE}\x{7ACF}\x{7AD0}\x{7AD1}\x{7AD2}\x{7AD3}\x{7AD4}\x{7AD5}\x{7AD6}' - . '\x{7AD8}\x{7AD9}\x{7ADB}\x{7ADC}\x{7ADD}\x{7ADE}\x{7ADF}\x{7AE0}\x{7AE1}' - . '\x{7AE2}\x{7AE3}\x{7AE4}\x{7AE5}\x{7AE6}\x{7AE7}\x{7AE8}\x{7AEA}\x{7AEB}' - . '\x{7AEC}\x{7AED}\x{7AEE}\x{7AEF}\x{7AF0}\x{7AF1}\x{7AF2}\x{7AF3}\x{7AF4}' - . '\x{7AF6}\x{7AF7}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFB}\x{7AFD}\x{7AFE}\x{7AFF}' - . '\x{7B00}\x{7B01}\x{7B02}\x{7B03}\x{7B04}\x{7B05}\x{7B06}\x{7B08}\x{7B09}' - . '\x{7B0A}\x{7B0B}\x{7B0C}\x{7B0D}\x{7B0E}\x{7B0F}\x{7B10}\x{7B11}\x{7B12}' - . '\x{7B13}\x{7B14}\x{7B15}\x{7B16}\x{7B17}\x{7B18}\x{7B19}\x{7B1A}\x{7B1B}' - . '\x{7B1C}\x{7B1D}\x{7B1E}\x{7B20}\x{7B21}\x{7B22}\x{7B23}\x{7B24}\x{7B25}' - . '\x{7B26}\x{7B28}\x{7B2A}\x{7B2B}\x{7B2C}\x{7B2D}\x{7B2E}\x{7B2F}\x{7B30}' - . '\x{7B31}\x{7B32}\x{7B33}\x{7B34}\x{7B35}\x{7B36}\x{7B37}\x{7B38}\x{7B39}' - . '\x{7B3A}\x{7B3B}\x{7B3C}\x{7B3D}\x{7B3E}\x{7B3F}\x{7B40}\x{7B41}\x{7B43}' - . '\x{7B44}\x{7B45}\x{7B46}\x{7B47}\x{7B48}\x{7B49}\x{7B4A}\x{7B4B}\x{7B4C}' - . '\x{7B4D}\x{7B4E}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B55}\x{7B56}' - . '\x{7B57}\x{7B58}\x{7B59}\x{7B5A}\x{7B5B}\x{7B5C}\x{7B5D}\x{7B5E}\x{7B5F}' - . '\x{7B60}\x{7B61}\x{7B62}\x{7B63}\x{7B64}\x{7B65}\x{7B66}\x{7B67}\x{7B68}' - . '\x{7B69}\x{7B6A}\x{7B6B}\x{7B6C}\x{7B6D}\x{7B6E}\x{7B70}\x{7B71}\x{7B72}' - . '\x{7B73}\x{7B74}\x{7B75}\x{7B76}\x{7B77}\x{7B78}\x{7B79}\x{7B7B}\x{7B7C}' - . '\x{7B7D}\x{7B7E}\x{7B7F}\x{7B80}\x{7B81}\x{7B82}\x{7B83}\x{7B84}\x{7B85}' - . '\x{7B87}\x{7B88}\x{7B89}\x{7B8A}\x{7B8B}\x{7B8C}\x{7B8D}\x{7B8E}\x{7B8F}' - . '\x{7B90}\x{7B91}\x{7B93}\x{7B94}\x{7B95}\x{7B96}\x{7B97}\x{7B98}\x{7B99}' - . '\x{7B9A}\x{7B9B}\x{7B9C}\x{7B9D}\x{7B9E}\x{7B9F}\x{7BA0}\x{7BA1}\x{7BA2}' - . '\x{7BA4}\x{7BA6}\x{7BA7}\x{7BA8}\x{7BA9}\x{7BAA}\x{7BAB}\x{7BAC}\x{7BAD}' - . '\x{7BAE}\x{7BAF}\x{7BB1}\x{7BB3}\x{7BB4}\x{7BB5}\x{7BB6}\x{7BB7}\x{7BB8}' - . '\x{7BB9}\x{7BBA}\x{7BBB}\x{7BBC}\x{7BBD}\x{7BBE}\x{7BBF}\x{7BC0}\x{7BC1}' - . '\x{7BC2}\x{7BC3}\x{7BC4}\x{7BC5}\x{7BC6}\x{7BC7}\x{7BC8}\x{7BC9}\x{7BCA}' - . '\x{7BCB}\x{7BCC}\x{7BCD}\x{7BCE}\x{7BD0}\x{7BD1}\x{7BD2}\x{7BD3}\x{7BD4}' - . '\x{7BD5}\x{7BD6}\x{7BD7}\x{7BD8}\x{7BD9}\x{7BDA}\x{7BDB}\x{7BDC}\x{7BDD}' - . '\x{7BDE}\x{7BDF}\x{7BE0}\x{7BE1}\x{7BE2}\x{7BE3}\x{7BE4}\x{7BE5}\x{7BE6}' - . '\x{7BE7}\x{7BE8}\x{7BE9}\x{7BEA}\x{7BEB}\x{7BEC}\x{7BED}\x{7BEE}\x{7BEF}' - . '\x{7BF0}\x{7BF1}\x{7BF2}\x{7BF3}\x{7BF4}\x{7BF5}\x{7BF6}\x{7BF7}\x{7BF8}' - . '\x{7BF9}\x{7BFB}\x{7BFC}\x{7BFD}\x{7BFE}\x{7BFF}\x{7C00}\x{7C01}\x{7C02}' - . '\x{7C03}\x{7C04}\x{7C05}\x{7C06}\x{7C07}\x{7C08}\x{7C09}\x{7C0A}\x{7C0B}' - . '\x{7C0C}\x{7C0D}\x{7C0E}\x{7C0F}\x{7C10}\x{7C11}\x{7C12}\x{7C13}\x{7C15}' - . '\x{7C16}\x{7C17}\x{7C18}\x{7C19}\x{7C1A}\x{7C1C}\x{7C1D}\x{7C1E}\x{7C1F}' - . '\x{7C20}\x{7C21}\x{7C22}\x{7C23}\x{7C24}\x{7C25}\x{7C26}\x{7C27}\x{7C28}' - . '\x{7C29}\x{7C2A}\x{7C2B}\x{7C2C}\x{7C2D}\x{7C30}\x{7C31}\x{7C32}\x{7C33}' - . '\x{7C34}\x{7C35}\x{7C36}\x{7C37}\x{7C38}\x{7C39}\x{7C3A}\x{7C3B}\x{7C3C}' - . '\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C41}\x{7C42}\x{7C43}\x{7C44}\x{7C45}' - . '\x{7C46}\x{7C47}\x{7C48}\x{7C49}\x{7C4A}\x{7C4B}\x{7C4C}\x{7C4D}\x{7C4E}' - . '\x{7C50}\x{7C51}\x{7C53}\x{7C54}\x{7C56}\x{7C57}\x{7C58}\x{7C59}\x{7C5A}' - . '\x{7C5B}\x{7C5C}\x{7C5E}\x{7C5F}\x{7C60}\x{7C61}\x{7C62}\x{7C63}\x{7C64}' - . '\x{7C65}\x{7C66}\x{7C67}\x{7C68}\x{7C69}\x{7C6A}\x{7C6B}\x{7C6C}\x{7C6D}' - . '\x{7C6E}\x{7C6F}\x{7C70}\x{7C71}\x{7C72}\x{7C73}\x{7C74}\x{7C75}\x{7C77}' - . '\x{7C78}\x{7C79}\x{7C7A}\x{7C7B}\x{7C7C}\x{7C7D}\x{7C7E}\x{7C7F}\x{7C80}' - . '\x{7C81}\x{7C82}\x{7C84}\x{7C85}\x{7C86}\x{7C88}\x{7C89}\x{7C8A}\x{7C8B}' - . '\x{7C8C}\x{7C8D}\x{7C8E}\x{7C8F}\x{7C90}\x{7C91}\x{7C92}\x{7C94}\x{7C95}' - . '\x{7C96}\x{7C97}\x{7C98}\x{7C99}\x{7C9B}\x{7C9C}\x{7C9D}\x{7C9E}\x{7C9F}' - . '\x{7CA0}\x{7CA1}\x{7CA2}\x{7CA3}\x{7CA4}\x{7CA5}\x{7CA6}\x{7CA7}\x{7CA8}' - . '\x{7CA9}\x{7CAA}\x{7CAD}\x{7CAE}\x{7CAF}\x{7CB0}\x{7CB1}\x{7CB2}\x{7CB3}' - . '\x{7CB4}\x{7CB5}\x{7CB6}\x{7CB7}\x{7CB8}\x{7CB9}\x{7CBA}\x{7CBB}\x{7CBC}' - . '\x{7CBD}\x{7CBE}\x{7CBF}\x{7CC0}\x{7CC1}\x{7CC2}\x{7CC3}\x{7CC4}\x{7CC5}' - . '\x{7CC6}\x{7CC7}\x{7CC8}\x{7CC9}\x{7CCA}\x{7CCB}\x{7CCC}\x{7CCD}\x{7CCE}' - . '\x{7CCF}\x{7CD0}\x{7CD1}\x{7CD2}\x{7CD4}\x{7CD5}\x{7CD6}\x{7CD7}\x{7CD8}' - . '\x{7CD9}\x{7CDC}\x{7CDD}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}' - . '\x{7CE8}\x{7CE9}\x{7CEA}\x{7CEB}\x{7CEC}\x{7CED}\x{7CEE}\x{7CEF}\x{7CF0}' - . '\x{7CF1}\x{7CF2}\x{7CF3}\x{7CF4}\x{7CF5}\x{7CF6}\x{7CF7}\x{7CF8}\x{7CF9}' - . '\x{7CFA}\x{7CFB}\x{7CFD}\x{7CFE}\x{7D00}\x{7D01}\x{7D02}\x{7D03}\x{7D04}' - . '\x{7D05}\x{7D06}\x{7D07}\x{7D08}\x{7D09}\x{7D0A}\x{7D0B}\x{7D0C}\x{7D0D}' - . '\x{7D0E}\x{7D0F}\x{7D10}\x{7D11}\x{7D12}\x{7D13}\x{7D14}\x{7D15}\x{7D16}' - . '\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D1D}\x{7D1E}\x{7D1F}' - . '\x{7D20}\x{7D21}\x{7D22}\x{7D24}\x{7D25}\x{7D26}\x{7D27}\x{7D28}\x{7D29}' - . '\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D31}\x{7D32}\x{7D33}\x{7D34}' - . '\x{7D35}\x{7D36}\x{7D37}\x{7D38}\x{7D39}\x{7D3A}\x{7D3B}\x{7D3C}\x{7D3D}' - . '\x{7D3E}\x{7D3F}\x{7D40}\x{7D41}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}' - . '\x{7D47}\x{7D49}\x{7D4A}\x{7D4B}\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D51}' - . '\x{7D52}\x{7D53}\x{7D54}\x{7D55}\x{7D56}\x{7D57}\x{7D58}\x{7D59}\x{7D5B}' - . '\x{7D5C}\x{7D5D}\x{7D5E}\x{7D5F}\x{7D60}\x{7D61}\x{7D62}\x{7D63}\x{7D65}' - . '\x{7D66}\x{7D67}\x{7D68}\x{7D69}\x{7D6A}\x{7D6B}\x{7D6C}\x{7D6D}\x{7D6E}' - . '\x{7D6F}\x{7D70}\x{7D71}\x{7D72}\x{7D73}\x{7D74}\x{7D75}\x{7D76}\x{7D77}' - . '\x{7D79}\x{7D7A}\x{7D7B}\x{7D7C}\x{7D7D}\x{7D7E}\x{7D7F}\x{7D80}\x{7D81}' - . '\x{7D83}\x{7D84}\x{7D85}\x{7D86}\x{7D87}\x{7D88}\x{7D89}\x{7D8A}\x{7D8B}' - . '\x{7D8C}\x{7D8D}\x{7D8E}\x{7D8F}\x{7D90}\x{7D91}\x{7D92}\x{7D93}\x{7D94}' - . '\x{7D96}\x{7D97}\x{7D99}\x{7D9B}\x{7D9C}\x{7D9D}\x{7D9E}\x{7D9F}\x{7DA0}' - . '\x{7DA1}\x{7DA2}\x{7DA3}\x{7DA5}\x{7DA6}\x{7DA7}\x{7DA9}\x{7DAA}\x{7DAB}' - . '\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}\x{7DB1}\x{7DB2}\x{7DB3}\x{7DB4}' - . '\x{7DB5}\x{7DB6}\x{7DB7}\x{7DB8}\x{7DB9}\x{7DBA}\x{7DBB}\x{7DBC}\x{7DBD}' - . '\x{7DBE}\x{7DBF}\x{7DC0}\x{7DC1}\x{7DC2}\x{7DC3}\x{7DC4}\x{7DC5}\x{7DC6}' - . '\x{7DC7}\x{7DC8}\x{7DC9}\x{7DCA}\x{7DCB}\x{7DCC}\x{7DCE}\x{7DCF}\x{7DD0}' - . '\x{7DD1}\x{7DD2}\x{7DD4}\x{7DD5}\x{7DD6}\x{7DD7}\x{7DD8}\x{7DD9}\x{7DDA}' - . '\x{7DDB}\x{7DDD}\x{7DDE}\x{7DDF}\x{7DE0}\x{7DE1}\x{7DE2}\x{7DE3}\x{7DE6}' - . '\x{7DE7}\x{7DE8}\x{7DE9}\x{7DEA}\x{7DEC}\x{7DED}\x{7DEE}\x{7DEF}\x{7DF0}' - . '\x{7DF1}\x{7DF2}\x{7DF3}\x{7DF4}\x{7DF5}\x{7DF6}\x{7DF7}\x{7DF8}\x{7DF9}' - . '\x{7DFA}\x{7DFB}\x{7DFC}\x{7E00}\x{7E01}\x{7E02}\x{7E03}\x{7E04}\x{7E05}' - . '\x{7E06}\x{7E07}\x{7E08}\x{7E09}\x{7E0A}\x{7E0B}\x{7E0C}\x{7E0D}\x{7E0E}' - . '\x{7E0F}\x{7E10}\x{7E11}\x{7E12}\x{7E13}\x{7E14}\x{7E15}\x{7E16}\x{7E17}' - . '\x{7E19}\x{7E1A}\x{7E1B}\x{7E1C}\x{7E1D}\x{7E1E}\x{7E1F}\x{7E20}\x{7E21}' - . '\x{7E22}\x{7E23}\x{7E24}\x{7E25}\x{7E26}\x{7E27}\x{7E28}\x{7E29}\x{7E2A}' - . '\x{7E2B}\x{7E2C}\x{7E2D}\x{7E2E}\x{7E2F}\x{7E30}\x{7E31}\x{7E32}\x{7E33}' - . '\x{7E34}\x{7E35}\x{7E36}\x{7E37}\x{7E38}\x{7E39}\x{7E3A}\x{7E3B}\x{7E3C}' - . '\x{7E3D}\x{7E3E}\x{7E3F}\x{7E40}\x{7E41}\x{7E42}\x{7E43}\x{7E44}\x{7E45}' - . '\x{7E46}\x{7E47}\x{7E48}\x{7E49}\x{7E4C}\x{7E4D}\x{7E4E}\x{7E4F}\x{7E50}' - . '\x{7E51}\x{7E52}\x{7E53}\x{7E54}\x{7E55}\x{7E56}\x{7E57}\x{7E58}\x{7E59}' - . '\x{7E5A}\x{7E5C}\x{7E5D}\x{7E5E}\x{7E5F}\x{7E60}\x{7E61}\x{7E62}\x{7E63}' - . '\x{7E65}\x{7E66}\x{7E67}\x{7E68}\x{7E69}\x{7E6A}\x{7E6B}\x{7E6C}\x{7E6D}' - . '\x{7E6E}\x{7E6F}\x{7E70}\x{7E71}\x{7E72}\x{7E73}\x{7E74}\x{7E75}\x{7E76}' - . '\x{7E77}\x{7E78}\x{7E79}\x{7E7A}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7E}\x{7E7F}' - . '\x{7E80}\x{7E81}\x{7E82}\x{7E83}\x{7E84}\x{7E85}\x{7E86}\x{7E87}\x{7E88}' - . '\x{7E89}\x{7E8A}\x{7E8B}\x{7E8C}\x{7E8D}\x{7E8E}\x{7E8F}\x{7E90}\x{7E91}' - . '\x{7E92}\x{7E93}\x{7E94}\x{7E95}\x{7E96}\x{7E97}\x{7E98}\x{7E99}\x{7E9A}' - . '\x{7E9B}\x{7E9C}\x{7E9E}\x{7E9F}\x{7EA0}\x{7EA1}\x{7EA2}\x{7EA3}\x{7EA4}' - . '\x{7EA5}\x{7EA6}\x{7EA7}\x{7EA8}\x{7EA9}\x{7EAA}\x{7EAB}\x{7EAC}\x{7EAD}' - . '\x{7EAE}\x{7EAF}\x{7EB0}\x{7EB1}\x{7EB2}\x{7EB3}\x{7EB4}\x{7EB5}\x{7EB6}' - . '\x{7EB7}\x{7EB8}\x{7EB9}\x{7EBA}\x{7EBB}\x{7EBC}\x{7EBD}\x{7EBE}\x{7EBF}' - . '\x{7EC0}\x{7EC1}\x{7EC2}\x{7EC3}\x{7EC4}\x{7EC5}\x{7EC6}\x{7EC7}\x{7EC8}' - . '\x{7EC9}\x{7ECA}\x{7ECB}\x{7ECC}\x{7ECD}\x{7ECE}\x{7ECF}\x{7ED0}\x{7ED1}' - . '\x{7ED2}\x{7ED3}\x{7ED4}\x{7ED5}\x{7ED6}\x{7ED7}\x{7ED8}\x{7ED9}\x{7EDA}' - . '\x{7EDB}\x{7EDC}\x{7EDD}\x{7EDE}\x{7EDF}\x{7EE0}\x{7EE1}\x{7EE2}\x{7EE3}' - . '\x{7EE4}\x{7EE5}\x{7EE6}\x{7EE7}\x{7EE8}\x{7EE9}\x{7EEA}\x{7EEB}\x{7EEC}' - . '\x{7EED}\x{7EEE}\x{7EEF}\x{7EF0}\x{7EF1}\x{7EF2}\x{7EF3}\x{7EF4}\x{7EF5}' - . '\x{7EF6}\x{7EF7}\x{7EF8}\x{7EF9}\x{7EFA}\x{7EFB}\x{7EFC}\x{7EFD}\x{7EFE}' - . '\x{7EFF}\x{7F00}\x{7F01}\x{7F02}\x{7F03}\x{7F04}\x{7F05}\x{7F06}\x{7F07}' - . '\x{7F08}\x{7F09}\x{7F0A}\x{7F0B}\x{7F0C}\x{7F0D}\x{7F0E}\x{7F0F}\x{7F10}' - . '\x{7F11}\x{7F12}\x{7F13}\x{7F14}\x{7F15}\x{7F16}\x{7F17}\x{7F18}\x{7F19}' - . '\x{7F1A}\x{7F1B}\x{7F1C}\x{7F1D}\x{7F1E}\x{7F1F}\x{7F20}\x{7F21}\x{7F22}' - . '\x{7F23}\x{7F24}\x{7F25}\x{7F26}\x{7F27}\x{7F28}\x{7F29}\x{7F2A}\x{7F2B}' - . '\x{7F2C}\x{7F2D}\x{7F2E}\x{7F2F}\x{7F30}\x{7F31}\x{7F32}\x{7F33}\x{7F34}' - . '\x{7F35}\x{7F36}\x{7F37}\x{7F38}\x{7F39}\x{7F3A}\x{7F3D}\x{7F3E}\x{7F3F}' - . '\x{7F40}\x{7F42}\x{7F43}\x{7F44}\x{7F45}\x{7F47}\x{7F48}\x{7F49}\x{7F4A}' - . '\x{7F4B}\x{7F4C}\x{7F4D}\x{7F4E}\x{7F4F}\x{7F50}\x{7F51}\x{7F52}\x{7F53}' - . '\x{7F54}\x{7F55}\x{7F56}\x{7F57}\x{7F58}\x{7F5A}\x{7F5B}\x{7F5C}\x{7F5D}' - . '\x{7F5E}\x{7F5F}\x{7F60}\x{7F61}\x{7F62}\x{7F63}\x{7F64}\x{7F65}\x{7F66}' - . '\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6C}\x{7F6D}\x{7F6E}\x{7F6F}' - . '\x{7F70}\x{7F71}\x{7F72}\x{7F73}\x{7F74}\x{7F75}\x{7F76}\x{7F77}\x{7F78}' - . '\x{7F79}\x{7F7A}\x{7F7B}\x{7F7C}\x{7F7D}\x{7F7E}\x{7F7F}\x{7F80}\x{7F81}' - . '\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}\x{7F88}\x{7F89}\x{7F8A}\x{7F8B}' - . '\x{7F8C}\x{7F8D}\x{7F8E}\x{7F8F}\x{7F91}\x{7F92}\x{7F93}\x{7F94}\x{7F95}' - . '\x{7F96}\x{7F98}\x{7F9A}\x{7F9B}\x{7F9C}\x{7F9D}\x{7F9E}\x{7F9F}\x{7FA0}' - . '\x{7FA1}\x{7FA2}\x{7FA3}\x{7FA4}\x{7FA5}\x{7FA6}\x{7FA7}\x{7FA8}\x{7FA9}' - . '\x{7FAA}\x{7FAB}\x{7FAC}\x{7FAD}\x{7FAE}\x{7FAF}\x{7FB0}\x{7FB1}\x{7FB2}' - . '\x{7FB3}\x{7FB5}\x{7FB6}\x{7FB7}\x{7FB8}\x{7FB9}\x{7FBA}\x{7FBB}\x{7FBC}' - . '\x{7FBD}\x{7FBE}\x{7FBF}\x{7FC0}\x{7FC1}\x{7FC2}\x{7FC3}\x{7FC4}\x{7FC5}' - . '\x{7FC6}\x{7FC7}\x{7FC8}\x{7FC9}\x{7FCA}\x{7FCB}\x{7FCC}\x{7FCD}\x{7FCE}' - . '\x{7FCF}\x{7FD0}\x{7FD1}\x{7FD2}\x{7FD3}\x{7FD4}\x{7FD5}\x{7FD7}\x{7FD8}' - . '\x{7FD9}\x{7FDA}\x{7FDB}\x{7FDC}\x{7FDE}\x{7FDF}\x{7FE0}\x{7FE1}\x{7FE2}' - . '\x{7FE3}\x{7FE5}\x{7FE6}\x{7FE7}\x{7FE8}\x{7FE9}\x{7FEA}\x{7FEB}\x{7FEC}' - . '\x{7FED}\x{7FEE}\x{7FEF}\x{7FF0}\x{7FF1}\x{7FF2}\x{7FF3}\x{7FF4}\x{7FF5}' - . '\x{7FF6}\x{7FF7}\x{7FF8}\x{7FF9}\x{7FFA}\x{7FFB}\x{7FFC}\x{7FFD}\x{7FFE}' - . '\x{7FFF}\x{8000}\x{8001}\x{8002}\x{8003}\x{8004}\x{8005}\x{8006}\x{8007}' - . '\x{8008}\x{8009}\x{800B}\x{800C}\x{800D}\x{800E}\x{800F}\x{8010}\x{8011}' - . '\x{8012}\x{8013}\x{8014}\x{8015}\x{8016}\x{8017}\x{8018}\x{8019}\x{801A}' - . '\x{801B}\x{801C}\x{801D}\x{801E}\x{801F}\x{8020}\x{8021}\x{8022}\x{8023}' - . '\x{8024}\x{8025}\x{8026}\x{8027}\x{8028}\x{8029}\x{802A}\x{802B}\x{802C}' - . '\x{802D}\x{802E}\x{8030}\x{8031}\x{8032}\x{8033}\x{8034}\x{8035}\x{8036}' - . '\x{8037}\x{8038}\x{8039}\x{803A}\x{803B}\x{803D}\x{803E}\x{803F}\x{8041}' - . '\x{8042}\x{8043}\x{8044}\x{8045}\x{8046}\x{8047}\x{8048}\x{8049}\x{804A}' - . '\x{804B}\x{804C}\x{804D}\x{804E}\x{804F}\x{8050}\x{8051}\x{8052}\x{8053}' - . '\x{8054}\x{8055}\x{8056}\x{8057}\x{8058}\x{8059}\x{805A}\x{805B}\x{805C}' - . '\x{805D}\x{805E}\x{805F}\x{8060}\x{8061}\x{8062}\x{8063}\x{8064}\x{8065}' - . '\x{8067}\x{8068}\x{8069}\x{806A}\x{806B}\x{806C}\x{806D}\x{806E}\x{806F}' - . '\x{8070}\x{8071}\x{8072}\x{8073}\x{8074}\x{8075}\x{8076}\x{8077}\x{8078}' - . '\x{8079}\x{807A}\x{807B}\x{807C}\x{807D}\x{807E}\x{807F}\x{8080}\x{8081}' - . '\x{8082}\x{8083}\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808A}\x{808B}' - . '\x{808C}\x{808D}\x{808F}\x{8090}\x{8091}\x{8092}\x{8093}\x{8095}\x{8096}' - . '\x{8097}\x{8098}\x{8099}\x{809A}\x{809B}\x{809C}\x{809D}\x{809E}\x{809F}' - . '\x{80A0}\x{80A1}\x{80A2}\x{80A3}\x{80A4}\x{80A5}\x{80A9}\x{80AA}\x{80AB}' - . '\x{80AD}\x{80AE}\x{80AF}\x{80B0}\x{80B1}\x{80B2}\x{80B4}\x{80B5}\x{80B6}' - . '\x{80B7}\x{80B8}\x{80BA}\x{80BB}\x{80BC}\x{80BD}\x{80BE}\x{80BF}\x{80C0}' - . '\x{80C1}\x{80C2}\x{80C3}\x{80C4}\x{80C5}\x{80C6}\x{80C7}\x{80C8}\x{80C9}' - . '\x{80CA}\x{80CB}\x{80CC}\x{80CD}\x{80CE}\x{80CF}\x{80D0}\x{80D1}\x{80D2}' - . '\x{80D3}\x{80D4}\x{80D5}\x{80D6}\x{80D7}\x{80D8}\x{80D9}\x{80DA}\x{80DB}' - . '\x{80DC}\x{80DD}\x{80DE}\x{80E0}\x{80E1}\x{80E2}\x{80E3}\x{80E4}\x{80E5}' - . '\x{80E6}\x{80E7}\x{80E8}\x{80E9}\x{80EA}\x{80EB}\x{80EC}\x{80ED}\x{80EE}' - . '\x{80EF}\x{80F0}\x{80F1}\x{80F2}\x{80F3}\x{80F4}\x{80F5}\x{80F6}\x{80F7}' - . '\x{80F8}\x{80F9}\x{80FA}\x{80FB}\x{80FC}\x{80FD}\x{80FE}\x{80FF}\x{8100}' - . '\x{8101}\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{810B}' - . '\x{810C}\x{810D}\x{810E}\x{810F}\x{8110}\x{8111}\x{8112}\x{8113}\x{8114}' - . '\x{8115}\x{8116}\x{8118}\x{8119}\x{811A}\x{811B}\x{811C}\x{811D}\x{811E}' - . '\x{811F}\x{8120}\x{8121}\x{8122}\x{8123}\x{8124}\x{8125}\x{8126}\x{8127}' - . '\x{8128}\x{8129}\x{812A}\x{812B}\x{812C}\x{812D}\x{812E}\x{812F}\x{8130}' - . '\x{8131}\x{8132}\x{8136}\x{8137}\x{8138}\x{8139}\x{813A}\x{813B}\x{813C}' - . '\x{813D}\x{813E}\x{813F}\x{8140}\x{8141}\x{8142}\x{8143}\x{8144}\x{8145}' - . '\x{8146}\x{8147}\x{8148}\x{8149}\x{814A}\x{814B}\x{814C}\x{814D}\x{814E}' - . '\x{814F}\x{8150}\x{8151}\x{8152}\x{8153}\x{8154}\x{8155}\x{8156}\x{8157}' - . '\x{8158}\x{8159}\x{815A}\x{815B}\x{815C}\x{815D}\x{815E}\x{8160}\x{8161}' - . '\x{8162}\x{8163}\x{8164}\x{8165}\x{8166}\x{8167}\x{8168}\x{8169}\x{816A}' - . '\x{816B}\x{816C}\x{816D}\x{816E}\x{816F}\x{8170}\x{8171}\x{8172}\x{8173}' - . '\x{8174}\x{8175}\x{8176}\x{8177}\x{8178}\x{8179}\x{817A}\x{817B}\x{817C}' - . '\x{817D}\x{817E}\x{817F}\x{8180}\x{8181}\x{8182}\x{8183}\x{8185}\x{8186}' - . '\x{8187}\x{8188}\x{8189}\x{818A}\x{818B}\x{818C}\x{818D}\x{818E}\x{818F}' - . '\x{8191}\x{8192}\x{8193}\x{8194}\x{8195}\x{8197}\x{8198}\x{8199}\x{819A}' - . '\x{819B}\x{819C}\x{819D}\x{819E}\x{819F}\x{81A0}\x{81A1}\x{81A2}\x{81A3}' - . '\x{81A4}\x{81A5}\x{81A6}\x{81A7}\x{81A8}\x{81A9}\x{81AA}\x{81AB}\x{81AC}' - . '\x{81AD}\x{81AE}\x{81AF}\x{81B0}\x{81B1}\x{81B2}\x{81B3}\x{81B4}\x{81B5}' - . '\x{81B6}\x{81B7}\x{81B8}\x{81B9}\x{81BA}\x{81BB}\x{81BC}\x{81BD}\x{81BE}' - . '\x{81BF}\x{81C0}\x{81C1}\x{81C2}\x{81C3}\x{81C4}\x{81C5}\x{81C6}\x{81C7}' - . '\x{81C8}\x{81C9}\x{81CA}\x{81CC}\x{81CD}\x{81CE}\x{81CF}\x{81D0}\x{81D1}' - . '\x{81D2}\x{81D4}\x{81D5}\x{81D6}\x{81D7}\x{81D8}\x{81D9}\x{81DA}\x{81DB}' - . '\x{81DC}\x{81DD}\x{81DE}\x{81DF}\x{81E0}\x{81E1}\x{81E2}\x{81E3}\x{81E5}' - . '\x{81E6}\x{81E7}\x{81E8}\x{81E9}\x{81EA}\x{81EB}\x{81EC}\x{81ED}\x{81EE}' - . '\x{81F1}\x{81F2}\x{81F3}\x{81F4}\x{81F5}\x{81F6}\x{81F7}\x{81F8}\x{81F9}' - . '\x{81FA}\x{81FB}\x{81FC}\x{81FD}\x{81FE}\x{81FF}\x{8200}\x{8201}\x{8202}' - . '\x{8203}\x{8204}\x{8205}\x{8206}\x{8207}\x{8208}\x{8209}\x{820A}\x{820B}' - . '\x{820C}\x{820D}\x{820E}\x{820F}\x{8210}\x{8211}\x{8212}\x{8214}\x{8215}' - . '\x{8216}\x{8218}\x{8219}\x{821A}\x{821B}\x{821C}\x{821D}\x{821E}\x{821F}' - . '\x{8220}\x{8221}\x{8222}\x{8223}\x{8225}\x{8226}\x{8227}\x{8228}\x{8229}' - . '\x{822A}\x{822B}\x{822C}\x{822D}\x{822F}\x{8230}\x{8231}\x{8232}\x{8233}' - . '\x{8234}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{823A}\x{823B}\x{823C}' - . '\x{823D}\x{823E}\x{823F}\x{8240}\x{8242}\x{8243}\x{8244}\x{8245}\x{8246}' - . '\x{8247}\x{8248}\x{8249}\x{824A}\x{824B}\x{824C}\x{824D}\x{824E}\x{824F}' - . '\x{8250}\x{8251}\x{8252}\x{8253}\x{8254}\x{8255}\x{8256}\x{8257}\x{8258}' - . '\x{8259}\x{825A}\x{825B}\x{825C}\x{825D}\x{825E}\x{825F}\x{8260}\x{8261}' - . '\x{8263}\x{8264}\x{8266}\x{8267}\x{8268}\x{8269}\x{826A}\x{826B}\x{826C}' - . '\x{826D}\x{826E}\x{826F}\x{8270}\x{8271}\x{8272}\x{8273}\x{8274}\x{8275}' - . '\x{8276}\x{8277}\x{8278}\x{8279}\x{827A}\x{827B}\x{827C}\x{827D}\x{827E}' - . '\x{827F}\x{8280}\x{8281}\x{8282}\x{8283}\x{8284}\x{8285}\x{8286}\x{8287}' - . '\x{8288}\x{8289}\x{828A}\x{828B}\x{828D}\x{828E}\x{828F}\x{8290}\x{8291}' - . '\x{8292}\x{8293}\x{8294}\x{8295}\x{8296}\x{8297}\x{8298}\x{8299}\x{829A}' - . '\x{829B}\x{829C}\x{829D}\x{829E}\x{829F}\x{82A0}\x{82A1}\x{82A2}\x{82A3}' - . '\x{82A4}\x{82A5}\x{82A6}\x{82A7}\x{82A8}\x{82A9}\x{82AA}\x{82AB}\x{82AC}' - . '\x{82AD}\x{82AE}\x{82AF}\x{82B0}\x{82B1}\x{82B3}\x{82B4}\x{82B5}\x{82B6}' - . '\x{82B7}\x{82B8}\x{82B9}\x{82BA}\x{82BB}\x{82BC}\x{82BD}\x{82BE}\x{82BF}' - . '\x{82C0}\x{82C1}\x{82C2}\x{82C3}\x{82C4}\x{82C5}\x{82C6}\x{82C7}\x{82C8}' - . '\x{82C9}\x{82CA}\x{82CB}\x{82CC}\x{82CD}\x{82CE}\x{82CF}\x{82D0}\x{82D1}' - . '\x{82D2}\x{82D3}\x{82D4}\x{82D5}\x{82D6}\x{82D7}\x{82D8}\x{82D9}\x{82DA}' - . '\x{82DB}\x{82DC}\x{82DD}\x{82DE}\x{82DF}\x{82E0}\x{82E1}\x{82E3}\x{82E4}' - . '\x{82E5}\x{82E6}\x{82E7}\x{82E8}\x{82E9}\x{82EA}\x{82EB}\x{82EC}\x{82ED}' - . '\x{82EE}\x{82EF}\x{82F0}\x{82F1}\x{82F2}\x{82F3}\x{82F4}\x{82F5}\x{82F6}' - . '\x{82F7}\x{82F8}\x{82F9}\x{82FA}\x{82FB}\x{82FD}\x{82FE}\x{82FF}\x{8300}' - . '\x{8301}\x{8302}\x{8303}\x{8304}\x{8305}\x{8306}\x{8307}\x{8308}\x{8309}' - . '\x{830B}\x{830C}\x{830D}\x{830E}\x{830F}\x{8311}\x{8312}\x{8313}\x{8314}' - . '\x{8315}\x{8316}\x{8317}\x{8318}\x{8319}\x{831A}\x{831B}\x{831C}\x{831D}' - . '\x{831E}\x{831F}\x{8320}\x{8321}\x{8322}\x{8323}\x{8324}\x{8325}\x{8326}' - . '\x{8327}\x{8328}\x{8329}\x{832A}\x{832B}\x{832C}\x{832D}\x{832E}\x{832F}' - . '\x{8331}\x{8332}\x{8333}\x{8334}\x{8335}\x{8336}\x{8337}\x{8338}\x{8339}' - . '\x{833A}\x{833B}\x{833C}\x{833D}\x{833E}\x{833F}\x{8340}\x{8341}\x{8342}' - . '\x{8343}\x{8344}\x{8345}\x{8346}\x{8347}\x{8348}\x{8349}\x{834A}\x{834B}' - . '\x{834C}\x{834D}\x{834E}\x{834F}\x{8350}\x{8351}\x{8352}\x{8353}\x{8354}' - . '\x{8356}\x{8357}\x{8358}\x{8359}\x{835A}\x{835B}\x{835C}\x{835D}\x{835E}' - . '\x{835F}\x{8360}\x{8361}\x{8362}\x{8363}\x{8364}\x{8365}\x{8366}\x{8367}' - . '\x{8368}\x{8369}\x{836A}\x{836B}\x{836C}\x{836D}\x{836E}\x{836F}\x{8370}' - . '\x{8371}\x{8372}\x{8373}\x{8374}\x{8375}\x{8376}\x{8377}\x{8378}\x{8379}' - . '\x{837A}\x{837B}\x{837C}\x{837D}\x{837E}\x{837F}\x{8380}\x{8381}\x{8382}' - . '\x{8383}\x{8384}\x{8385}\x{8386}\x{8387}\x{8388}\x{8389}\x{838A}\x{838B}' - . '\x{838C}\x{838D}\x{838E}\x{838F}\x{8390}\x{8391}\x{8392}\x{8393}\x{8394}' - . '\x{8395}\x{8396}\x{8397}\x{8398}\x{8399}\x{839A}\x{839B}\x{839C}\x{839D}' - . '\x{839E}\x{83A0}\x{83A1}\x{83A2}\x{83A3}\x{83A4}\x{83A5}\x{83A6}\x{83A7}' - . '\x{83A8}\x{83A9}\x{83AA}\x{83AB}\x{83AC}\x{83AD}\x{83AE}\x{83AF}\x{83B0}' - . '\x{83B1}\x{83B2}\x{83B3}\x{83B4}\x{83B6}\x{83B7}\x{83B8}\x{83B9}\x{83BA}' - . '\x{83BB}\x{83BC}\x{83BD}\x{83BF}\x{83C0}\x{83C1}\x{83C2}\x{83C3}\x{83C4}' - . '\x{83C5}\x{83C6}\x{83C7}\x{83C8}\x{83C9}\x{83CA}\x{83CB}\x{83CC}\x{83CD}' - . '\x{83CE}\x{83CF}\x{83D0}\x{83D1}\x{83D2}\x{83D3}\x{83D4}\x{83D5}\x{83D6}' - . '\x{83D7}\x{83D8}\x{83D9}\x{83DA}\x{83DB}\x{83DC}\x{83DD}\x{83DE}\x{83DF}' - . '\x{83E0}\x{83E1}\x{83E2}\x{83E3}\x{83E4}\x{83E5}\x{83E7}\x{83E8}\x{83E9}' - . '\x{83EA}\x{83EB}\x{83EC}\x{83EE}\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F3}' - . '\x{83F4}\x{83F5}\x{83F6}\x{83F7}\x{83F8}\x{83F9}\x{83FA}\x{83FB}\x{83FC}' - . '\x{83FD}\x{83FE}\x{83FF}\x{8400}\x{8401}\x{8402}\x{8403}\x{8404}\x{8405}' - . '\x{8406}\x{8407}\x{8408}\x{8409}\x{840A}\x{840B}\x{840C}\x{840D}\x{840E}' - . '\x{840F}\x{8410}\x{8411}\x{8412}\x{8413}\x{8415}\x{8418}\x{8419}\x{841A}' - . '\x{841B}\x{841C}\x{841D}\x{841E}\x{8421}\x{8422}\x{8423}\x{8424}\x{8425}' - . '\x{8426}\x{8427}\x{8428}\x{8429}\x{842A}\x{842B}\x{842C}\x{842D}\x{842E}' - . '\x{842F}\x{8430}\x{8431}\x{8432}\x{8433}\x{8434}\x{8435}\x{8436}\x{8437}' - . '\x{8438}\x{8439}\x{843A}\x{843B}\x{843C}\x{843D}\x{843E}\x{843F}\x{8440}' - . '\x{8441}\x{8442}\x{8443}\x{8444}\x{8445}\x{8446}\x{8447}\x{8448}\x{8449}' - . '\x{844A}\x{844B}\x{844C}\x{844D}\x{844E}\x{844F}\x{8450}\x{8451}\x{8452}' - . '\x{8453}\x{8454}\x{8455}\x{8456}\x{8457}\x{8459}\x{845A}\x{845B}\x{845C}' - . '\x{845D}\x{845E}\x{845F}\x{8460}\x{8461}\x{8462}\x{8463}\x{8464}\x{8465}' - . '\x{8466}\x{8467}\x{8468}\x{8469}\x{846A}\x{846B}\x{846C}\x{846D}\x{846E}' - . '\x{846F}\x{8470}\x{8471}\x{8472}\x{8473}\x{8474}\x{8475}\x{8476}\x{8477}' - . '\x{8478}\x{8479}\x{847A}\x{847B}\x{847C}\x{847D}\x{847E}\x{847F}\x{8480}' - . '\x{8481}\x{8482}\x{8484}\x{8485}\x{8486}\x{8487}\x{8488}\x{8489}\x{848A}' - . '\x{848B}\x{848C}\x{848D}\x{848E}\x{848F}\x{8490}\x{8491}\x{8492}\x{8493}' - . '\x{8494}\x{8496}\x{8497}\x{8498}\x{8499}\x{849A}\x{849B}\x{849C}\x{849D}' - . '\x{849E}\x{849F}\x{84A0}\x{84A1}\x{84A2}\x{84A3}\x{84A4}\x{84A5}\x{84A6}' - . '\x{84A7}\x{84A8}\x{84A9}\x{84AA}\x{84AB}\x{84AC}\x{84AE}\x{84AF}\x{84B0}' - . '\x{84B1}\x{84B2}\x{84B3}\x{84B4}\x{84B5}\x{84B6}\x{84B8}\x{84B9}\x{84BA}' - . '\x{84BB}\x{84BC}\x{84BD}\x{84BE}\x{84BF}\x{84C0}\x{84C1}\x{84C2}\x{84C4}' - . '\x{84C5}\x{84C6}\x{84C7}\x{84C8}\x{84C9}\x{84CA}\x{84CB}\x{84CC}\x{84CD}' - . '\x{84CE}\x{84CF}\x{84D0}\x{84D1}\x{84D2}\x{84D3}\x{84D4}\x{84D5}\x{84D6}' - . '\x{84D7}\x{84D8}\x{84D9}\x{84DB}\x{84DC}\x{84DD}\x{84DE}\x{84DF}\x{84E0}' - . '\x{84E1}\x{84E2}\x{84E3}\x{84E4}\x{84E5}\x{84E6}\x{84E7}\x{84E8}\x{84E9}' - . '\x{84EA}\x{84EB}\x{84EC}\x{84EE}\x{84EF}\x{84F0}\x{84F1}\x{84F2}\x{84F3}' - . '\x{84F4}\x{84F5}\x{84F6}\x{84F7}\x{84F8}\x{84F9}\x{84FA}\x{84FB}\x{84FC}' - . '\x{84FD}\x{84FE}\x{84FF}\x{8500}\x{8501}\x{8502}\x{8503}\x{8504}\x{8506}' - . '\x{8507}\x{8508}\x{8509}\x{850A}\x{850B}\x{850C}\x{850D}\x{850E}\x{850F}' - . '\x{8511}\x{8512}\x{8513}\x{8514}\x{8515}\x{8516}\x{8517}\x{8518}\x{8519}' - . '\x{851A}\x{851B}\x{851C}\x{851D}\x{851E}\x{851F}\x{8520}\x{8521}\x{8522}' - . '\x{8523}\x{8524}\x{8525}\x{8526}\x{8527}\x{8528}\x{8529}\x{852A}\x{852B}' - . '\x{852C}\x{852D}\x{852E}\x{852F}\x{8530}\x{8531}\x{8534}\x{8535}\x{8536}' - . '\x{8537}\x{8538}\x{8539}\x{853A}\x{853B}\x{853C}\x{853D}\x{853E}\x{853F}' - . '\x{8540}\x{8541}\x{8542}\x{8543}\x{8544}\x{8545}\x{8546}\x{8547}\x{8548}' - . '\x{8549}\x{854A}\x{854B}\x{854D}\x{854E}\x{854F}\x{8551}\x{8552}\x{8553}' - . '\x{8554}\x{8555}\x{8556}\x{8557}\x{8558}\x{8559}\x{855A}\x{855B}\x{855C}' - . '\x{855D}\x{855E}\x{855F}\x{8560}\x{8561}\x{8562}\x{8563}\x{8564}\x{8565}' - . '\x{8566}\x{8567}\x{8568}\x{8569}\x{856A}\x{856B}\x{856C}\x{856D}\x{856E}' - . '\x{856F}\x{8570}\x{8571}\x{8572}\x{8573}\x{8574}\x{8575}\x{8576}\x{8577}' - . '\x{8578}\x{8579}\x{857A}\x{857B}\x{857C}\x{857D}\x{857E}\x{8580}\x{8581}' - . '\x{8582}\x{8583}\x{8584}\x{8585}\x{8586}\x{8587}\x{8588}\x{8589}\x{858A}' - . '\x{858B}\x{858C}\x{858D}\x{858E}\x{858F}\x{8590}\x{8591}\x{8592}\x{8594}' - . '\x{8595}\x{8596}\x{8598}\x{8599}\x{859A}\x{859B}\x{859C}\x{859D}\x{859E}' - . '\x{859F}\x{85A0}\x{85A1}\x{85A2}\x{85A3}\x{85A4}\x{85A5}\x{85A6}\x{85A7}' - . '\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AD}\x{85AE}\x{85AF}\x{85B0}' - . '\x{85B1}\x{85B3}\x{85B4}\x{85B5}\x{85B6}\x{85B7}\x{85B8}\x{85B9}\x{85BA}' - . '\x{85BC}\x{85BD}\x{85BE}\x{85BF}\x{85C0}\x{85C1}\x{85C2}\x{85C3}\x{85C4}' - . '\x{85C5}\x{85C6}\x{85C7}\x{85C8}\x{85C9}\x{85CA}\x{85CB}\x{85CD}\x{85CE}' - . '\x{85CF}\x{85D0}\x{85D1}\x{85D2}\x{85D3}\x{85D4}\x{85D5}\x{85D6}\x{85D7}' - . '\x{85D8}\x{85D9}\x{85DA}\x{85DB}\x{85DC}\x{85DD}\x{85DE}\x{85DF}\x{85E0}' - . '\x{85E1}\x{85E2}\x{85E3}\x{85E4}\x{85E5}\x{85E6}\x{85E7}\x{85E8}\x{85E9}' - . '\x{85EA}\x{85EB}\x{85EC}\x{85ED}\x{85EF}\x{85F0}\x{85F1}\x{85F2}\x{85F4}' - . '\x{85F5}\x{85F6}\x{85F7}\x{85F8}\x{85F9}\x{85FA}\x{85FB}\x{85FD}\x{85FE}' - . '\x{85FF}\x{8600}\x{8601}\x{8602}\x{8604}\x{8605}\x{8606}\x{8607}\x{8608}' - . '\x{8609}\x{860A}\x{860B}\x{860C}\x{860F}\x{8611}\x{8612}\x{8613}\x{8614}' - . '\x{8616}\x{8617}\x{8618}\x{8619}\x{861A}\x{861B}\x{861C}\x{861E}\x{861F}' - . '\x{8620}\x{8621}\x{8622}\x{8623}\x{8624}\x{8625}\x{8626}\x{8627}\x{8628}' - . '\x{8629}\x{862A}\x{862B}\x{862C}\x{862D}\x{862E}\x{862F}\x{8630}\x{8631}' - . '\x{8632}\x{8633}\x{8634}\x{8635}\x{8636}\x{8638}\x{8639}\x{863A}\x{863B}' - . '\x{863C}\x{863D}\x{863E}\x{863F}\x{8640}\x{8641}\x{8642}\x{8643}\x{8644}' - . '\x{8645}\x{8646}\x{8647}\x{8648}\x{8649}\x{864A}\x{864B}\x{864C}\x{864D}' - . '\x{864E}\x{864F}\x{8650}\x{8651}\x{8652}\x{8653}\x{8654}\x{8655}\x{8656}' - . '\x{8658}\x{8659}\x{865A}\x{865B}\x{865C}\x{865D}\x{865E}\x{865F}\x{8660}' - . '\x{8661}\x{8662}\x{8663}\x{8664}\x{8665}\x{8666}\x{8667}\x{8668}\x{8669}' - . '\x{866A}\x{866B}\x{866C}\x{866D}\x{866E}\x{866F}\x{8670}\x{8671}\x{8672}' - . '\x{8673}\x{8674}\x{8676}\x{8677}\x{8678}\x{8679}\x{867A}\x{867B}\x{867C}' - . '\x{867D}\x{867E}\x{867F}\x{8680}\x{8681}\x{8682}\x{8683}\x{8684}\x{8685}' - . '\x{8686}\x{8687}\x{8688}\x{868A}\x{868B}\x{868C}\x{868D}\x{868E}\x{868F}' - . '\x{8690}\x{8691}\x{8693}\x{8694}\x{8695}\x{8696}\x{8697}\x{8698}\x{8699}' - . '\x{869A}\x{869B}\x{869C}\x{869D}\x{869E}\x{869F}\x{86A1}\x{86A2}\x{86A3}' - . '\x{86A4}\x{86A5}\x{86A7}\x{86A8}\x{86A9}\x{86AA}\x{86AB}\x{86AC}\x{86AD}' - . '\x{86AE}\x{86AF}\x{86B0}\x{86B1}\x{86B2}\x{86B3}\x{86B4}\x{86B5}\x{86B6}' - . '\x{86B7}\x{86B8}\x{86B9}\x{86BA}\x{86BB}\x{86BC}\x{86BD}\x{86BE}\x{86BF}' - . '\x{86C0}\x{86C1}\x{86C2}\x{86C3}\x{86C4}\x{86C5}\x{86C6}\x{86C7}\x{86C8}' - . '\x{86C9}\x{86CA}\x{86CB}\x{86CC}\x{86CE}\x{86CF}\x{86D0}\x{86D1}\x{86D2}' - . '\x{86D3}\x{86D4}\x{86D6}\x{86D7}\x{86D8}\x{86D9}\x{86DA}\x{86DB}\x{86DC}' - . '\x{86DD}\x{86DE}\x{86DF}\x{86E1}\x{86E2}\x{86E3}\x{86E4}\x{86E5}\x{86E6}' - . '\x{86E8}\x{86E9}\x{86EA}\x{86EB}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F0}' - . '\x{86F1}\x{86F2}\x{86F3}\x{86F4}\x{86F5}\x{86F6}\x{86F7}\x{86F8}\x{86F9}' - . '\x{86FA}\x{86FB}\x{86FC}\x{86FE}\x{86FF}\x{8700}\x{8701}\x{8702}\x{8703}' - . '\x{8704}\x{8705}\x{8706}\x{8707}\x{8708}\x{8709}\x{870A}\x{870B}\x{870C}' - . '\x{870D}\x{870E}\x{870F}\x{8710}\x{8711}\x{8712}\x{8713}\x{8714}\x{8715}' - . '\x{8716}\x{8717}\x{8718}\x{8719}\x{871A}\x{871B}\x{871C}\x{871E}\x{871F}' - . '\x{8720}\x{8721}\x{8722}\x{8723}\x{8724}\x{8725}\x{8726}\x{8727}\x{8728}' - . '\x{8729}\x{872A}\x{872B}\x{872C}\x{872D}\x{872E}\x{8730}\x{8731}\x{8732}' - . '\x{8733}\x{8734}\x{8735}\x{8736}\x{8737}\x{8738}\x{8739}\x{873A}\x{873B}' - . '\x{873C}\x{873E}\x{873F}\x{8740}\x{8741}\x{8742}\x{8743}\x{8744}\x{8746}' - . '\x{8747}\x{8748}\x{8749}\x{874A}\x{874C}\x{874D}\x{874E}\x{874F}\x{8750}' - . '\x{8751}\x{8752}\x{8753}\x{8754}\x{8755}\x{8756}\x{8757}\x{8758}\x{8759}' - . '\x{875A}\x{875B}\x{875C}\x{875D}\x{875E}\x{875F}\x{8760}\x{8761}\x{8762}' - . '\x{8763}\x{8764}\x{8765}\x{8766}\x{8767}\x{8768}\x{8769}\x{876A}\x{876B}' - . '\x{876C}\x{876D}\x{876E}\x{876F}\x{8770}\x{8772}\x{8773}\x{8774}\x{8775}' - . '\x{8776}\x{8777}\x{8778}\x{8779}\x{877A}\x{877B}\x{877C}\x{877D}\x{877E}' - . '\x{8780}\x{8781}\x{8782}\x{8783}\x{8784}\x{8785}\x{8786}\x{8787}\x{8788}' - . '\x{8789}\x{878A}\x{878B}\x{878C}\x{878D}\x{878F}\x{8790}\x{8791}\x{8792}' - . '\x{8793}\x{8794}\x{8795}\x{8796}\x{8797}\x{8798}\x{879A}\x{879B}\x{879C}' - . '\x{879D}\x{879E}\x{879F}\x{87A0}\x{87A1}\x{87A2}\x{87A3}\x{87A4}\x{87A5}' - . '\x{87A6}\x{87A7}\x{87A8}\x{87A9}\x{87AA}\x{87AB}\x{87AC}\x{87AD}\x{87AE}' - . '\x{87AF}\x{87B0}\x{87B1}\x{87B2}\x{87B3}\x{87B4}\x{87B5}\x{87B6}\x{87B7}' - . '\x{87B8}\x{87B9}\x{87BA}\x{87BB}\x{87BC}\x{87BD}\x{87BE}\x{87BF}\x{87C0}' - . '\x{87C1}\x{87C2}\x{87C3}\x{87C4}\x{87C5}\x{87C6}\x{87C7}\x{87C8}\x{87C9}' - . '\x{87CA}\x{87CB}\x{87CC}\x{87CD}\x{87CE}\x{87CF}\x{87D0}\x{87D1}\x{87D2}' - . '\x{87D3}\x{87D4}\x{87D5}\x{87D6}\x{87D7}\x{87D8}\x{87D9}\x{87DB}\x{87DC}' - . '\x{87DD}\x{87DE}\x{87DF}\x{87E0}\x{87E1}\x{87E2}\x{87E3}\x{87E4}\x{87E5}' - . '\x{87E6}\x{87E7}\x{87E8}\x{87E9}\x{87EA}\x{87EB}\x{87EC}\x{87ED}\x{87EE}' - . '\x{87EF}\x{87F1}\x{87F2}\x{87F3}\x{87F4}\x{87F5}\x{87F6}\x{87F7}\x{87F8}' - . '\x{87F9}\x{87FA}\x{87FB}\x{87FC}\x{87FD}\x{87FE}\x{87FF}\x{8800}\x{8801}' - . '\x{8802}\x{8803}\x{8804}\x{8805}\x{8806}\x{8808}\x{8809}\x{880A}\x{880B}' - . '\x{880C}\x{880D}\x{880E}\x{880F}\x{8810}\x{8811}\x{8813}\x{8814}\x{8815}' - . '\x{8816}\x{8817}\x{8818}\x{8819}\x{881A}\x{881B}\x{881C}\x{881D}\x{881E}' - . '\x{881F}\x{8820}\x{8821}\x{8822}\x{8823}\x{8824}\x{8825}\x{8826}\x{8827}' - . '\x{8828}\x{8829}\x{882A}\x{882B}\x{882C}\x{882E}\x{882F}\x{8830}\x{8831}' - . '\x{8832}\x{8833}\x{8834}\x{8835}\x{8836}\x{8837}\x{8838}\x{8839}\x{883B}' - . '\x{883C}\x{883D}\x{883E}\x{883F}\x{8840}\x{8841}\x{8842}\x{8843}\x{8844}' - . '\x{8845}\x{8846}\x{8848}\x{8849}\x{884A}\x{884B}\x{884C}\x{884D}\x{884E}' - . '\x{884F}\x{8850}\x{8851}\x{8852}\x{8853}\x{8854}\x{8855}\x{8856}\x{8857}' - . '\x{8859}\x{885A}\x{885B}\x{885D}\x{885E}\x{8860}\x{8861}\x{8862}\x{8863}' - . '\x{8864}\x{8865}\x{8866}\x{8867}\x{8868}\x{8869}\x{886A}\x{886B}\x{886C}' - . '\x{886D}\x{886E}\x{886F}\x{8870}\x{8871}\x{8872}\x{8873}\x{8874}\x{8875}' - . '\x{8876}\x{8877}\x{8878}\x{8879}\x{887B}\x{887C}\x{887D}\x{887E}\x{887F}' - . '\x{8880}\x{8881}\x{8882}\x{8883}\x{8884}\x{8885}\x{8886}\x{8887}\x{8888}' - . '\x{8889}\x{888A}\x{888B}\x{888C}\x{888D}\x{888E}\x{888F}\x{8890}\x{8891}' - . '\x{8892}\x{8893}\x{8894}\x{8895}\x{8896}\x{8897}\x{8898}\x{8899}\x{889A}' - . '\x{889B}\x{889C}\x{889D}\x{889E}\x{889F}\x{88A0}\x{88A1}\x{88A2}\x{88A3}' - . '\x{88A4}\x{88A5}\x{88A6}\x{88A7}\x{88A8}\x{88A9}\x{88AA}\x{88AB}\x{88AC}' - . '\x{88AD}\x{88AE}\x{88AF}\x{88B0}\x{88B1}\x{88B2}\x{88B3}\x{88B4}\x{88B6}' - . '\x{88B7}\x{88B8}\x{88B9}\x{88BA}\x{88BB}\x{88BC}\x{88BD}\x{88BE}\x{88BF}' - . '\x{88C0}\x{88C1}\x{88C2}\x{88C3}\x{88C4}\x{88C5}\x{88C6}\x{88C7}\x{88C8}' - . '\x{88C9}\x{88CA}\x{88CB}\x{88CC}\x{88CD}\x{88CE}\x{88CF}\x{88D0}\x{88D1}' - . '\x{88D2}\x{88D3}\x{88D4}\x{88D5}\x{88D6}\x{88D7}\x{88D8}\x{88D9}\x{88DA}' - . '\x{88DB}\x{88DC}\x{88DD}\x{88DE}\x{88DF}\x{88E0}\x{88E1}\x{88E2}\x{88E3}' - . '\x{88E4}\x{88E5}\x{88E7}\x{88E8}\x{88EA}\x{88EB}\x{88EC}\x{88EE}\x{88EF}' - . '\x{88F0}\x{88F1}\x{88F2}\x{88F3}\x{88F4}\x{88F5}\x{88F6}\x{88F7}\x{88F8}' - . '\x{88F9}\x{88FA}\x{88FB}\x{88FC}\x{88FD}\x{88FE}\x{88FF}\x{8900}\x{8901}' - . '\x{8902}\x{8904}\x{8905}\x{8906}\x{8907}\x{8908}\x{8909}\x{890A}\x{890B}' - . '\x{890C}\x{890D}\x{890E}\x{8910}\x{8911}\x{8912}\x{8913}\x{8914}\x{8915}' - . '\x{8916}\x{8917}\x{8918}\x{8919}\x{891A}\x{891B}\x{891C}\x{891D}\x{891E}' - . '\x{891F}\x{8920}\x{8921}\x{8922}\x{8923}\x{8925}\x{8926}\x{8927}\x{8928}' - . '\x{8929}\x{892A}\x{892B}\x{892C}\x{892D}\x{892E}\x{892F}\x{8930}\x{8931}' - . '\x{8932}\x{8933}\x{8934}\x{8935}\x{8936}\x{8937}\x{8938}\x{8939}\x{893A}' - . '\x{893B}\x{893C}\x{893D}\x{893E}\x{893F}\x{8940}\x{8941}\x{8942}\x{8943}' - . '\x{8944}\x{8945}\x{8946}\x{8947}\x{8948}\x{8949}\x{894A}\x{894B}\x{894C}' - . '\x{894E}\x{894F}\x{8950}\x{8951}\x{8952}\x{8953}\x{8954}\x{8955}\x{8956}' - . '\x{8957}\x{8958}\x{8959}\x{895A}\x{895B}\x{895C}\x{895D}\x{895E}\x{895F}' - . '\x{8960}\x{8961}\x{8962}\x{8963}\x{8964}\x{8966}\x{8967}\x{8968}\x{8969}' - . '\x{896A}\x{896B}\x{896C}\x{896D}\x{896E}\x{896F}\x{8970}\x{8971}\x{8972}' - . '\x{8973}\x{8974}\x{8976}\x{8977}\x{8978}\x{8979}\x{897A}\x{897B}\x{897C}' - . '\x{897E}\x{897F}\x{8980}\x{8981}\x{8982}\x{8983}\x{8984}\x{8985}\x{8986}' - . '\x{8987}\x{8988}\x{8989}\x{898A}\x{898B}\x{898C}\x{898E}\x{898F}\x{8991}' - . '\x{8992}\x{8993}\x{8995}\x{8996}\x{8997}\x{8998}\x{899A}\x{899B}\x{899C}' - . '\x{899D}\x{899E}\x{899F}\x{89A0}\x{89A1}\x{89A2}\x{89A3}\x{89A4}\x{89A5}' - . '\x{89A6}\x{89A7}\x{89A8}\x{89AA}\x{89AB}\x{89AC}\x{89AD}\x{89AE}\x{89AF}' - . '\x{89B1}\x{89B2}\x{89B3}\x{89B5}\x{89B6}\x{89B7}\x{89B8}\x{89B9}\x{89BA}' - . '\x{89BD}\x{89BE}\x{89BF}\x{89C0}\x{89C1}\x{89C2}\x{89C3}\x{89C4}\x{89C5}' - . '\x{89C6}\x{89C7}\x{89C8}\x{89C9}\x{89CA}\x{89CB}\x{89CC}\x{89CD}\x{89CE}' - . '\x{89CF}\x{89D0}\x{89D1}\x{89D2}\x{89D3}\x{89D4}\x{89D5}\x{89D6}\x{89D7}' - . '\x{89D8}\x{89D9}\x{89DA}\x{89DB}\x{89DC}\x{89DD}\x{89DE}\x{89DF}\x{89E0}' - . '\x{89E1}\x{89E2}\x{89E3}\x{89E4}\x{89E5}\x{89E6}\x{89E7}\x{89E8}\x{89E9}' - . '\x{89EA}\x{89EB}\x{89EC}\x{89ED}\x{89EF}\x{89F0}\x{89F1}\x{89F2}\x{89F3}' - . '\x{89F4}\x{89F6}\x{89F7}\x{89F8}\x{89FA}\x{89FB}\x{89FC}\x{89FE}\x{89FF}' - . '\x{8A00}\x{8A01}\x{8A02}\x{8A03}\x{8A04}\x{8A07}\x{8A08}\x{8A09}\x{8A0A}' - . '\x{8A0B}\x{8A0C}\x{8A0D}\x{8A0E}\x{8A0F}\x{8A10}\x{8A11}\x{8A12}\x{8A13}' - . '\x{8A15}\x{8A16}\x{8A17}\x{8A18}\x{8A1A}\x{8A1B}\x{8A1C}\x{8A1D}\x{8A1E}' - . '\x{8A1F}\x{8A22}\x{8A23}\x{8A24}\x{8A25}\x{8A26}\x{8A27}\x{8A28}\x{8A29}' - . '\x{8A2A}\x{8A2C}\x{8A2D}\x{8A2E}\x{8A2F}\x{8A30}\x{8A31}\x{8A32}\x{8A34}' - . '\x{8A35}\x{8A36}\x{8A37}\x{8A38}\x{8A39}\x{8A3A}\x{8A3B}\x{8A3C}\x{8A3E}' - . '\x{8A3F}\x{8A40}\x{8A41}\x{8A42}\x{8A43}\x{8A44}\x{8A45}\x{8A46}\x{8A47}' - . '\x{8A48}\x{8A49}\x{8A4A}\x{8A4C}\x{8A4D}\x{8A4E}\x{8A4F}\x{8A50}\x{8A51}' - . '\x{8A52}\x{8A53}\x{8A54}\x{8A55}\x{8A56}\x{8A57}\x{8A58}\x{8A59}\x{8A5A}' - . '\x{8A5B}\x{8A5C}\x{8A5D}\x{8A5E}\x{8A5F}\x{8A60}\x{8A61}\x{8A62}\x{8A63}' - . '\x{8A65}\x{8A66}\x{8A67}\x{8A68}\x{8A69}\x{8A6A}\x{8A6B}\x{8A6C}\x{8A6D}' - . '\x{8A6E}\x{8A6F}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A74}\x{8A75}\x{8A76}' - . '\x{8A77}\x{8A79}\x{8A7A}\x{8A7B}\x{8A7C}\x{8A7E}\x{8A7F}\x{8A80}\x{8A81}' - . '\x{8A82}\x{8A83}\x{8A84}\x{8A85}\x{8A86}\x{8A87}\x{8A89}\x{8A8A}\x{8A8B}' - . '\x{8A8C}\x{8A8D}\x{8A8E}\x{8A8F}\x{8A90}\x{8A91}\x{8A92}\x{8A93}\x{8A94}' - . '\x{8A95}\x{8A96}\x{8A97}\x{8A98}\x{8A99}\x{8A9A}\x{8A9B}\x{8A9C}\x{8A9D}' - . '\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA2}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA7}' - . '\x{8AA8}\x{8AA9}\x{8AAA}\x{8AAB}\x{8AAC}\x{8AAE}\x{8AB0}\x{8AB1}\x{8AB2}' - . '\x{8AB3}\x{8AB4}\x{8AB5}\x{8AB6}\x{8AB8}\x{8AB9}\x{8ABA}\x{8ABB}\x{8ABC}' - . '\x{8ABD}\x{8ABE}\x{8ABF}\x{8AC0}\x{8AC1}\x{8AC2}\x{8AC3}\x{8AC4}\x{8AC5}' - . '\x{8AC6}\x{8AC7}\x{8AC8}\x{8AC9}\x{8ACA}\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACE}' - . '\x{8ACF}\x{8AD1}\x{8AD2}\x{8AD3}\x{8AD4}\x{8AD5}\x{8AD6}\x{8AD7}\x{8AD8}' - . '\x{8AD9}\x{8ADA}\x{8ADB}\x{8ADC}\x{8ADD}\x{8ADE}\x{8ADF}\x{8AE0}\x{8AE1}' - . '\x{8AE2}\x{8AE3}\x{8AE4}\x{8AE5}\x{8AE6}\x{8AE7}\x{8AE8}\x{8AE9}\x{8AEA}' - . '\x{8AEB}\x{8AED}\x{8AEE}\x{8AEF}\x{8AF0}\x{8AF1}\x{8AF2}\x{8AF3}\x{8AF4}' - . '\x{8AF5}\x{8AF6}\x{8AF7}\x{8AF8}\x{8AF9}\x{8AFA}\x{8AFB}\x{8AFC}\x{8AFD}' - . '\x{8AFE}\x{8AFF}\x{8B00}\x{8B01}\x{8B02}\x{8B03}\x{8B04}\x{8B05}\x{8B06}' - . '\x{8B07}\x{8B08}\x{8B09}\x{8B0A}\x{8B0B}\x{8B0D}\x{8B0E}\x{8B0F}\x{8B10}' - . '\x{8B11}\x{8B12}\x{8B13}\x{8B14}\x{8B15}\x{8B16}\x{8B17}\x{8B18}\x{8B19}' - . '\x{8B1A}\x{8B1B}\x{8B1C}\x{8B1D}\x{8B1E}\x{8B1F}\x{8B20}\x{8B21}\x{8B22}' - . '\x{8B23}\x{8B24}\x{8B25}\x{8B26}\x{8B27}\x{8B28}\x{8B2A}\x{8B2B}\x{8B2C}' - . '\x{8B2D}\x{8B2E}\x{8B2F}\x{8B30}\x{8B31}\x{8B33}\x{8B34}\x{8B35}\x{8B36}' - . '\x{8B37}\x{8B39}\x{8B3A}\x{8B3B}\x{8B3C}\x{8B3D}\x{8B3E}\x{8B40}\x{8B41}' - . '\x{8B42}\x{8B43}\x{8B44}\x{8B45}\x{8B46}\x{8B47}\x{8B48}\x{8B49}\x{8B4A}' - . '\x{8B4B}\x{8B4C}\x{8B4D}\x{8B4E}\x{8B4F}\x{8B50}\x{8B51}\x{8B52}\x{8B53}' - . '\x{8B54}\x{8B55}\x{8B56}\x{8B57}\x{8B58}\x{8B59}\x{8B5A}\x{8B5B}\x{8B5C}' - . '\x{8B5D}\x{8B5E}\x{8B5F}\x{8B60}\x{8B63}\x{8B64}\x{8B65}\x{8B66}\x{8B67}' - . '\x{8B68}\x{8B6A}\x{8B6B}\x{8B6C}\x{8B6D}\x{8B6E}\x{8B6F}\x{8B70}\x{8B71}' - . '\x{8B73}\x{8B74}\x{8B76}\x{8B77}\x{8B78}\x{8B79}\x{8B7A}\x{8B7B}\x{8B7D}' - . '\x{8B7E}\x{8B7F}\x{8B80}\x{8B82}\x{8B83}\x{8B84}\x{8B85}\x{8B86}\x{8B88}' - . '\x{8B89}\x{8B8A}\x{8B8B}\x{8B8C}\x{8B8E}\x{8B90}\x{8B91}\x{8B92}\x{8B93}' - . '\x{8B94}\x{8B95}\x{8B96}\x{8B97}\x{8B98}\x{8B99}\x{8B9A}\x{8B9C}\x{8B9D}' - . '\x{8B9E}\x{8B9F}\x{8BA0}\x{8BA1}\x{8BA2}\x{8BA3}\x{8BA4}\x{8BA5}\x{8BA6}' - . '\x{8BA7}\x{8BA8}\x{8BA9}\x{8BAA}\x{8BAB}\x{8BAC}\x{8BAD}\x{8BAE}\x{8BAF}' - . '\x{8BB0}\x{8BB1}\x{8BB2}\x{8BB3}\x{8BB4}\x{8BB5}\x{8BB6}\x{8BB7}\x{8BB8}' - . '\x{8BB9}\x{8BBA}\x{8BBB}\x{8BBC}\x{8BBD}\x{8BBE}\x{8BBF}\x{8BC0}\x{8BC1}' - . '\x{8BC2}\x{8BC3}\x{8BC4}\x{8BC5}\x{8BC6}\x{8BC7}\x{8BC8}\x{8BC9}\x{8BCA}' - . '\x{8BCB}\x{8BCC}\x{8BCD}\x{8BCE}\x{8BCF}\x{8BD0}\x{8BD1}\x{8BD2}\x{8BD3}' - . '\x{8BD4}\x{8BD5}\x{8BD6}\x{8BD7}\x{8BD8}\x{8BD9}\x{8BDA}\x{8BDB}\x{8BDC}' - . '\x{8BDD}\x{8BDE}\x{8BDF}\x{8BE0}\x{8BE1}\x{8BE2}\x{8BE3}\x{8BE4}\x{8BE5}' - . '\x{8BE6}\x{8BE7}\x{8BE8}\x{8BE9}\x{8BEA}\x{8BEB}\x{8BEC}\x{8BED}\x{8BEE}' - . '\x{8BEF}\x{8BF0}\x{8BF1}\x{8BF2}\x{8BF3}\x{8BF4}\x{8BF5}\x{8BF6}\x{8BF7}' - . '\x{8BF8}\x{8BF9}\x{8BFA}\x{8BFB}\x{8BFC}\x{8BFD}\x{8BFE}\x{8BFF}\x{8C00}' - . '\x{8C01}\x{8C02}\x{8C03}\x{8C04}\x{8C05}\x{8C06}\x{8C07}\x{8C08}\x{8C09}' - . '\x{8C0A}\x{8C0B}\x{8C0C}\x{8C0D}\x{8C0E}\x{8C0F}\x{8C10}\x{8C11}\x{8C12}' - . '\x{8C13}\x{8C14}\x{8C15}\x{8C16}\x{8C17}\x{8C18}\x{8C19}\x{8C1A}\x{8C1B}' - . '\x{8C1C}\x{8C1D}\x{8C1E}\x{8C1F}\x{8C20}\x{8C21}\x{8C22}\x{8C23}\x{8C24}' - . '\x{8C25}\x{8C26}\x{8C27}\x{8C28}\x{8C29}\x{8C2A}\x{8C2B}\x{8C2C}\x{8C2D}' - . '\x{8C2E}\x{8C2F}\x{8C30}\x{8C31}\x{8C32}\x{8C33}\x{8C34}\x{8C35}\x{8C36}' - . '\x{8C37}\x{8C39}\x{8C3A}\x{8C3B}\x{8C3C}\x{8C3D}\x{8C3E}\x{8C3F}\x{8C41}' - . '\x{8C42}\x{8C43}\x{8C45}\x{8C46}\x{8C47}\x{8C48}\x{8C49}\x{8C4A}\x{8C4B}' - . '\x{8C4C}\x{8C4D}\x{8C4E}\x{8C4F}\x{8C50}\x{8C54}\x{8C55}\x{8C56}\x{8C57}' - . '\x{8C59}\x{8C5A}\x{8C5B}\x{8C5C}\x{8C5D}\x{8C5E}\x{8C5F}\x{8C60}\x{8C61}' - . '\x{8C62}\x{8C63}\x{8C64}\x{8C65}\x{8C66}\x{8C67}\x{8C68}\x{8C69}\x{8C6A}' - . '\x{8C6B}\x{8C6C}\x{8C6D}\x{8C6E}\x{8C6F}\x{8C70}\x{8C71}\x{8C72}\x{8C73}' - . '\x{8C75}\x{8C76}\x{8C77}\x{8C78}\x{8C79}\x{8C7A}\x{8C7B}\x{8C7D}\x{8C7E}' - . '\x{8C80}\x{8C81}\x{8C82}\x{8C84}\x{8C85}\x{8C86}\x{8C88}\x{8C89}\x{8C8A}' - . '\x{8C8C}\x{8C8D}\x{8C8F}\x{8C90}\x{8C91}\x{8C92}\x{8C93}\x{8C94}\x{8C95}' - . '\x{8C96}\x{8C97}\x{8C98}\x{8C99}\x{8C9A}\x{8C9C}\x{8C9D}\x{8C9E}\x{8C9F}' - . '\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA3}\x{8CA4}\x{8CA5}\x{8CA7}\x{8CA8}\x{8CA9}' - . '\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}\x{8CB1}\x{8CB2}' - . '\x{8CB3}\x{8CB4}\x{8CB5}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CB9}\x{8CBA}\x{8CBB}' - . '\x{8CBC}\x{8CBD}\x{8CBE}\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}' - . '\x{8CC5}\x{8CC6}\x{8CC7}\x{8CC8}\x{8CC9}\x{8CCA}\x{8CCC}\x{8CCE}\x{8CCF}' - . '\x{8CD0}\x{8CD1}\x{8CD2}\x{8CD3}\x{8CD4}\x{8CD5}\x{8CD7}\x{8CD9}\x{8CDA}' - . '\x{8CDB}\x{8CDC}\x{8CDD}\x{8CDE}\x{8CDF}\x{8CE0}\x{8CE1}\x{8CE2}\x{8CE3}' - . '\x{8CE4}\x{8CE5}\x{8CE6}\x{8CE7}\x{8CE8}\x{8CEA}\x{8CEB}\x{8CEC}\x{8CED}' - . '\x{8CEE}\x{8CEF}\x{8CF0}\x{8CF1}\x{8CF2}\x{8CF3}\x{8CF4}\x{8CF5}\x{8CF6}' - . '\x{8CF8}\x{8CF9}\x{8CFA}\x{8CFB}\x{8CFC}\x{8CFD}\x{8CFE}\x{8CFF}\x{8D00}' - . '\x{8D02}\x{8D03}\x{8D04}\x{8D05}\x{8D06}\x{8D07}\x{8D08}\x{8D09}\x{8D0A}' - . '\x{8D0B}\x{8D0C}\x{8D0D}\x{8D0E}\x{8D0F}\x{8D10}\x{8D13}\x{8D14}\x{8D15}' - . '\x{8D16}\x{8D17}\x{8D18}\x{8D19}\x{8D1A}\x{8D1B}\x{8D1C}\x{8D1D}\x{8D1E}' - . '\x{8D1F}\x{8D20}\x{8D21}\x{8D22}\x{8D23}\x{8D24}\x{8D25}\x{8D26}\x{8D27}' - . '\x{8D28}\x{8D29}\x{8D2A}\x{8D2B}\x{8D2C}\x{8D2D}\x{8D2E}\x{8D2F}\x{8D30}' - . '\x{8D31}\x{8D32}\x{8D33}\x{8D34}\x{8D35}\x{8D36}\x{8D37}\x{8D38}\x{8D39}' - . '\x{8D3A}\x{8D3B}\x{8D3C}\x{8D3D}\x{8D3E}\x{8D3F}\x{8D40}\x{8D41}\x{8D42}' - . '\x{8D43}\x{8D44}\x{8D45}\x{8D46}\x{8D47}\x{8D48}\x{8D49}\x{8D4A}\x{8D4B}' - . '\x{8D4C}\x{8D4D}\x{8D4E}\x{8D4F}\x{8D50}\x{8D51}\x{8D52}\x{8D53}\x{8D54}' - . '\x{8D55}\x{8D56}\x{8D57}\x{8D58}\x{8D59}\x{8D5A}\x{8D5B}\x{8D5C}\x{8D5D}' - . '\x{8D5E}\x{8D5F}\x{8D60}\x{8D61}\x{8D62}\x{8D63}\x{8D64}\x{8D65}\x{8D66}' - . '\x{8D67}\x{8D68}\x{8D69}\x{8D6A}\x{8D6B}\x{8D6C}\x{8D6D}\x{8D6E}\x{8D6F}' - . '\x{8D70}\x{8D71}\x{8D72}\x{8D73}\x{8D74}\x{8D75}\x{8D76}\x{8D77}\x{8D78}' - . '\x{8D79}\x{8D7A}\x{8D7B}\x{8D7D}\x{8D7E}\x{8D7F}\x{8D80}\x{8D81}\x{8D82}' - . '\x{8D83}\x{8D84}\x{8D85}\x{8D86}\x{8D87}\x{8D88}\x{8D89}\x{8D8A}\x{8D8B}' - . '\x{8D8C}\x{8D8D}\x{8D8E}\x{8D8F}\x{8D90}\x{8D91}\x{8D92}\x{8D93}\x{8D94}' - . '\x{8D95}\x{8D96}\x{8D97}\x{8D98}\x{8D99}\x{8D9A}\x{8D9B}\x{8D9C}\x{8D9D}' - . '\x{8D9E}\x{8D9F}\x{8DA0}\x{8DA1}\x{8DA2}\x{8DA3}\x{8DA4}\x{8DA5}\x{8DA7}' - . '\x{8DA8}\x{8DA9}\x{8DAA}\x{8DAB}\x{8DAC}\x{8DAD}\x{8DAE}\x{8DAF}\x{8DB0}' - . '\x{8DB1}\x{8DB2}\x{8DB3}\x{8DB4}\x{8DB5}\x{8DB6}\x{8DB7}\x{8DB8}\x{8DB9}' - . '\x{8DBA}\x{8DBB}\x{8DBC}\x{8DBD}\x{8DBE}\x{8DBF}\x{8DC1}\x{8DC2}\x{8DC3}' - . '\x{8DC4}\x{8DC5}\x{8DC6}\x{8DC7}\x{8DC8}\x{8DC9}\x{8DCA}\x{8DCB}\x{8DCC}' - . '\x{8DCD}\x{8DCE}\x{8DCF}\x{8DD0}\x{8DD1}\x{8DD2}\x{8DD3}\x{8DD4}\x{8DD5}' - . '\x{8DD6}\x{8DD7}\x{8DD8}\x{8DD9}\x{8DDA}\x{8DDB}\x{8DDC}\x{8DDD}\x{8DDE}' - . '\x{8DDF}\x{8DE0}\x{8DE1}\x{8DE2}\x{8DE3}\x{8DE4}\x{8DE6}\x{8DE7}\x{8DE8}' - . '\x{8DE9}\x{8DEA}\x{8DEB}\x{8DEC}\x{8DED}\x{8DEE}\x{8DEF}\x{8DF0}\x{8DF1}' - . '\x{8DF2}\x{8DF3}\x{8DF4}\x{8DF5}\x{8DF6}\x{8DF7}\x{8DF8}\x{8DF9}\x{8DFA}' - . '\x{8DFB}\x{8DFC}\x{8DFD}\x{8DFE}\x{8DFF}\x{8E00}\x{8E02}\x{8E03}\x{8E04}' - . '\x{8E05}\x{8E06}\x{8E07}\x{8E08}\x{8E09}\x{8E0A}\x{8E0C}\x{8E0D}\x{8E0E}' - . '\x{8E0F}\x{8E10}\x{8E11}\x{8E12}\x{8E13}\x{8E14}\x{8E15}\x{8E16}\x{8E17}' - . '\x{8E18}\x{8E19}\x{8E1A}\x{8E1B}\x{8E1C}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E20}' - . '\x{8E21}\x{8E22}\x{8E23}\x{8E24}\x{8E25}\x{8E26}\x{8E27}\x{8E28}\x{8E29}' - . '\x{8E2A}\x{8E2B}\x{8E2C}\x{8E2D}\x{8E2E}\x{8E2F}\x{8E30}\x{8E31}\x{8E33}' - . '\x{8E34}\x{8E35}\x{8E36}\x{8E37}\x{8E38}\x{8E39}\x{8E3A}\x{8E3B}\x{8E3C}' - . '\x{8E3D}\x{8E3E}\x{8E3F}\x{8E40}\x{8E41}\x{8E42}\x{8E43}\x{8E44}\x{8E45}' - . '\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4B}\x{8E4C}\x{8E4D}\x{8E4E}\x{8E50}' - . '\x{8E51}\x{8E52}\x{8E53}\x{8E54}\x{8E55}\x{8E56}\x{8E57}\x{8E58}\x{8E59}' - . '\x{8E5A}\x{8E5B}\x{8E5C}\x{8E5D}\x{8E5E}\x{8E5F}\x{8E60}\x{8E61}\x{8E62}' - . '\x{8E63}\x{8E64}\x{8E65}\x{8E66}\x{8E67}\x{8E68}\x{8E69}\x{8E6A}\x{8E6B}' - . '\x{8E6C}\x{8E6D}\x{8E6F}\x{8E70}\x{8E71}\x{8E72}\x{8E73}\x{8E74}\x{8E76}' - . '\x{8E78}\x{8E7A}\x{8E7B}\x{8E7C}\x{8E7D}\x{8E7E}\x{8E7F}\x{8E80}\x{8E81}' - . '\x{8E82}\x{8E83}\x{8E84}\x{8E85}\x{8E86}\x{8E87}\x{8E88}\x{8E89}\x{8E8A}' - . '\x{8E8B}\x{8E8C}\x{8E8D}\x{8E8E}\x{8E8F}\x{8E90}\x{8E91}\x{8E92}\x{8E93}' - . '\x{8E94}\x{8E95}\x{8E96}\x{8E97}\x{8E98}\x{8E9A}\x{8E9C}\x{8E9D}\x{8E9E}' - . '\x{8E9F}\x{8EA0}\x{8EA1}\x{8EA3}\x{8EA4}\x{8EA5}\x{8EA6}\x{8EA7}\x{8EA8}' - . '\x{8EA9}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAD}\x{8EAE}\x{8EAF}\x{8EB0}\x{8EB1}' - . '\x{8EB2}\x{8EB4}\x{8EB5}\x{8EB8}\x{8EB9}\x{8EBA}\x{8EBB}\x{8EBC}\x{8EBD}' - . '\x{8EBE}\x{8EBF}\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}\x{8EC6}\x{8EC7}\x{8EC8}' - . '\x{8EC9}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ECE}\x{8ECF}\x{8ED0}\x{8ED1}' - . '\x{8ED2}\x{8ED3}\x{8ED4}\x{8ED5}\x{8ED6}\x{8ED7}\x{8ED8}\x{8EDA}\x{8EDB}' - . '\x{8EDC}\x{8EDD}\x{8EDE}\x{8EDF}\x{8EE0}\x{8EE1}\x{8EE4}\x{8EE5}\x{8EE6}' - . '\x{8EE7}\x{8EE8}\x{8EE9}\x{8EEA}\x{8EEB}\x{8EEC}\x{8EED}\x{8EEE}\x{8EEF}' - . '\x{8EF1}\x{8EF2}\x{8EF3}\x{8EF4}\x{8EF5}\x{8EF6}\x{8EF7}\x{8EF8}\x{8EF9}' - . '\x{8EFA}\x{8EFB}\x{8EFC}\x{8EFD}\x{8EFE}\x{8EFF}\x{8F00}\x{8F01}\x{8F02}' - . '\x{8F03}\x{8F04}\x{8F05}\x{8F06}\x{8F07}\x{8F08}\x{8F09}\x{8F0A}\x{8F0B}' - . '\x{8F0D}\x{8F0E}\x{8F10}\x{8F11}\x{8F12}\x{8F13}\x{8F14}\x{8F15}\x{8F16}' - . '\x{8F17}\x{8F18}\x{8F1A}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1E}\x{8F1F}\x{8F20}' - . '\x{8F21}\x{8F22}\x{8F23}\x{8F24}\x{8F25}\x{8F26}\x{8F27}\x{8F28}\x{8F29}' - . '\x{8F2A}\x{8F2B}\x{8F2C}\x{8F2E}\x{8F2F}\x{8F30}\x{8F31}\x{8F32}\x{8F33}' - . '\x{8F34}\x{8F35}\x{8F36}\x{8F37}\x{8F38}\x{8F39}\x{8F3B}\x{8F3C}\x{8F3D}' - . '\x{8F3E}\x{8F3F}\x{8F40}\x{8F42}\x{8F43}\x{8F44}\x{8F45}\x{8F46}\x{8F47}' - . '\x{8F48}\x{8F49}\x{8F4A}\x{8F4B}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F4F}\x{8F50}' - . '\x{8F51}\x{8F52}\x{8F53}\x{8F54}\x{8F55}\x{8F56}\x{8F57}\x{8F58}\x{8F59}' - . '\x{8F5A}\x{8F5B}\x{8F5D}\x{8F5E}\x{8F5F}\x{8F60}\x{8F61}\x{8F62}\x{8F63}' - . '\x{8F64}\x{8F65}\x{8F66}\x{8F67}\x{8F68}\x{8F69}\x{8F6A}\x{8F6B}\x{8F6C}' - . '\x{8F6D}\x{8F6E}\x{8F6F}\x{8F70}\x{8F71}\x{8F72}\x{8F73}\x{8F74}\x{8F75}' - . '\x{8F76}\x{8F77}\x{8F78}\x{8F79}\x{8F7A}\x{8F7B}\x{8F7C}\x{8F7D}\x{8F7E}' - . '\x{8F7F}\x{8F80}\x{8F81}\x{8F82}\x{8F83}\x{8F84}\x{8F85}\x{8F86}\x{8F87}' - . '\x{8F88}\x{8F89}\x{8F8A}\x{8F8B}\x{8F8C}\x{8F8D}\x{8F8E}\x{8F8F}\x{8F90}' - . '\x{8F91}\x{8F92}\x{8F93}\x{8F94}\x{8F95}\x{8F96}\x{8F97}\x{8F98}\x{8F99}' - . '\x{8F9A}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA0}\x{8FA1}\x{8FA2}\x{8FA3}' - . '\x{8FA5}\x{8FA6}\x{8FA7}\x{8FA8}\x{8FA9}\x{8FAA}\x{8FAB}\x{8FAC}\x{8FAD}' - . '\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB4}\x{8FB5}\x{8FB6}\x{8FB7}' - . '\x{8FB8}\x{8FB9}\x{8FBB}\x{8FBC}\x{8FBD}\x{8FBE}\x{8FBF}\x{8FC0}\x{8FC1}' - . '\x{8FC2}\x{8FC4}\x{8FC5}\x{8FC6}\x{8FC7}\x{8FC8}\x{8FC9}\x{8FCB}\x{8FCC}' - . '\x{8FCD}\x{8FCE}\x{8FCF}\x{8FD0}\x{8FD1}\x{8FD2}\x{8FD3}\x{8FD4}\x{8FD5}' - . '\x{8FD6}\x{8FD7}\x{8FD8}\x{8FD9}\x{8FDA}\x{8FDB}\x{8FDC}\x{8FDD}\x{8FDE}' - . '\x{8FDF}\x{8FE0}\x{8FE1}\x{8FE2}\x{8FE3}\x{8FE4}\x{8FE5}\x{8FE6}\x{8FE8}' - . '\x{8FE9}\x{8FEA}\x{8FEB}\x{8FEC}\x{8FED}\x{8FEE}\x{8FEF}\x{8FF0}\x{8FF1}' - . '\x{8FF2}\x{8FF3}\x{8FF4}\x{8FF5}\x{8FF6}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}' - . '\x{8FFB}\x{8FFC}\x{8FFD}\x{8FFE}\x{8FFF}\x{9000}\x{9001}\x{9002}\x{9003}' - . '\x{9004}\x{9005}\x{9006}\x{9007}\x{9008}\x{9009}\x{900A}\x{900B}\x{900C}' - . '\x{900D}\x{900F}\x{9010}\x{9011}\x{9012}\x{9013}\x{9014}\x{9015}\x{9016}' - . '\x{9017}\x{9018}\x{9019}\x{901A}\x{901B}\x{901C}\x{901D}\x{901E}\x{901F}' - . '\x{9020}\x{9021}\x{9022}\x{9023}\x{9024}\x{9025}\x{9026}\x{9027}\x{9028}' - . '\x{9029}\x{902B}\x{902D}\x{902E}\x{902F}\x{9030}\x{9031}\x{9032}\x{9033}' - . '\x{9034}\x{9035}\x{9036}\x{9038}\x{903A}\x{903B}\x{903C}\x{903D}\x{903E}' - . '\x{903F}\x{9041}\x{9042}\x{9043}\x{9044}\x{9045}\x{9047}\x{9048}\x{9049}' - . '\x{904A}\x{904B}\x{904C}\x{904D}\x{904E}\x{904F}\x{9050}\x{9051}\x{9052}' - . '\x{9053}\x{9054}\x{9055}\x{9056}\x{9057}\x{9058}\x{9059}\x{905A}\x{905B}' - . '\x{905C}\x{905D}\x{905E}\x{905F}\x{9060}\x{9061}\x{9062}\x{9063}\x{9064}' - . '\x{9065}\x{9066}\x{9067}\x{9068}\x{9069}\x{906A}\x{906B}\x{906C}\x{906D}' - . '\x{906E}\x{906F}\x{9070}\x{9071}\x{9072}\x{9073}\x{9074}\x{9075}\x{9076}' - . '\x{9077}\x{9078}\x{9079}\x{907A}\x{907B}\x{907C}\x{907D}\x{907E}\x{907F}' - . '\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9085}\x{9086}\x{9087}\x{9088}' - . '\x{9089}\x{908A}\x{908B}\x{908C}\x{908D}\x{908E}\x{908F}\x{9090}\x{9091}' - . '\x{9092}\x{9093}\x{9094}\x{9095}\x{9096}\x{9097}\x{9098}\x{9099}\x{909A}' - . '\x{909B}\x{909C}\x{909D}\x{909E}\x{909F}\x{90A0}\x{90A1}\x{90A2}\x{90A3}' - . '\x{90A4}\x{90A5}\x{90A6}\x{90A7}\x{90A8}\x{90A9}\x{90AA}\x{90AC}\x{90AD}' - . '\x{90AE}\x{90AF}\x{90B0}\x{90B1}\x{90B2}\x{90B3}\x{90B4}\x{90B5}\x{90B6}' - . '\x{90B7}\x{90B8}\x{90B9}\x{90BA}\x{90BB}\x{90BC}\x{90BD}\x{90BE}\x{90BF}' - . '\x{90C0}\x{90C1}\x{90C2}\x{90C3}\x{90C4}\x{90C5}\x{90C6}\x{90C7}\x{90C8}' - . '\x{90C9}\x{90CA}\x{90CB}\x{90CE}\x{90CF}\x{90D0}\x{90D1}\x{90D3}\x{90D4}' - . '\x{90D5}\x{90D6}\x{90D7}\x{90D8}\x{90D9}\x{90DA}\x{90DB}\x{90DC}\x{90DD}' - . '\x{90DE}\x{90DF}\x{90E0}\x{90E1}\x{90E2}\x{90E3}\x{90E4}\x{90E5}\x{90E6}' - . '\x{90E7}\x{90E8}\x{90E9}\x{90EA}\x{90EB}\x{90EC}\x{90ED}\x{90EE}\x{90EF}' - . '\x{90F0}\x{90F1}\x{90F2}\x{90F3}\x{90F4}\x{90F5}\x{90F7}\x{90F8}\x{90F9}' - . '\x{90FA}\x{90FB}\x{90FC}\x{90FD}\x{90FE}\x{90FF}\x{9100}\x{9101}\x{9102}' - . '\x{9103}\x{9104}\x{9105}\x{9106}\x{9107}\x{9108}\x{9109}\x{910B}\x{910C}' - . '\x{910D}\x{910E}\x{910F}\x{9110}\x{9111}\x{9112}\x{9113}\x{9114}\x{9115}' - . '\x{9116}\x{9117}\x{9118}\x{9119}\x{911A}\x{911B}\x{911C}\x{911D}\x{911E}' - . '\x{911F}\x{9120}\x{9121}\x{9122}\x{9123}\x{9124}\x{9125}\x{9126}\x{9127}' - . '\x{9128}\x{9129}\x{912A}\x{912B}\x{912C}\x{912D}\x{912E}\x{912F}\x{9130}' - . '\x{9131}\x{9132}\x{9133}\x{9134}\x{9135}\x{9136}\x{9137}\x{9138}\x{9139}' - . '\x{913A}\x{913B}\x{913E}\x{913F}\x{9140}\x{9141}\x{9142}\x{9143}\x{9144}' - . '\x{9145}\x{9146}\x{9147}\x{9148}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}' - . '\x{914E}\x{914F}\x{9150}\x{9151}\x{9152}\x{9153}\x{9154}\x{9155}\x{9156}' - . '\x{9157}\x{9158}\x{915A}\x{915B}\x{915C}\x{915D}\x{915E}\x{915F}\x{9160}' - . '\x{9161}\x{9162}\x{9163}\x{9164}\x{9165}\x{9166}\x{9167}\x{9168}\x{9169}' - . '\x{916A}\x{916B}\x{916C}\x{916D}\x{916E}\x{916F}\x{9170}\x{9171}\x{9172}' - . '\x{9173}\x{9174}\x{9175}\x{9176}\x{9177}\x{9178}\x{9179}\x{917A}\x{917C}' - . '\x{917D}\x{917E}\x{917F}\x{9180}\x{9181}\x{9182}\x{9183}\x{9184}\x{9185}' - . '\x{9186}\x{9187}\x{9188}\x{9189}\x{918A}\x{918B}\x{918C}\x{918D}\x{918E}' - . '\x{918F}\x{9190}\x{9191}\x{9192}\x{9193}\x{9194}\x{9196}\x{9199}\x{919A}' - . '\x{919B}\x{919C}\x{919D}\x{919E}\x{919F}\x{91A0}\x{91A1}\x{91A2}\x{91A3}' - . '\x{91A5}\x{91A6}\x{91A7}\x{91A8}\x{91AA}\x{91AB}\x{91AC}\x{91AD}\x{91AE}' - . '\x{91AF}\x{91B0}\x{91B1}\x{91B2}\x{91B3}\x{91B4}\x{91B5}\x{91B6}\x{91B7}' - . '\x{91B9}\x{91BA}\x{91BB}\x{91BC}\x{91BD}\x{91BE}\x{91C0}\x{91C1}\x{91C2}' - . '\x{91C3}\x{91C5}\x{91C6}\x{91C7}\x{91C9}\x{91CA}\x{91CB}\x{91CC}\x{91CD}' - . '\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D2}\x{91D3}\x{91D4}\x{91D5}\x{91D7}' - . '\x{91D8}\x{91D9}\x{91DA}\x{91DB}\x{91DC}\x{91DD}\x{91DE}\x{91DF}\x{91E2}' - . '\x{91E3}\x{91E4}\x{91E5}\x{91E6}\x{91E7}\x{91E8}\x{91E9}\x{91EA}\x{91EB}' - . '\x{91EC}\x{91ED}\x{91EE}\x{91F0}\x{91F1}\x{91F2}\x{91F3}\x{91F4}\x{91F5}' - . '\x{91F7}\x{91F8}\x{91F9}\x{91FA}\x{91FB}\x{91FD}\x{91FE}\x{91FF}\x{9200}' - . '\x{9201}\x{9202}\x{9203}\x{9204}\x{9205}\x{9206}\x{9207}\x{9208}\x{9209}' - . '\x{920A}\x{920B}\x{920C}\x{920D}\x{920E}\x{920F}\x{9210}\x{9211}\x{9212}' - . '\x{9214}\x{9215}\x{9216}\x{9217}\x{9218}\x{9219}\x{921A}\x{921B}\x{921C}' - . '\x{921D}\x{921E}\x{9220}\x{9221}\x{9223}\x{9224}\x{9225}\x{9226}\x{9227}' - . '\x{9228}\x{9229}\x{922A}\x{922B}\x{922D}\x{922E}\x{922F}\x{9230}\x{9231}' - . '\x{9232}\x{9233}\x{9234}\x{9235}\x{9236}\x{9237}\x{9238}\x{9239}\x{923A}' - . '\x{923B}\x{923C}\x{923D}\x{923E}\x{923F}\x{9240}\x{9241}\x{9242}\x{9245}' - . '\x{9246}\x{9247}\x{9248}\x{9249}\x{924A}\x{924B}\x{924C}\x{924D}\x{924E}' - . '\x{924F}\x{9250}\x{9251}\x{9252}\x{9253}\x{9254}\x{9255}\x{9256}\x{9257}' - . '\x{9258}\x{9259}\x{925A}\x{925B}\x{925C}\x{925D}\x{925E}\x{925F}\x{9260}' - . '\x{9261}\x{9262}\x{9263}\x{9264}\x{9265}\x{9266}\x{9267}\x{9268}\x{926B}' - . '\x{926C}\x{926D}\x{926E}\x{926F}\x{9270}\x{9272}\x{9273}\x{9274}\x{9275}' - . '\x{9276}\x{9277}\x{9278}\x{9279}\x{927A}\x{927B}\x{927C}\x{927D}\x{927E}' - . '\x{927F}\x{9280}\x{9282}\x{9283}\x{9285}\x{9286}\x{9287}\x{9288}\x{9289}' - . '\x{928A}\x{928B}\x{928C}\x{928D}\x{928E}\x{928F}\x{9290}\x{9291}\x{9292}' - . '\x{9293}\x{9294}\x{9295}\x{9296}\x{9297}\x{9298}\x{9299}\x{929A}\x{929B}' - . '\x{929C}\x{929D}\x{929F}\x{92A0}\x{92A1}\x{92A2}\x{92A3}\x{92A4}\x{92A5}' - . '\x{92A6}\x{92A7}\x{92A8}\x{92A9}\x{92AA}\x{92AB}\x{92AC}\x{92AD}\x{92AE}' - . '\x{92AF}\x{92B0}\x{92B1}\x{92B2}\x{92B3}\x{92B4}\x{92B5}\x{92B6}\x{92B7}' - . '\x{92B8}\x{92B9}\x{92BA}\x{92BB}\x{92BC}\x{92BE}\x{92BF}\x{92C0}\x{92C1}' - . '\x{92C2}\x{92C3}\x{92C4}\x{92C5}\x{92C6}\x{92C7}\x{92C8}\x{92C9}\x{92CA}' - . '\x{92CB}\x{92CC}\x{92CD}\x{92CE}\x{92CF}\x{92D0}\x{92D1}\x{92D2}\x{92D3}' - . '\x{92D5}\x{92D6}\x{92D7}\x{92D8}\x{92D9}\x{92DA}\x{92DC}\x{92DD}\x{92DE}' - . '\x{92DF}\x{92E0}\x{92E1}\x{92E3}\x{92E4}\x{92E5}\x{92E6}\x{92E7}\x{92E8}' - . '\x{92E9}\x{92EA}\x{92EB}\x{92EC}\x{92ED}\x{92EE}\x{92EF}\x{92F0}\x{92F1}' - . '\x{92F2}\x{92F3}\x{92F4}\x{92F5}\x{92F6}\x{92F7}\x{92F8}\x{92F9}\x{92FA}' - . '\x{92FB}\x{92FC}\x{92FD}\x{92FE}\x{92FF}\x{9300}\x{9301}\x{9302}\x{9303}' - . '\x{9304}\x{9305}\x{9306}\x{9307}\x{9308}\x{9309}\x{930A}\x{930B}\x{930C}' - . '\x{930D}\x{930E}\x{930F}\x{9310}\x{9311}\x{9312}\x{9313}\x{9314}\x{9315}' - . '\x{9316}\x{9317}\x{9318}\x{9319}\x{931A}\x{931B}\x{931D}\x{931E}\x{931F}' - . '\x{9320}\x{9321}\x{9322}\x{9323}\x{9324}\x{9325}\x{9326}\x{9327}\x{9328}' - . '\x{9329}\x{932A}\x{932B}\x{932D}\x{932E}\x{932F}\x{9332}\x{9333}\x{9334}' - . '\x{9335}\x{9336}\x{9337}\x{9338}\x{9339}\x{933A}\x{933B}\x{933C}\x{933D}' - . '\x{933E}\x{933F}\x{9340}\x{9341}\x{9342}\x{9343}\x{9344}\x{9345}\x{9346}' - . '\x{9347}\x{9348}\x{9349}\x{934A}\x{934B}\x{934C}\x{934D}\x{934E}\x{934F}' - . '\x{9350}\x{9351}\x{9352}\x{9353}\x{9354}\x{9355}\x{9356}\x{9357}\x{9358}' - . '\x{9359}\x{935A}\x{935B}\x{935C}\x{935D}\x{935E}\x{935F}\x{9360}\x{9361}' - . '\x{9363}\x{9364}\x{9365}\x{9366}\x{9367}\x{9369}\x{936A}\x{936C}\x{936D}' - . '\x{936E}\x{9370}\x{9371}\x{9372}\x{9374}\x{9375}\x{9376}\x{9377}\x{9379}' - . '\x{937A}\x{937B}\x{937C}\x{937D}\x{937E}\x{9380}\x{9382}\x{9383}\x{9384}' - . '\x{9385}\x{9386}\x{9387}\x{9388}\x{9389}\x{938A}\x{938C}\x{938D}\x{938E}' - . '\x{938F}\x{9390}\x{9391}\x{9392}\x{9393}\x{9394}\x{9395}\x{9396}\x{9397}' - . '\x{9398}\x{9399}\x{939A}\x{939B}\x{939D}\x{939E}\x{939F}\x{93A1}\x{93A2}' - . '\x{93A3}\x{93A4}\x{93A5}\x{93A6}\x{93A7}\x{93A8}\x{93A9}\x{93AA}\x{93AC}' - . '\x{93AD}\x{93AE}\x{93AF}\x{93B0}\x{93B1}\x{93B2}\x{93B3}\x{93B4}\x{93B5}' - . '\x{93B6}\x{93B7}\x{93B8}\x{93B9}\x{93BA}\x{93BC}\x{93BD}\x{93BE}\x{93BF}' - . '\x{93C0}\x{93C1}\x{93C2}\x{93C3}\x{93C4}\x{93C5}\x{93C6}\x{93C7}\x{93C8}' - . '\x{93C9}\x{93CA}\x{93CB}\x{93CC}\x{93CD}\x{93CE}\x{93CF}\x{93D0}\x{93D1}' - . '\x{93D2}\x{93D3}\x{93D4}\x{93D5}\x{93D6}\x{93D7}\x{93D8}\x{93D9}\x{93DA}' - . '\x{93DB}\x{93DC}\x{93DD}\x{93DE}\x{93DF}\x{93E1}\x{93E2}\x{93E3}\x{93E4}' - . '\x{93E6}\x{93E7}\x{93E8}\x{93E9}\x{93EA}\x{93EB}\x{93EC}\x{93ED}\x{93EE}' - . '\x{93EF}\x{93F0}\x{93F1}\x{93F2}\x{93F4}\x{93F5}\x{93F6}\x{93F7}\x{93F8}' - . '\x{93F9}\x{93FA}\x{93FB}\x{93FC}\x{93FD}\x{93FE}\x{93FF}\x{9400}\x{9401}' - . '\x{9403}\x{9404}\x{9405}\x{9406}\x{9407}\x{9408}\x{9409}\x{940A}\x{940B}' - . '\x{940C}\x{940D}\x{940E}\x{940F}\x{9410}\x{9411}\x{9412}\x{9413}\x{9414}' - . '\x{9415}\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}\x{9422}\x{9423}' - . '\x{9425}\x{9426}\x{9427}\x{9428}\x{9429}\x{942A}\x{942B}\x{942C}\x{942D}' - . '\x{942E}\x{942F}\x{9430}\x{9431}\x{9432}\x{9433}\x{9434}\x{9435}\x{9436}' - . '\x{9437}\x{9438}\x{9439}\x{943A}\x{943B}\x{943C}\x{943D}\x{943E}\x{943F}' - . '\x{9440}\x{9441}\x{9442}\x{9444}\x{9445}\x{9446}\x{9447}\x{9448}\x{9449}' - . '\x{944A}\x{944B}\x{944C}\x{944D}\x{944F}\x{9450}\x{9451}\x{9452}\x{9453}' - . '\x{9454}\x{9455}\x{9456}\x{9457}\x{9458}\x{9459}\x{945B}\x{945C}\x{945D}' - . '\x{945E}\x{945F}\x{9460}\x{9461}\x{9462}\x{9463}\x{9464}\x{9465}\x{9466}' - . '\x{9467}\x{9468}\x{9469}\x{946A}\x{946B}\x{946D}\x{946E}\x{946F}\x{9470}' - . '\x{9471}\x{9472}\x{9473}\x{9474}\x{9475}\x{9476}\x{9477}\x{9478}\x{9479}' - . '\x{947A}\x{947C}\x{947D}\x{947E}\x{947F}\x{9480}\x{9481}\x{9482}\x{9483}' - . '\x{9484}\x{9485}\x{9486}\x{9487}\x{9488}\x{9489}\x{948A}\x{948B}\x{948C}' - . '\x{948D}\x{948E}\x{948F}\x{9490}\x{9491}\x{9492}\x{9493}\x{9494}\x{9495}' - . '\x{9496}\x{9497}\x{9498}\x{9499}\x{949A}\x{949B}\x{949C}\x{949D}\x{949E}' - . '\x{949F}\x{94A0}\x{94A1}\x{94A2}\x{94A3}\x{94A4}\x{94A5}\x{94A6}\x{94A7}' - . '\x{94A8}\x{94A9}\x{94AA}\x{94AB}\x{94AC}\x{94AD}\x{94AE}\x{94AF}\x{94B0}' - . '\x{94B1}\x{94B2}\x{94B3}\x{94B4}\x{94B5}\x{94B6}\x{94B7}\x{94B8}\x{94B9}' - . '\x{94BA}\x{94BB}\x{94BC}\x{94BD}\x{94BE}\x{94BF}\x{94C0}\x{94C1}\x{94C2}' - . '\x{94C3}\x{94C4}\x{94C5}\x{94C6}\x{94C7}\x{94C8}\x{94C9}\x{94CA}\x{94CB}' - . '\x{94CC}\x{94CD}\x{94CE}\x{94CF}\x{94D0}\x{94D1}\x{94D2}\x{94D3}\x{94D4}' - . '\x{94D5}\x{94D6}\x{94D7}\x{94D8}\x{94D9}\x{94DA}\x{94DB}\x{94DC}\x{94DD}' - . '\x{94DE}\x{94DF}\x{94E0}\x{94E1}\x{94E2}\x{94E3}\x{94E4}\x{94E5}\x{94E6}' - . '\x{94E7}\x{94E8}\x{94E9}\x{94EA}\x{94EB}\x{94EC}\x{94ED}\x{94EE}\x{94EF}' - . '\x{94F0}\x{94F1}\x{94F2}\x{94F3}\x{94F4}\x{94F5}\x{94F6}\x{94F7}\x{94F8}' - . '\x{94F9}\x{94FA}\x{94FB}\x{94FC}\x{94FD}\x{94FE}\x{94FF}\x{9500}\x{9501}' - . '\x{9502}\x{9503}\x{9504}\x{9505}\x{9506}\x{9507}\x{9508}\x{9509}\x{950A}' - . '\x{950B}\x{950C}\x{950D}\x{950E}\x{950F}\x{9510}\x{9511}\x{9512}\x{9513}' - . '\x{9514}\x{9515}\x{9516}\x{9517}\x{9518}\x{9519}\x{951A}\x{951B}\x{951C}' - . '\x{951D}\x{951E}\x{951F}\x{9520}\x{9521}\x{9522}\x{9523}\x{9524}\x{9525}' - . '\x{9526}\x{9527}\x{9528}\x{9529}\x{952A}\x{952B}\x{952C}\x{952D}\x{952E}' - . '\x{952F}\x{9530}\x{9531}\x{9532}\x{9533}\x{9534}\x{9535}\x{9536}\x{9537}' - . '\x{9538}\x{9539}\x{953A}\x{953B}\x{953C}\x{953D}\x{953E}\x{953F}\x{9540}' - . '\x{9541}\x{9542}\x{9543}\x{9544}\x{9545}\x{9546}\x{9547}\x{9548}\x{9549}' - . '\x{954A}\x{954B}\x{954C}\x{954D}\x{954E}\x{954F}\x{9550}\x{9551}\x{9552}' - . '\x{9553}\x{9554}\x{9555}\x{9556}\x{9557}\x{9558}\x{9559}\x{955A}\x{955B}' - . '\x{955C}\x{955D}\x{955E}\x{955F}\x{9560}\x{9561}\x{9562}\x{9563}\x{9564}' - . '\x{9565}\x{9566}\x{9567}\x{9568}\x{9569}\x{956A}\x{956B}\x{956C}\x{956D}' - . '\x{956E}\x{956F}\x{9570}\x{9571}\x{9572}\x{9573}\x{9574}\x{9575}\x{9576}' - . '\x{9577}\x{957A}\x{957B}\x{957C}\x{957D}\x{957F}\x{9580}\x{9581}\x{9582}' - . '\x{9583}\x{9584}\x{9586}\x{9587}\x{9588}\x{9589}\x{958A}\x{958B}\x{958C}' - . '\x{958D}\x{958E}\x{958F}\x{9590}\x{9591}\x{9592}\x{9593}\x{9594}\x{9595}' - . '\x{9596}\x{9598}\x{9599}\x{959A}\x{959B}\x{959C}\x{959D}\x{959E}\x{959F}' - . '\x{95A1}\x{95A2}\x{95A3}\x{95A4}\x{95A5}\x{95A6}\x{95A7}\x{95A8}\x{95A9}' - . '\x{95AA}\x{95AB}\x{95AC}\x{95AD}\x{95AE}\x{95AF}\x{95B0}\x{95B1}\x{95B2}' - . '\x{95B5}\x{95B6}\x{95B7}\x{95B9}\x{95BA}\x{95BB}\x{95BC}\x{95BD}\x{95BE}' - . '\x{95BF}\x{95C0}\x{95C2}\x{95C3}\x{95C4}\x{95C5}\x{95C6}\x{95C7}\x{95C8}' - . '\x{95C9}\x{95CA}\x{95CB}\x{95CC}\x{95CD}\x{95CE}\x{95CF}\x{95D0}\x{95D1}' - . '\x{95D2}\x{95D3}\x{95D4}\x{95D5}\x{95D6}\x{95D7}\x{95D8}\x{95DA}\x{95DB}' - . '\x{95DC}\x{95DE}\x{95DF}\x{95E0}\x{95E1}\x{95E2}\x{95E3}\x{95E4}\x{95E5}' - . '\x{95E6}\x{95E7}\x{95E8}\x{95E9}\x{95EA}\x{95EB}\x{95EC}\x{95ED}\x{95EE}' - . '\x{95EF}\x{95F0}\x{95F1}\x{95F2}\x{95F3}\x{95F4}\x{95F5}\x{95F6}\x{95F7}' - . '\x{95F8}\x{95F9}\x{95FA}\x{95FB}\x{95FC}\x{95FD}\x{95FE}\x{95FF}\x{9600}' - . '\x{9601}\x{9602}\x{9603}\x{9604}\x{9605}\x{9606}\x{9607}\x{9608}\x{9609}' - . '\x{960A}\x{960B}\x{960C}\x{960D}\x{960E}\x{960F}\x{9610}\x{9611}\x{9612}' - . '\x{9613}\x{9614}\x{9615}\x{9616}\x{9617}\x{9618}\x{9619}\x{961A}\x{961B}' - . '\x{961C}\x{961D}\x{961E}\x{961F}\x{9620}\x{9621}\x{9622}\x{9623}\x{9624}' - . '\x{9627}\x{9628}\x{962A}\x{962B}\x{962C}\x{962D}\x{962E}\x{962F}\x{9630}' - . '\x{9631}\x{9632}\x{9633}\x{9634}\x{9635}\x{9636}\x{9637}\x{9638}\x{9639}' - . '\x{963A}\x{963B}\x{963C}\x{963D}\x{963F}\x{9640}\x{9641}\x{9642}\x{9643}' - . '\x{9644}\x{9645}\x{9646}\x{9647}\x{9648}\x{9649}\x{964A}\x{964B}\x{964C}' - . '\x{964D}\x{964E}\x{964F}\x{9650}\x{9651}\x{9652}\x{9653}\x{9654}\x{9655}' - . '\x{9658}\x{9659}\x{965A}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9660}' - . '\x{9661}\x{9662}\x{9663}\x{9664}\x{9666}\x{9667}\x{9668}\x{9669}\x{966A}' - . '\x{966B}\x{966C}\x{966D}\x{966E}\x{966F}\x{9670}\x{9671}\x{9672}\x{9673}' - . '\x{9674}\x{9675}\x{9676}\x{9677}\x{9678}\x{967C}\x{967D}\x{967E}\x{9680}' - . '\x{9683}\x{9684}\x{9685}\x{9686}\x{9687}\x{9688}\x{9689}\x{968A}\x{968B}' - . '\x{968D}\x{968E}\x{968F}\x{9690}\x{9691}\x{9692}\x{9693}\x{9694}\x{9695}' - . '\x{9697}\x{9698}\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}\x{96A1}\x{96A2}' - . '\x{96A3}\x{96A4}\x{96A5}\x{96A6}\x{96A7}\x{96A8}\x{96A9}\x{96AA}\x{96AC}' - . '\x{96AD}\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}\x{96B7}\x{96B8}' - . '\x{96B9}\x{96BA}\x{96BB}\x{96BC}\x{96BD}\x{96BE}\x{96BF}\x{96C0}\x{96C1}' - . '\x{96C2}\x{96C3}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C8}\x{96C9}\x{96CA}' - . '\x{96CB}\x{96CC}\x{96CD}\x{96CE}\x{96CF}\x{96D0}\x{96D1}\x{96D2}\x{96D3}' - . '\x{96D4}\x{96D5}\x{96D6}\x{96D7}\x{96D8}\x{96D9}\x{96DA}\x{96DB}\x{96DC}' - . '\x{96DD}\x{96DE}\x{96DF}\x{96E0}\x{96E1}\x{96E2}\x{96E3}\x{96E5}\x{96E8}' - . '\x{96E9}\x{96EA}\x{96EB}\x{96EC}\x{96ED}\x{96EE}\x{96EF}\x{96F0}\x{96F1}' - . '\x{96F2}\x{96F3}\x{96F4}\x{96F5}\x{96F6}\x{96F7}\x{96F8}\x{96F9}\x{96FA}' - . '\x{96FB}\x{96FD}\x{96FE}\x{96FF}\x{9700}\x{9701}\x{9702}\x{9703}\x{9704}' - . '\x{9705}\x{9706}\x{9707}\x{9708}\x{9709}\x{970A}\x{970B}\x{970C}\x{970D}' - . '\x{970E}\x{970F}\x{9710}\x{9711}\x{9712}\x{9713}\x{9715}\x{9716}\x{9718}' - . '\x{9719}\x{971C}\x{971D}\x{971E}\x{971F}\x{9720}\x{9721}\x{9722}\x{9723}' - . '\x{9724}\x{9725}\x{9726}\x{9727}\x{9728}\x{9729}\x{972A}\x{972B}\x{972C}' - . '\x{972D}\x{972E}\x{972F}\x{9730}\x{9731}\x{9732}\x{9735}\x{9736}\x{9738}' - . '\x{9739}\x{973A}\x{973B}\x{973C}\x{973D}\x{973E}\x{973F}\x{9742}\x{9743}' - . '\x{9744}\x{9745}\x{9746}\x{9747}\x{9748}\x{9749}\x{974A}\x{974B}\x{974C}' - . '\x{974E}\x{974F}\x{9750}\x{9751}\x{9752}\x{9753}\x{9754}\x{9755}\x{9756}' - . '\x{9758}\x{9759}\x{975A}\x{975B}\x{975C}\x{975D}\x{975E}\x{975F}\x{9760}' - . '\x{9761}\x{9762}\x{9765}\x{9766}\x{9767}\x{9768}\x{9769}\x{976A}\x{976B}' - . '\x{976C}\x{976D}\x{976E}\x{976F}\x{9770}\x{9772}\x{9773}\x{9774}\x{9776}' - . '\x{9777}\x{9778}\x{9779}\x{977A}\x{977B}\x{977C}\x{977D}\x{977E}\x{977F}' - . '\x{9780}\x{9781}\x{9782}\x{9783}\x{9784}\x{9785}\x{9786}\x{9788}\x{978A}' - . '\x{978B}\x{978C}\x{978D}\x{978E}\x{978F}\x{9790}\x{9791}\x{9792}\x{9793}' - . '\x{9794}\x{9795}\x{9796}\x{9797}\x{9798}\x{9799}\x{979A}\x{979C}\x{979D}' - . '\x{979E}\x{979F}\x{97A0}\x{97A1}\x{97A2}\x{97A3}\x{97A4}\x{97A5}\x{97A6}' - . '\x{97A7}\x{97A8}\x{97AA}\x{97AB}\x{97AC}\x{97AD}\x{97AE}\x{97AF}\x{97B2}' - . '\x{97B3}\x{97B4}\x{97B6}\x{97B7}\x{97B8}\x{97B9}\x{97BA}\x{97BB}\x{97BC}' - . '\x{97BD}\x{97BF}\x{97C1}\x{97C2}\x{97C3}\x{97C4}\x{97C5}\x{97C6}\x{97C7}' - . '\x{97C8}\x{97C9}\x{97CA}\x{97CB}\x{97CC}\x{97CD}\x{97CE}\x{97CF}\x{97D0}' - . '\x{97D1}\x{97D3}\x{97D4}\x{97D5}\x{97D6}\x{97D7}\x{97D8}\x{97D9}\x{97DA}' - . '\x{97DB}\x{97DC}\x{97DD}\x{97DE}\x{97DF}\x{97E0}\x{97E1}\x{97E2}\x{97E3}' - . '\x{97E4}\x{97E5}\x{97E6}\x{97E7}\x{97E8}\x{97E9}\x{97EA}\x{97EB}\x{97EC}' - . '\x{97ED}\x{97EE}\x{97EF}\x{97F0}\x{97F1}\x{97F2}\x{97F3}\x{97F4}\x{97F5}' - . '\x{97F6}\x{97F7}\x{97F8}\x{97F9}\x{97FA}\x{97FB}\x{97FD}\x{97FE}\x{97FF}' - . '\x{9800}\x{9801}\x{9802}\x{9803}\x{9804}\x{9805}\x{9806}\x{9807}\x{9808}' - . '\x{9809}\x{980A}\x{980B}\x{980C}\x{980D}\x{980E}\x{980F}\x{9810}\x{9811}' - . '\x{9812}\x{9813}\x{9814}\x{9815}\x{9816}\x{9817}\x{9818}\x{9819}\x{981A}' - . '\x{981B}\x{981C}\x{981D}\x{981E}\x{9820}\x{9821}\x{9822}\x{9823}\x{9824}' - . '\x{9826}\x{9827}\x{9828}\x{9829}\x{982B}\x{982D}\x{982E}\x{982F}\x{9830}' - . '\x{9831}\x{9832}\x{9834}\x{9835}\x{9836}\x{9837}\x{9838}\x{9839}\x{983B}' - . '\x{983C}\x{983D}\x{983F}\x{9840}\x{9841}\x{9843}\x{9844}\x{9845}\x{9846}' - . '\x{9848}\x{9849}\x{984A}\x{984C}\x{984D}\x{984E}\x{984F}\x{9850}\x{9851}' - . '\x{9852}\x{9853}\x{9854}\x{9855}\x{9857}\x{9858}\x{9859}\x{985A}\x{985B}' - . '\x{985C}\x{985D}\x{985E}\x{985F}\x{9860}\x{9861}\x{9862}\x{9863}\x{9864}' - . '\x{9865}\x{9867}\x{9869}\x{986A}\x{986B}\x{986C}\x{986D}\x{986E}\x{986F}' - . '\x{9870}\x{9871}\x{9872}\x{9873}\x{9874}\x{9875}\x{9876}\x{9877}\x{9878}' - . '\x{9879}\x{987A}\x{987B}\x{987C}\x{987D}\x{987E}\x{987F}\x{9880}\x{9881}' - . '\x{9882}\x{9883}\x{9884}\x{9885}\x{9886}\x{9887}\x{9888}\x{9889}\x{988A}' - . '\x{988B}\x{988C}\x{988D}\x{988E}\x{988F}\x{9890}\x{9891}\x{9892}\x{9893}' - . '\x{9894}\x{9895}\x{9896}\x{9897}\x{9898}\x{9899}\x{989A}\x{989B}\x{989C}' - . '\x{989D}\x{989E}\x{989F}\x{98A0}\x{98A1}\x{98A2}\x{98A3}\x{98A4}\x{98A5}' - . '\x{98A6}\x{98A7}\x{98A8}\x{98A9}\x{98AA}\x{98AB}\x{98AC}\x{98AD}\x{98AE}' - . '\x{98AF}\x{98B0}\x{98B1}\x{98B2}\x{98B3}\x{98B4}\x{98B5}\x{98B6}\x{98B8}' - . '\x{98B9}\x{98BA}\x{98BB}\x{98BC}\x{98BD}\x{98BE}\x{98BF}\x{98C0}\x{98C1}' - . '\x{98C2}\x{98C3}\x{98C4}\x{98C5}\x{98C6}\x{98C8}\x{98C9}\x{98CB}\x{98CC}' - . '\x{98CD}\x{98CE}\x{98CF}\x{98D0}\x{98D1}\x{98D2}\x{98D3}\x{98D4}\x{98D5}' - . '\x{98D6}\x{98D7}\x{98D8}\x{98D9}\x{98DA}\x{98DB}\x{98DC}\x{98DD}\x{98DE}' - . '\x{98DF}\x{98E0}\x{98E2}\x{98E3}\x{98E5}\x{98E6}\x{98E7}\x{98E8}\x{98E9}' - . '\x{98EA}\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}\x{98F3}\x{98F4}\x{98F5}' - . '\x{98F6}\x{98F7}\x{98F9}\x{98FA}\x{98FC}\x{98FD}\x{98FE}\x{98FF}\x{9900}' - . '\x{9901}\x{9902}\x{9903}\x{9904}\x{9905}\x{9906}\x{9907}\x{9908}\x{9909}' - . '\x{990A}\x{990B}\x{990C}\x{990D}\x{990E}\x{990F}\x{9910}\x{9911}\x{9912}' - . '\x{9913}\x{9914}\x{9915}\x{9916}\x{9917}\x{9918}\x{991A}\x{991B}\x{991C}' - . '\x{991D}\x{991E}\x{991F}\x{9920}\x{9921}\x{9922}\x{9923}\x{9924}\x{9925}' - . '\x{9926}\x{9927}\x{9928}\x{9929}\x{992A}\x{992B}\x{992C}\x{992D}\x{992E}' - . '\x{992F}\x{9930}\x{9931}\x{9932}\x{9933}\x{9934}\x{9935}\x{9936}\x{9937}' - . '\x{9938}\x{9939}\x{993A}\x{993C}\x{993D}\x{993E}\x{993F}\x{9940}\x{9941}' - . '\x{9942}\x{9943}\x{9945}\x{9946}\x{9947}\x{9948}\x{9949}\x{994A}\x{994B}' - . '\x{994C}\x{994E}\x{994F}\x{9950}\x{9951}\x{9952}\x{9953}\x{9954}\x{9955}' - . '\x{9956}\x{9957}\x{9958}\x{9959}\x{995B}\x{995C}\x{995E}\x{995F}\x{9960}' - . '\x{9961}\x{9962}\x{9963}\x{9964}\x{9965}\x{9966}\x{9967}\x{9968}\x{9969}' - . '\x{996A}\x{996B}\x{996C}\x{996D}\x{996E}\x{996F}\x{9970}\x{9971}\x{9972}' - . '\x{9973}\x{9974}\x{9975}\x{9976}\x{9977}\x{9978}\x{9979}\x{997A}\x{997B}' - . '\x{997C}\x{997D}\x{997E}\x{997F}\x{9980}\x{9981}\x{9982}\x{9983}\x{9984}' - . '\x{9985}\x{9986}\x{9987}\x{9988}\x{9989}\x{998A}\x{998B}\x{998C}\x{998D}' - . '\x{998E}\x{998F}\x{9990}\x{9991}\x{9992}\x{9993}\x{9994}\x{9995}\x{9996}' - . '\x{9997}\x{9998}\x{9999}\x{999A}\x{999B}\x{999C}\x{999D}\x{999E}\x{999F}' - . '\x{99A0}\x{99A1}\x{99A2}\x{99A3}\x{99A4}\x{99A5}\x{99A6}\x{99A7}\x{99A8}' - . '\x{99A9}\x{99AA}\x{99AB}\x{99AC}\x{99AD}\x{99AE}\x{99AF}\x{99B0}\x{99B1}' - . '\x{99B2}\x{99B3}\x{99B4}\x{99B5}\x{99B6}\x{99B7}\x{99B8}\x{99B9}\x{99BA}' - . '\x{99BB}\x{99BC}\x{99BD}\x{99BE}\x{99C0}\x{99C1}\x{99C2}\x{99C3}\x{99C4}' - . '\x{99C6}\x{99C7}\x{99C8}\x{99C9}\x{99CA}\x{99CB}\x{99CC}\x{99CD}\x{99CE}' - . '\x{99CF}\x{99D0}\x{99D1}\x{99D2}\x{99D3}\x{99D4}\x{99D5}\x{99D6}\x{99D7}' - . '\x{99D8}\x{99D9}\x{99DA}\x{99DB}\x{99DC}\x{99DD}\x{99DE}\x{99DF}\x{99E1}' - . '\x{99E2}\x{99E3}\x{99E4}\x{99E5}\x{99E7}\x{99E8}\x{99E9}\x{99EA}\x{99EC}' - . '\x{99ED}\x{99EE}\x{99EF}\x{99F0}\x{99F1}\x{99F2}\x{99F3}\x{99F4}\x{99F6}' - . '\x{99F7}\x{99F8}\x{99F9}\x{99FA}\x{99FB}\x{99FC}\x{99FD}\x{99FE}\x{99FF}' - . '\x{9A00}\x{9A01}\x{9A02}\x{9A03}\x{9A04}\x{9A05}\x{9A06}\x{9A07}\x{9A08}' - . '\x{9A09}\x{9A0A}\x{9A0B}\x{9A0C}\x{9A0D}\x{9A0E}\x{9A0F}\x{9A11}\x{9A14}' - . '\x{9A15}\x{9A16}\x{9A19}\x{9A1A}\x{9A1B}\x{9A1C}\x{9A1D}\x{9A1E}\x{9A1F}' - . '\x{9A20}\x{9A21}\x{9A22}\x{9A23}\x{9A24}\x{9A25}\x{9A26}\x{9A27}\x{9A29}' - . '\x{9A2A}\x{9A2B}\x{9A2C}\x{9A2D}\x{9A2E}\x{9A2F}\x{9A30}\x{9A31}\x{9A32}' - . '\x{9A33}\x{9A34}\x{9A35}\x{9A36}\x{9A37}\x{9A38}\x{9A39}\x{9A3A}\x{9A3C}' - . '\x{9A3D}\x{9A3E}\x{9A3F}\x{9A40}\x{9A41}\x{9A42}\x{9A43}\x{9A44}\x{9A45}' - . '\x{9A46}\x{9A47}\x{9A48}\x{9A49}\x{9A4A}\x{9A4B}\x{9A4C}\x{9A4D}\x{9A4E}' - . '\x{9A4F}\x{9A50}\x{9A52}\x{9A53}\x{9A54}\x{9A55}\x{9A56}\x{9A57}\x{9A59}' - . '\x{9A5A}\x{9A5B}\x{9A5C}\x{9A5E}\x{9A5F}\x{9A60}\x{9A61}\x{9A62}\x{9A64}' - . '\x{9A65}\x{9A66}\x{9A67}\x{9A68}\x{9A69}\x{9A6A}\x{9A6B}\x{9A6C}\x{9A6D}' - . '\x{9A6E}\x{9A6F}\x{9A70}\x{9A71}\x{9A72}\x{9A73}\x{9A74}\x{9A75}\x{9A76}' - . '\x{9A77}\x{9A78}\x{9A79}\x{9A7A}\x{9A7B}\x{9A7C}\x{9A7D}\x{9A7E}\x{9A7F}' - . '\x{9A80}\x{9A81}\x{9A82}\x{9A83}\x{9A84}\x{9A85}\x{9A86}\x{9A87}\x{9A88}' - . '\x{9A89}\x{9A8A}\x{9A8B}\x{9A8C}\x{9A8D}\x{9A8E}\x{9A8F}\x{9A90}\x{9A91}' - . '\x{9A92}\x{9A93}\x{9A94}\x{9A95}\x{9A96}\x{9A97}\x{9A98}\x{9A99}\x{9A9A}' - . '\x{9A9B}\x{9A9C}\x{9A9D}\x{9A9E}\x{9A9F}\x{9AA0}\x{9AA1}\x{9AA2}\x{9AA3}' - . '\x{9AA4}\x{9AA5}\x{9AA6}\x{9AA7}\x{9AA8}\x{9AAA}\x{9AAB}\x{9AAC}\x{9AAD}' - . '\x{9AAE}\x{9AAF}\x{9AB0}\x{9AB1}\x{9AB2}\x{9AB3}\x{9AB4}\x{9AB5}\x{9AB6}' - . '\x{9AB7}\x{9AB8}\x{9AB9}\x{9ABA}\x{9ABB}\x{9ABC}\x{9ABE}\x{9ABF}\x{9AC0}' - . '\x{9AC1}\x{9AC2}\x{9AC3}\x{9AC4}\x{9AC5}\x{9AC6}\x{9AC7}\x{9AC9}\x{9ACA}' - . '\x{9ACB}\x{9ACC}\x{9ACD}\x{9ACE}\x{9ACF}\x{9AD0}\x{9AD1}\x{9AD2}\x{9AD3}' - . '\x{9AD4}\x{9AD5}\x{9AD6}\x{9AD8}\x{9AD9}\x{9ADA}\x{9ADB}\x{9ADC}\x{9ADD}' - . '\x{9ADE}\x{9ADF}\x{9AE1}\x{9AE2}\x{9AE3}\x{9AE5}\x{9AE6}\x{9AE7}\x{9AEA}' - . '\x{9AEB}\x{9AEC}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF2}\x{9AF3}\x{9AF4}' - . '\x{9AF5}\x{9AF6}\x{9AF7}\x{9AF8}\x{9AF9}\x{9AFA}\x{9AFB}\x{9AFC}\x{9AFD}' - . '\x{9AFE}\x{9AFF}\x{9B01}\x{9B03}\x{9B04}\x{9B05}\x{9B06}\x{9B07}\x{9B08}' - . '\x{9B0A}\x{9B0B}\x{9B0C}\x{9B0D}\x{9B0E}\x{9B0F}\x{9B10}\x{9B11}\x{9B12}' - . '\x{9B13}\x{9B15}\x{9B16}\x{9B17}\x{9B18}\x{9B19}\x{9B1A}\x{9B1C}\x{9B1D}' - . '\x{9B1E}\x{9B1F}\x{9B20}\x{9B21}\x{9B22}\x{9B23}\x{9B24}\x{9B25}\x{9B26}' - . '\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2B}\x{9B2C}\x{9B2D}\x{9B2E}\x{9B2F}' - . '\x{9B30}\x{9B31}\x{9B32}\x{9B33}\x{9B35}\x{9B36}\x{9B37}\x{9B38}\x{9B39}' - . '\x{9B3A}\x{9B3B}\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}\x{9B42}\x{9B43}\x{9B44}' - . '\x{9B45}\x{9B46}\x{9B47}\x{9B48}\x{9B49}\x{9B4A}\x{9B4B}\x{9B4C}\x{9B4D}' - . '\x{9B4E}\x{9B4F}\x{9B51}\x{9B52}\x{9B53}\x{9B54}\x{9B55}\x{9B56}\x{9B58}' - . '\x{9B59}\x{9B5A}\x{9B5B}\x{9B5C}\x{9B5D}\x{9B5E}\x{9B5F}\x{9B60}\x{9B61}' - . '\x{9B63}\x{9B64}\x{9B65}\x{9B66}\x{9B67}\x{9B68}\x{9B69}\x{9B6A}\x{9B6B}' - . '\x{9B6C}\x{9B6D}\x{9B6E}\x{9B6F}\x{9B70}\x{9B71}\x{9B73}\x{9B74}\x{9B75}' - . '\x{9B76}\x{9B77}\x{9B78}\x{9B79}\x{9B7A}\x{9B7B}\x{9B7C}\x{9B7D}\x{9B7E}' - . '\x{9B7F}\x{9B80}\x{9B81}\x{9B82}\x{9B83}\x{9B84}\x{9B85}\x{9B86}\x{9B87}' - . '\x{9B88}\x{9B8A}\x{9B8B}\x{9B8D}\x{9B8E}\x{9B8F}\x{9B90}\x{9B91}\x{9B92}' - . '\x{9B93}\x{9B94}\x{9B95}\x{9B96}\x{9B97}\x{9B98}\x{9B9A}\x{9B9B}\x{9B9C}' - . '\x{9B9D}\x{9B9E}\x{9B9F}\x{9BA0}\x{9BA1}\x{9BA2}\x{9BA3}\x{9BA4}\x{9BA5}' - . '\x{9BA6}\x{9BA7}\x{9BA8}\x{9BA9}\x{9BAA}\x{9BAB}\x{9BAC}\x{9BAD}\x{9BAE}' - . '\x{9BAF}\x{9BB0}\x{9BB1}\x{9BB2}\x{9BB3}\x{9BB4}\x{9BB5}\x{9BB6}\x{9BB7}' - . '\x{9BB8}\x{9BB9}\x{9BBA}\x{9BBB}\x{9BBC}\x{9BBD}\x{9BBE}\x{9BBF}\x{9BC0}' - . '\x{9BC1}\x{9BC3}\x{9BC4}\x{9BC5}\x{9BC6}\x{9BC7}\x{9BC8}\x{9BC9}\x{9BCA}' - . '\x{9BCB}\x{9BCC}\x{9BCD}\x{9BCE}\x{9BCF}\x{9BD0}\x{9BD1}\x{9BD2}\x{9BD3}' - . '\x{9BD4}\x{9BD5}\x{9BD6}\x{9BD7}\x{9BD8}\x{9BD9}\x{9BDA}\x{9BDB}\x{9BDC}' - . '\x{9BDD}\x{9BDE}\x{9BDF}\x{9BE0}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}\x{9BE5}' - . '\x{9BE6}\x{9BE7}\x{9BE8}\x{9BE9}\x{9BEA}\x{9BEB}\x{9BEC}\x{9BED}\x{9BEE}' - . '\x{9BEF}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF3}\x{9BF4}\x{9BF5}\x{9BF7}\x{9BF8}' - . '\x{9BF9}\x{9BFA}\x{9BFB}\x{9BFC}\x{9BFD}\x{9BFE}\x{9BFF}\x{9C02}\x{9C05}' - . '\x{9C06}\x{9C07}\x{9C08}\x{9C09}\x{9C0A}\x{9C0B}\x{9C0C}\x{9C0D}\x{9C0E}' - . '\x{9C0F}\x{9C10}\x{9C11}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C16}\x{9C17}' - . '\x{9C18}\x{9C19}\x{9C1A}\x{9C1B}\x{9C1C}\x{9C1D}\x{9C1E}\x{9C1F}\x{9C20}' - . '\x{9C21}\x{9C22}\x{9C23}\x{9C24}\x{9C25}\x{9C26}\x{9C27}\x{9C28}\x{9C29}' - . '\x{9C2A}\x{9C2B}\x{9C2C}\x{9C2D}\x{9C2F}\x{9C30}\x{9C31}\x{9C32}\x{9C33}' - . '\x{9C34}\x{9C35}\x{9C36}\x{9C37}\x{9C38}\x{9C39}\x{9C3A}\x{9C3B}\x{9C3C}' - . '\x{9C3D}\x{9C3E}\x{9C3F}\x{9C40}\x{9C41}\x{9C43}\x{9C44}\x{9C45}\x{9C46}' - . '\x{9C47}\x{9C48}\x{9C49}\x{9C4A}\x{9C4B}\x{9C4C}\x{9C4D}\x{9C4E}\x{9C50}' - . '\x{9C52}\x{9C53}\x{9C54}\x{9C55}\x{9C56}\x{9C57}\x{9C58}\x{9C59}\x{9C5A}' - . '\x{9C5B}\x{9C5C}\x{9C5D}\x{9C5E}\x{9C5F}\x{9C60}\x{9C62}\x{9C63}\x{9C65}' - . '\x{9C66}\x{9C67}\x{9C68}\x{9C69}\x{9C6A}\x{9C6B}\x{9C6C}\x{9C6D}\x{9C6E}' - . '\x{9C6F}\x{9C70}\x{9C71}\x{9C72}\x{9C73}\x{9C74}\x{9C75}\x{9C77}\x{9C78}' - . '\x{9C79}\x{9C7A}\x{9C7C}\x{9C7D}\x{9C7E}\x{9C7F}\x{9C80}\x{9C81}\x{9C82}' - . '\x{9C83}\x{9C84}\x{9C85}\x{9C86}\x{9C87}\x{9C88}\x{9C89}\x{9C8A}\x{9C8B}' - . '\x{9C8C}\x{9C8D}\x{9C8E}\x{9C8F}\x{9C90}\x{9C91}\x{9C92}\x{9C93}\x{9C94}' - . '\x{9C95}\x{9C96}\x{9C97}\x{9C98}\x{9C99}\x{9C9A}\x{9C9B}\x{9C9C}\x{9C9D}' - . '\x{9C9E}\x{9C9F}\x{9CA0}\x{9CA1}\x{9CA2}\x{9CA3}\x{9CA4}\x{9CA5}\x{9CA6}' - . '\x{9CA7}\x{9CA8}\x{9CA9}\x{9CAA}\x{9CAB}\x{9CAC}\x{9CAD}\x{9CAE}\x{9CAF}' - . '\x{9CB0}\x{9CB1}\x{9CB2}\x{9CB3}\x{9CB4}\x{9CB5}\x{9CB6}\x{9CB7}\x{9CB8}' - . '\x{9CB9}\x{9CBA}\x{9CBB}\x{9CBC}\x{9CBD}\x{9CBE}\x{9CBF}\x{9CC0}\x{9CC1}' - . '\x{9CC2}\x{9CC3}\x{9CC4}\x{9CC5}\x{9CC6}\x{9CC7}\x{9CC8}\x{9CC9}\x{9CCA}' - . '\x{9CCB}\x{9CCC}\x{9CCD}\x{9CCE}\x{9CCF}\x{9CD0}\x{9CD1}\x{9CD2}\x{9CD3}' - . '\x{9CD4}\x{9CD5}\x{9CD6}\x{9CD7}\x{9CD8}\x{9CD9}\x{9CDA}\x{9CDB}\x{9CDC}' - . '\x{9CDD}\x{9CDE}\x{9CDF}\x{9CE0}\x{9CE1}\x{9CE2}\x{9CE3}\x{9CE4}\x{9CE5}' - . '\x{9CE6}\x{9CE7}\x{9CE8}\x{9CE9}\x{9CEA}\x{9CEB}\x{9CEC}\x{9CED}\x{9CEE}' - . '\x{9CEF}\x{9CF0}\x{9CF1}\x{9CF2}\x{9CF3}\x{9CF4}\x{9CF5}\x{9CF6}\x{9CF7}' - . '\x{9CF8}\x{9CF9}\x{9CFA}\x{9CFB}\x{9CFC}\x{9CFD}\x{9CFE}\x{9CFF}\x{9D00}' - . '\x{9D01}\x{9D02}\x{9D03}\x{9D04}\x{9D05}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' - . '\x{9D0A}\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}\x{9D13}\x{9D14}\x{9D15}\x{9D16}' - . '\x{9D17}\x{9D18}\x{9D19}\x{9D1A}\x{9D1B}\x{9D1C}\x{9D1D}\x{9D1E}\x{9D1F}' - . '\x{9D20}\x{9D21}\x{9D22}\x{9D23}\x{9D24}\x{9D25}\x{9D26}\x{9D28}\x{9D29}' - . '\x{9D2B}\x{9D2D}\x{9D2E}\x{9D2F}\x{9D30}\x{9D31}\x{9D32}\x{9D33}\x{9D34}' - . '\x{9D36}\x{9D37}\x{9D38}\x{9D39}\x{9D3A}\x{9D3B}\x{9D3D}\x{9D3E}\x{9D3F}' - . '\x{9D40}\x{9D41}\x{9D42}\x{9D43}\x{9D45}\x{9D46}\x{9D47}\x{9D48}\x{9D49}' - . '\x{9D4A}\x{9D4B}\x{9D4C}\x{9D4D}\x{9D4E}\x{9D4F}\x{9D50}\x{9D51}\x{9D52}' - . '\x{9D53}\x{9D54}\x{9D55}\x{9D56}\x{9D57}\x{9D58}\x{9D59}\x{9D5A}\x{9D5B}' - . '\x{9D5C}\x{9D5D}\x{9D5E}\x{9D5F}\x{9D60}\x{9D61}\x{9D62}\x{9D63}\x{9D64}' - . '\x{9D65}\x{9D66}\x{9D67}\x{9D68}\x{9D69}\x{9D6A}\x{9D6B}\x{9D6C}\x{9D6E}' - . '\x{9D6F}\x{9D70}\x{9D71}\x{9D72}\x{9D73}\x{9D74}\x{9D75}\x{9D76}\x{9D77}' - . '\x{9D78}\x{9D79}\x{9D7A}\x{9D7B}\x{9D7C}\x{9D7D}\x{9D7E}\x{9D7F}\x{9D80}' - . '\x{9D81}\x{9D82}\x{9D83}\x{9D84}\x{9D85}\x{9D86}\x{9D87}\x{9D88}\x{9D89}' - . '\x{9D8A}\x{9D8B}\x{9D8C}\x{9D8D}\x{9D8E}\x{9D90}\x{9D91}\x{9D92}\x{9D93}' - . '\x{9D94}\x{9D96}\x{9D97}\x{9D98}\x{9D99}\x{9D9A}\x{9D9B}\x{9D9C}\x{9D9D}' - . '\x{9D9E}\x{9D9F}\x{9DA0}\x{9DA1}\x{9DA2}\x{9DA3}\x{9DA4}\x{9DA5}\x{9DA6}' - . '\x{9DA7}\x{9DA8}\x{9DA9}\x{9DAA}\x{9DAB}\x{9DAC}\x{9DAD}\x{9DAF}\x{9DB0}' - . '\x{9DB1}\x{9DB2}\x{9DB3}\x{9DB4}\x{9DB5}\x{9DB6}\x{9DB7}\x{9DB8}\x{9DB9}' - . '\x{9DBA}\x{9DBB}\x{9DBC}\x{9DBE}\x{9DBF}\x{9DC1}\x{9DC2}\x{9DC3}\x{9DC4}' - . '\x{9DC5}\x{9DC7}\x{9DC8}\x{9DC9}\x{9DCA}\x{9DCB}\x{9DCC}\x{9DCD}\x{9DCE}' - . '\x{9DCF}\x{9DD0}\x{9DD1}\x{9DD2}\x{9DD3}\x{9DD4}\x{9DD5}\x{9DD6}\x{9DD7}' - . '\x{9DD8}\x{9DD9}\x{9DDA}\x{9DDB}\x{9DDC}\x{9DDD}\x{9DDE}\x{9DDF}\x{9DE0}' - . '\x{9DE1}\x{9DE2}\x{9DE3}\x{9DE4}\x{9DE5}\x{9DE6}\x{9DE7}\x{9DE8}\x{9DE9}' - . '\x{9DEB}\x{9DEC}\x{9DED}\x{9DEE}\x{9DEF}\x{9DF0}\x{9DF1}\x{9DF2}\x{9DF3}' - . '\x{9DF4}\x{9DF5}\x{9DF6}\x{9DF7}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFB}\x{9DFD}' - . '\x{9DFE}\x{9DFF}\x{9E00}\x{9E01}\x{9E02}\x{9E03}\x{9E04}\x{9E05}\x{9E06}' - . '\x{9E07}\x{9E08}\x{9E09}\x{9E0A}\x{9E0B}\x{9E0C}\x{9E0D}\x{9E0F}\x{9E10}' - . '\x{9E11}\x{9E12}\x{9E13}\x{9E14}\x{9E15}\x{9E17}\x{9E18}\x{9E19}\x{9E1A}' - . '\x{9E1B}\x{9E1D}\x{9E1E}\x{9E1F}\x{9E20}\x{9E21}\x{9E22}\x{9E23}\x{9E24}' - . '\x{9E25}\x{9E26}\x{9E27}\x{9E28}\x{9E29}\x{9E2A}\x{9E2B}\x{9E2C}\x{9E2D}' - . '\x{9E2E}\x{9E2F}\x{9E30}\x{9E31}\x{9E32}\x{9E33}\x{9E34}\x{9E35}\x{9E36}' - . '\x{9E37}\x{9E38}\x{9E39}\x{9E3A}\x{9E3B}\x{9E3C}\x{9E3D}\x{9E3E}\x{9E3F}' - . '\x{9E40}\x{9E41}\x{9E42}\x{9E43}\x{9E44}\x{9E45}\x{9E46}\x{9E47}\x{9E48}' - . '\x{9E49}\x{9E4A}\x{9E4B}\x{9E4C}\x{9E4D}\x{9E4E}\x{9E4F}\x{9E50}\x{9E51}' - . '\x{9E52}\x{9E53}\x{9E54}\x{9E55}\x{9E56}\x{9E57}\x{9E58}\x{9E59}\x{9E5A}' - . '\x{9E5B}\x{9E5C}\x{9E5D}\x{9E5E}\x{9E5F}\x{9E60}\x{9E61}\x{9E62}\x{9E63}' - . '\x{9E64}\x{9E65}\x{9E66}\x{9E67}\x{9E68}\x{9E69}\x{9E6A}\x{9E6B}\x{9E6C}' - . '\x{9E6D}\x{9E6E}\x{9E6F}\x{9E70}\x{9E71}\x{9E72}\x{9E73}\x{9E74}\x{9E75}' - . '\x{9E76}\x{9E77}\x{9E79}\x{9E7A}\x{9E7C}\x{9E7D}\x{9E7E}\x{9E7F}\x{9E80}' - . '\x{9E81}\x{9E82}\x{9E83}\x{9E84}\x{9E85}\x{9E86}\x{9E87}\x{9E88}\x{9E89}' - . '\x{9E8A}\x{9E8B}\x{9E8C}\x{9E8D}\x{9E8E}\x{9E91}\x{9E92}\x{9E93}\x{9E94}' - . '\x{9E96}\x{9E97}\x{9E99}\x{9E9A}\x{9E9B}\x{9E9C}\x{9E9D}\x{9E9F}\x{9EA0}' - . '\x{9EA1}\x{9EA3}\x{9EA4}\x{9EA5}\x{9EA6}\x{9EA7}\x{9EA8}\x{9EA9}\x{9EAA}' - . '\x{9EAD}\x{9EAE}\x{9EAF}\x{9EB0}\x{9EB2}\x{9EB3}\x{9EB4}\x{9EB5}\x{9EB6}' - . '\x{9EB7}\x{9EB8}\x{9EBB}\x{9EBC}\x{9EBD}\x{9EBE}\x{9EBF}\x{9EC0}\x{9EC1}' - . '\x{9EC2}\x{9EC3}\x{9EC4}\x{9EC5}\x{9EC6}\x{9EC7}\x{9EC8}\x{9EC9}\x{9ECA}' - . '\x{9ECB}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED1}\x{9ED2}\x{9ED3}' - . '\x{9ED4}\x{9ED5}\x{9ED6}\x{9ED7}\x{9ED8}\x{9ED9}\x{9EDA}\x{9EDB}\x{9EDC}' - . '\x{9EDD}\x{9EDE}\x{9EDF}\x{9EE0}\x{9EE1}\x{9EE2}\x{9EE3}\x{9EE4}\x{9EE5}' - . '\x{9EE6}\x{9EE7}\x{9EE8}\x{9EE9}\x{9EEA}\x{9EEB}\x{9EED}\x{9EEE}\x{9EEF}' - . '\x{9EF0}\x{9EF2}\x{9EF3}\x{9EF4}\x{9EF5}\x{9EF6}\x{9EF7}\x{9EF8}\x{9EF9}' - . '\x{9EFA}\x{9EFB}\x{9EFC}\x{9EFD}\x{9EFE}\x{9EFF}\x{9F00}\x{9F01}\x{9F02}' - . '\x{9F04}\x{9F05}\x{9F06}\x{9F07}\x{9F08}\x{9F09}\x{9F0A}\x{9F0B}\x{9F0C}' - . '\x{9F0D}\x{9F0E}\x{9F0F}\x{9F10}\x{9F12}\x{9F13}\x{9F15}\x{9F16}\x{9F17}' - . '\x{9F18}\x{9F19}\x{9F1A}\x{9F1B}\x{9F1C}\x{9F1D}\x{9F1E}\x{9F1F}\x{9F20}' - . '\x{9F22}\x{9F23}\x{9F24}\x{9F25}\x{9F27}\x{9F28}\x{9F29}\x{9F2A}\x{9F2B}' - . '\x{9F2C}\x{9F2D}\x{9F2E}\x{9F2F}\x{9F30}\x{9F31}\x{9F32}\x{9F33}\x{9F34}' - . '\x{9F35}\x{9F36}\x{9F37}\x{9F38}\x{9F39}\x{9F3A}\x{9F3B}\x{9F3C}\x{9F3D}' - . '\x{9F3E}\x{9F3F}\x{9F40}\x{9F41}\x{9F42}\x{9F43}\x{9F44}\x{9F46}\x{9F47}' - . '\x{9F48}\x{9F49}\x{9F4A}\x{9F4B}\x{9F4C}\x{9F4D}\x{9F4E}\x{9F4F}\x{9F50}' - . '\x{9F51}\x{9F52}\x{9F54}\x{9F55}\x{9F56}\x{9F57}\x{9F58}\x{9F59}\x{9F5A}' - . '\x{9F5B}\x{9F5C}\x{9F5D}\x{9F5E}\x{9F5F}\x{9F60}\x{9F61}\x{9F63}\x{9F64}' - . '\x{9F65}\x{9F66}\x{9F67}\x{9F68}\x{9F69}\x{9F6A}\x{9F6B}\x{9F6C}\x{9F6E}' - . '\x{9F6F}\x{9F70}\x{9F71}\x{9F72}\x{9F73}\x{9F74}\x{9F75}\x{9F76}\x{9F77}' - . '\x{9F78}\x{9F79}\x{9F7A}\x{9F7B}\x{9F7C}\x{9F7D}\x{9F7E}\x{9F7F}\x{9F80}' - . '\x{9F81}\x{9F82}\x{9F83}\x{9F84}\x{9F85}\x{9F86}\x{9F87}\x{9F88}\x{9F89}' - . '\x{9F8A}\x{9F8B}\x{9F8C}\x{9F8D}\x{9F8E}\x{9F8F}\x{9F90}\x{9F91}\x{9F92}' - . '\x{9F93}\x{9F94}\x{9F95}\x{9F96}\x{9F97}\x{9F98}\x{9F99}\x{9F9A}\x{9F9B}' - . '\x{9F9C}\x{9F9D}\x{9F9E}\x{9F9F}\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu', + . '\x{49B6}\x{49B7}\x{4C77}\x{4C9F}-\x{4CA3}\x{4D13}-\x{4D19}\x{4DAE}' + . '\x{4E00}-\x{4E11}\x{4E13}-\x{4E28}\x{4E2A}-\x{4E54}\x{4E56}-\x{4E67}' + . '\x{4E69}-\x{4E78}\x{4E7A}-\x{4E89}\x{4E8B}-\x{4E95}\x{4E97}-\x{4EA2}' + . '\x{4EA4}-\x{4EBB}\x{4EBD}-\x{4ECB}\x{4ECD}-\x{4EE6}\x{4EE8}-\x{4EEC}' + . '\x{4EEF}-\x{4EF7}\x{4EFB}\x{4EFD}\x{4EFF}-\x{4F06}\x{4F08}-\x{4F15}' + . '\x{4F17}-\x{4F27}\x{4F29}-\x{4F30}\x{4F32}-\x{4F34}\x{4F36}\x{4F38}-\x{4F3F}' + . '\x{4F41}-\x{4F43}\x{4F45}-\x{4F70}\x{4F72}-\x{4F8B}\x{4F8D}\x{4F8F}-\x{4FA1}' + . '\x{4FA3}-\x{4FAC}\x{4FAE}-\x{4FBC}\x{4FBE}-\x{4FC5}\x{4FC7}\x{4FC9}-\x{4FCB}' + . '\x{4FCD}-\x{4FE1}\x{4FE3}-\x{4FFB}\x{4FFE}-\x{500F}\x{5011}-\x{5033}' + . '\x{5035}-\x{5037}\x{5039}-\x{503C}\x{503E}-\x{5041}\x{5043}-\x{504F}\x{5051}' + . '\x{5053}-\x{5057}\x{5059}-\x{507B}\x{507D}-\x{5080}\x{5082}-\x{5092}' + . '\x{5094}-\x{5096}\x{5098}-\x{509E}\x{50A2}-\x{50B8}\x{50BA}-\x{50C2}' + . '\x{50C4}-\x{50D7}\x{50D9}-\x{50DE}\x{50E0}\x{50E3}-\x{50EA}\x{50EC}-\x{50F3}' + . '\x{50F5}\x{50F6}\x{50F8}-\x{511A}\x{511C}-\x{5127}\x{5129}\x{512A}' + . '\x{512C}-\x{5141}\x{5143}-\x{5149}\x{514B}-\x{514E}\x{5150}-\x{5152}' + . '\x{5154}-\x{5157}\x{5159}-\x{515F}\x{5161}-\x{5163}\x{5165}-\x{5171}' + . '\x{5173}-\x{517D}\x{517F}-\x{5182}\x{5185}-\x{518D}\x{518F}-\x{51A0}\x{51A2}' + . '\x{51A4}-\x{51A8}\x{51AA}-\x{51AC}\x{51AE}-\x{51B3}\x{51B5}-\x{51B7}\x{51B9}' + . '\x{51BB}-\x{51C1}\x{51C3}-\x{51D1}\x{51D4}-\x{51DE}\x{51E0}-\x{51E5}' + . '\x{51E7}-\x{51EB}\x{51ED}\x{51EF}-\x{51F1}\x{51F3}-\x{5226}\x{5228}-\x{524E}' + . '\x{5250}-\x{5252}\x{5254}-\x{5265}\x{5267}-\x{5270}\x{5272}-\x{5278}' + . '\x{527A}-\x{5284}\x{5286}-\x{528D}\x{528F}-\x{52A3}\x{52A5}-\x{52C3}\x{52C6}' + . '\x{52C7}\x{52C9}-\x{52CB}\x{52CD}\x{52CF}\x{52D0}\x{52D2}\x{52D3}' + . '\x{52D5}-\x{52E0}\x{52E2}-\x{52E4}\x{52E6}-\x{52ED}\x{52EF}-\x{5302}' + . '\x{5305}-\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}-\x{5326}\x{5328}' + . '\x{532A}-\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}-\x{5341}\x{5343}-\x{535A}' + . '\x{535C}\x{535E}-\x{5367}\x{5369}\x{536B}\x{536C}\x{536E}-\x{537F}' + . '\x{5381}-\x{53A0}\x{53A2}-\x{53A9}\x{53AC}-\x{53AE}\x{53B0}-\x{53B9}' + . '\x{53BB}-\x{53C4}\x{53C6}-\x{53CE}\x{53D0}-\x{53D9}\x{53DB}\x{53DC}' + . '\x{53DF}-\x{53E6}\x{53E8}-\x{53FE}\x{5401}-\x{5419}\x{541B}-\x{5421}' + . '\x{5423}-\x{544B}\x{544D}-\x{545C}\x{545E}-\x{5468}\x{546A}-\x{5489}' + . '\x{548B}-\x{54B4}\x{54B6}-\x{54F5}\x{54F7}-\x{5514}\x{5516}\x{5517}' + . '\x{551A}-\x{5546}\x{5548}-\x{555F}\x{5561}-\x{5579}\x{557B}-\x{55DF}' + . '\x{55E1}-\x{55F7}\x{55F9}-\x{5604}\x{5606}-\x{5609}\x{560C}-\x{561F}' + . '\x{5621}-\x{562A}\x{562C}-\x{5636}\x{5638}-\x{563B}\x{563D}-\x{5643}' + . '\x{5645}-\x{564A}\x{564C}-\x{5650}\x{5652}-\x{5655}\x{5657}-\x{565E}\x{5660}' + . '\x{5662}-\x{5674}\x{5676}-\x{567C}\x{567E}-\x{5687}\x{568A}\x{568C}-\x{5695}' + . '\x{5697}-\x{569D}\x{569F}-\x{56A1}\x{56A3}-\x{56B9}\x{56BB}-\x{56CE}' + . '\x{56D0}-\x{56D8}\x{56DA}-\x{56E5}\x{56E7}-\x{56F5}\x{56F7}\x{56F9}\x{56FA}' + . '\x{56FD}-\x{5704}\x{5706}-\x{5710}\x{5712}-\x{5716}\x{5718}-\x{5720}\x{5722}' + . '\x{5723}\x{5725}-\x{573C}\x{573E}-\x{5742}\x{5744}-\x{5747}\x{5749}-\x{5754}' + . '\x{5757}\x{5759}-\x{5762}\x{5764}-\x{576D}\x{576F}-\x{5777}\x{5779}-\x{5780}' + . '\x{5782}-\x{5786}\x{5788}-\x{5795}\x{5797}-\x{57A7}\x{57A9}-\x{57C9}' + . '\x{57CB}-\x{57D0}\x{57D2}-\x{57D6}\x{57D8}-\x{57DA}\x{57DC}\x{57DD}' + . '\x{57DF}-\x{5816}\x{5819}-\x{5840}\x{5842}-\x{584F}\x{5851}-\x{5855}' + . '\x{5857}-\x{585F}\x{5861}-\x{5865}\x{5868}-\x{5876}\x{5878}-\x{5894}' + . '\x{5896}-\x{58A9}\x{58AB}-\x{58B4}\x{58B7}-\x{58BF}\x{58C1}\x{58C2}' + . '\x{58C5}-\x{58CB}\x{58CE}\x{58CF}\x{58D1}-\x{58DB}\x{58DD}-\x{58E0}' + . '\x{58E2}-\x{58E5}\x{58E7}-\x{58F4}\x{58F6}-\x{5900}\x{5902}-\x{5904}\x{5906}' + . '\x{5907}\x{5909}-\x{5910}\x{5912}\x{5914}-\x{5922}\x{5924}-\x{5932}\x{5934}' + . '\x{5935}\x{5937}-\x{5958}\x{595A}\x{595C}-\x{599A}\x{599C}-\x{59B6}' + . '\x{59B8}-\x{59E6}\x{59E8}-\x{5A23}\x{5A25}\x{5A27}-\x{5A2B}\x{5A2D}-\x{5A2F}' + . '\x{5A31}-\x{5A53}\x{5A55}-\x{5A58}\x{5A5A}-\x{5A6E}\x{5A70}\x{5A72}-\x{5A86}' + . '\x{5A88}-\x{5A8C}\x{5A8E}-\x{5AAA}\x{5AAC}-\x{5ACF}\x{5AD1}\x{5AD2}' + . '\x{5AD4}-\x{5AEE}\x{5AF1}-\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}-\x{5B38}' + . '\x{5B3A}-\x{5B45}\x{5B47}-\x{5B4E}\x{5B50}\x{5B51}\x{5B53}-\x{5B5F}' + . '\x{5B62}-\x{5B6E}\x{5B70}-\x{5B78}\x{5B7A}-\x{5B7D}\x{5B7F}-\x{5B85}' + . '\x{5B87}-\x{5B8F}\x{5B91}-\x{5BA8}\x{5BAA}-\x{5BB1}\x{5BB3}-\x{5BB6}' + . '\x{5BB8}-\x{5BBB}\x{5BBD}-\x{5BC7}\x{5BCA}-\x{5BD6}\x{5BD8}\x{5BD9}' + . '\x{5BDB}-\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}-\x{5C1A}\x{5C1C}-\x{5C22}\x{5C24}' + . '\x{5C25}\x{5C27}\x{5C28}\x{5C2A}-\x{5C35}\x{5C37}-\x{5C59}\x{5C5B}-\x{5C84}' + . '\x{5C86}-\x{5CB3}\x{5CB5}-\x{5CB8}\x{5CBA}-\x{5CBF}\x{5CC1}-\x{5CD4}' + . '\x{5CD6}-\x{5CDC}\x{5CDE}-\x{5CF4}\x{5CF6}-\x{5D2A}\x{5D2C}-\x{5D2E}' + . '\x{5D30}-\x{5D3A}\x{5D3C}-\x{5D52}\x{5D54}-\x{5D56}\x{5D58}-\x{5D5B}' + . '\x{5D5D}-\x{5D5F}\x{5D61}-\x{5D82}\x{5D84}-\x{5D95}\x{5D97}-\x{5DA2}' + . '\x{5DA5}-\x{5DAA}\x{5DAC}-\x{5DB2}\x{5DB4}-\x{5DB8}\x{5DBA}-\x{5DC3}' + . '\x{5DC5}-\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}-\x{5DF5}\x{5DF7}-\x{5E11}' + . '\x{5E13}-\x{5E3E}\x{5E40}-\x{5E47}\x{5E49}-\x{5E50}\x{5E52}-\x{5E91}' + . '\x{5E93}-\x{5EB9}\x{5EBB}-\x{5EBF}\x{5EC1}-\x{5EEA}\x{5EEC}-\x{5EF8}' + . '\x{5EFA}-\x{5F08}\x{5F0A}-\x{5F0D}\x{5F0F}\x{5F11}-\x{5F3A}\x{5F3C}' + . '\x{5F3E}-\x{5F8E}\x{5F90}-\x{5F99}\x{5F9B}-\x{5FA2}\x{5FA5}-\x{5FAF}' + . '\x{5FB1}-\x{5FC1}\x{5FC3}-\x{5FCD}\x{5FCF}-\x{5FDA}\x{5FDC}-\x{5FDE}\x{5FE0}' + . '\x{5FE1}\x{5FE3}-\x{5FEB}\x{5FED}-\x{5FFB}\x{5FFD}-\x{6022}\x{6024}-\x{6055}' + . '\x{6057}-\x{605F}\x{6062}-\x{6070}\x{6072}\x{6073}\x{6075}-\x{6090}\x{6092}' + . '\x{6094}-\x{60A4}\x{60A6}-\x{60A8}\x{60AA}-\x{60D1}\x{60D3}-\x{60D5}' + . '\x{60D7}-\x{60DD}\x{60DF}-\x{60E2}\x{60E4}\x{60E6}-\x{60FC}\x{60FE}-\x{6101}' + . '\x{6103}-\x{6106}\x{6108}-\x{6110}\x{6112}-\x{611D}\x{611F}\x{6120}' + . '\x{6122}-\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}-\x{615F}' + . '\x{6161}-\x{616E}\x{6170}-\x{617A}\x{617C}\x{617E}\x{6180}-\x{6185}' + . '\x{6187}-\x{6196}\x{6198}-\x{619B}\x{619D}-\x{61B8}\x{61BA}\x{61BC}-\x{61D2}' + . '\x{61D4}\x{61D6}-\x{61EB}\x{61ED}\x{61EE}\x{61F0}-\x{61F3}\x{61F5}-\x{6204}' + . '\x{6206}-\x{6234}\x{6236}-\x{6238}\x{623A}-\x{6256}\x{6258}-\x{6281}' + . '\x{6283}-\x{628C}\x{628E}-\x{629C}\x{629E}-\x{62A5}\x{62A7}-\x{62DD}' + . '\x{62DF}-\x{62E9}\x{62EB}-\x{6309}\x{630B}-\x{6316}\x{6318}-\x{6330}' + . '\x{6332}-\x{6334}\x{6336}\x{6338}-\x{633E}\x{6340}-\x{635A}\x{635C}-\x{637E}' + . '\x{6380}-\x{638A}\x{638C}-\x{6392}\x{6394}-\x{63BA}\x{63BC}-\x{63D0}' + . '\x{63D2}-\x{6406}\x{6408}-\x{643A}\x{643D}-\x{6441}\x{6443}-\x{6448}' + . '\x{644A}-\x{6459}\x{645B}-\x{647D}\x{647F}-\x{6485}\x{6487}-\x{64A0}' + . '\x{64A2}-\x{64AE}\x{64B0}-\x{64B5}\x{64B7}-\x{64C7}\x{64C9}-\x{64D4}' + . '\x{64D6}-\x{64E0}\x{64E2}-\x{64E4}\x{64E6}-\x{64ED}\x{64EF}-\x{64F4}' + . '\x{64F6}-\x{64F8}\x{64FA}-\x{6501}\x{6503}-\x{6509}\x{650B}-\x{651E}' + . '\x{6520}-\x{6527}\x{6529}-\x{653F}\x{6541}\x{6543}-\x{6559}\x{655B}-\x{655E}' + . '\x{6560}-\x{656C}\x{656E}-\x{657C}\x{657E}-\x{6589}\x{658B}-\x{6599}' + . '\x{659B}-\x{65B4}\x{65B6}-\x{65BD}\x{65BF}-\x{65C7}\x{65CA}-\x{65D0}' + . '\x{65D2}-\x{65D7}\x{65DA}\x{65DB}\x{65DD}-\x{65E3}\x{65E5}-\x{65E9}' + . '\x{65EB}-\x{65F8}\x{65FA}-\x{65FD}\x{6600}-\x{6616}\x{6618}-\x{661D}' + . '\x{661F}-\x{662B}\x{662D}-\x{6636}\x{6639}\x{663A}\x{663C}-\x{663E}' + . '\x{6640}-\x{6647}\x{6649}-\x{664C}\x{664E}-\x{665F}\x{6661}\x{6662}' + . '\x{6664}-\x{6666}\x{6668}-\x{6691}\x{6693}-\x{669B}\x{669D}\x{669F}-\x{66AB}' + . '\x{66AE}-\x{66CF}\x{66D1}\x{66D2}\x{66D4}-\x{66D6}\x{66D8}-\x{66DE}' + . '\x{66E0}-\x{66EE}\x{66F0}-\x{66FC}\x{66FE}-\x{6701}\x{6703}-\x{6706}' + . '\x{6708}-\x{6718}\x{671A}-\x{6723}\x{6725}-\x{6728}\x{672A}-\x{6766}' + . '\x{6768}-\x{6787}\x{6789}-\x{6795}\x{6797}-\x{67A8}\x{67AA}-\x{67BC}\x{67BE}' + . '\x{67C0}-\x{67D4}\x{67D6}\x{67D8}-\x{67F8}\x{67FA}-\x{6800}\x{6802}-\x{6814}' + . '\x{6816}-\x{681D}\x{681F}-\x{6826}\x{6828}-\x{682F}\x{6831}-\x{6857}\x{685B}' + . '\x{685D}\x{6860}-\x{6879}\x{687B}-\x{6894}\x{6896}-\x{6898}\x{689A}-\x{68A4}' + . '\x{68A6}-\x{68B7}\x{68B9}\x{68BB}-\x{68C2}\x{68C4}\x{68C6}-\x{68D8}' + . '\x{68DA}-\x{68E1}\x{68E3}\x{68E4}\x{68E6}-\x{68FF}\x{6901}-\x{6908}' + . '\x{690A}-\x{693D}\x{693F}-\x{694C}\x{694E}-\x{699E}\x{69A0}\x{69A1}' + . '\x{69A3}-\x{69BF}\x{69C1}-\x{69D0}\x{69D3}\x{69D4}\x{69D8}-\x{69F8}' + . '\x{69FA}-\x{6A02}\x{6A04}-\x{6A0B}\x{6A0D}-\x{6A1B}\x{6A1D}-\x{6A23}' + . '\x{6A25}-\x{6A36}\x{6A38}-\x{6A49}\x{6A4B}-\x{6A52}\x{6A54}-\x{6A5B}' + . '\x{6A5D}-\x{6A6D}\x{6A6F}\x{6A71}-\x{6A85}\x{6A87}-\x{6A89}\x{6A8B}-\x{6A8E}' + . '\x{6A90}-\x{6A98}\x{6A9A}-\x{6A9C}\x{6A9E}-\x{6AA9}\x{6AAB}-\x{6AB0}' + . '\x{6AB2}-\x{6ABD}\x{6ABF}\x{6AC1}-\x{6AC3}\x{6AC5}-\x{6AC7}\x{6ACA}-\x{6AD7}' + . '\x{6AD9}-\x{6AE8}\x{6AEA}-\x{6B0D}\x{6B0F}-\x{6B1A}\x{6B1C}-\x{6B2D}' + . '\x{6B2F}-\x{6B34}\x{6B36}-\x{6B3F}\x{6B41}-\x{6B56}\x{6B59}-\x{6B5C}' + . '\x{6B5E}-\x{6B67}\x{6B69}-\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}-\x{6B74}' + . '\x{6B76}-\x{6B7C}\x{6B7E}-\x{6BB0}\x{6BB2}-\x{6BB7}\x{6BB9}-\x{6BE8}' + . '\x{6BEA}-\x{6BF0}\x{6BF2}\x{6BF3}\x{6BF5}-\x{6BF9}\x{6BFB}-\x{6C09}' + . '\x{6C0B}-\x{6C16}\x{6C18}-\x{6C1B}\x{6C1D}-\x{6C2C}\x{6C2E}-\x{6C38}\x{6C3A}' + . '\x{6C3B}\x{6C3D}-\x{6C44}\x{6C46}-\x{6C6B}\x{6C6D}\x{6C6F}-\x{6C9F}' + . '\x{6CA1}-\x{6CD7}\x{6CD9}-\x{6CF3}\x{6CF5}-\x{6D01}\x{6D03}-\x{6D1B}' + . '\x{6D1D}-\x{6D23}\x{6D25}-\x{6D70}\x{6D72}-\x{6D80}\x{6D82}-\x{6D95}' + . '\x{6D97}-\x{6D9B}\x{6D9D}-\x{6DAF}\x{6DB2}-\x{6DB5}\x{6DB7}-\x{6DFD}\x{6E00}' + . '\x{6E03}-\x{6E05}\x{6E07}-\x{6E11}\x{6E14}-\x{6E17}\x{6E19}-\x{6E29}' + . '\x{6E2B}-\x{6E4B}\x{6E4D}-\x{6E6B}\x{6E6D}-\x{6E75}\x{6E77}-\x{6E79}' + . '\x{6E7E}-\x{6E8A}\x{6E8D}-\x{6E94}\x{6E96}-\x{6EDA}\x{6EDC}\x{6EDE}-\x{6EE2}' + . '\x{6EE4}-\x{6F03}\x{6F05}-\x{6F0A}\x{6F0C}-\x{6F41}\x{6F43}-\x{6F47}\x{6F49}' + . '\x{6F4B}-\x{6F78}\x{6F7A}-\x{6F97}\x{6F99}\x{6F9B}-\x{6F9E}\x{6FA0}-\x{6FB6}' + . '\x{6FB8}-\x{6FC4}\x{6FC6}-\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}-\x{6FF4}' + . '\x{6FF6}-\x{6FFC}\x{6FFE}-\x{700F}\x{7011}\x{7012}\x{7014}-\x{701D}' + . '\x{701F}-\x{7046}\x{7048}-\x{704A}\x{704C}\x{704D}\x{704F}-\x{7071}' + . '\x{7074}-\x{707A}\x{707C}-\x{7080}\x{7082}-\x{708C}\x{708E}-\x{7096}' + . '\x{7098}-\x{709A}\x{709C}-\x{70A9}\x{70AB}-\x{70B1}\x{70B3}-\x{70B5}' + . '\x{70B7}-\x{70D4}\x{70D6}-\x{70FD}\x{70FF}-\x{7107}\x{7109}-\x{7113}' + . '\x{7115}-\x{7123}\x{7125}-\x{7132}\x{7135}-\x{713B}\x{713D}-\x{7154}\x{7156}' + . '\x{7158}-\x{716A}\x{716C}\x{716E}-\x{718C}\x{718E}-\x{7195}\x{7197}-\x{71A5}' + . '\x{71A7}-\x{71AA}\x{71AC}-\x{71B5}\x{71B7}-\x{71CB}\x{71CD}-\x{71D2}' + . '\x{71D4}-\x{71F2}\x{71F4}-\x{71F9}\x{71FB}-\x{71FF}\x{7201}-\x{720A}' + . '\x{720C}-\x{7210}\x{7212}-\x{7214}\x{7216}\x{7218}-\x{721F}\x{7221}-\x{7223}' + . '\x{7226}-\x{722E}\x{7230}-\x{7233}\x{7235}-\x{7244}\x{7246}-\x{724D}\x{724F}' + . '\x{7251}-\x{7254}\x{7256}-\x{729F}\x{72A1}-\x{72AA}\x{72AC}-\x{72BD}' + . '\x{72BF}-\x{7301}\x{7303}-\x{730F}\x{7311}-\x{731E}\x{7320}-\x{7327}' + . '\x{7329}-\x{732E}\x{7330}-\x{734E}\x{7350}-\x{7352}\x{7354}-\x{7362}' + . '\x{7364}-\x{739B}\x{739D}-\x{73C0}\x{73C2}-\x{73E0}\x{73E2}\x{73E3}' + . '\x{73E5}-\x{73F2}\x{73F4}-\x{73FA}\x{73FC}-\x{7417}\x{7419}-\x{7438}' + . '\x{743A}-\x{743D}\x{743F}-\x{7446}\x{7448}\x{744A}-\x{7457}\x{7459}-\x{745F}' + . '\x{7461}-\x{747A}\x{747C}-\x{7483}\x{7485}-\x{7495}\x{7497}-\x{749C}' + . '\x{749E}-\x{74A1}\x{74A3}-\x{74C6}\x{74CA}\x{74CB}\x{74CD}-\x{74EA}' + . '\x{74EC}-\x{750D}\x{750F}-\x{751F}\x{7521}-\x{7533}\x{7535}-\x{7540}' + . '\x{7542}-\x{7549}\x{754B}-\x{7551}\x{7553}\x{7554}\x{7556}-\x{755D}\x{755F}' + . '\x{7560}\x{7562}-\x{7570}\x{7572}\x{7574}-\x{7579}\x{757C}-\x{7584}' + . '\x{7586}-\x{758D}\x{758F}-\x{75A8}\x{75AA}-\x{75B6}\x{75B8}-\x{75DB}' + . '\x{75DD}-\x{75E8}\x{75EA}-\x{75ED}\x{75EF}-\x{762B}\x{762D}-\x{7643}' + . '\x{7646}-\x{764D}\x{764F}\x{7650}\x{7652}-\x{7654}\x{7656}-\x{7672}' + . '\x{7674}-\x{7679}\x{767B}-\x{768C}\x{768E}-\x{76A0}\x{76A3}\x{76A4}\x{76A6}' + . '\x{76A7}\x{76A9}-\x{76B2}\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}-\x{76C0}' + . '\x{76C2}-\x{76CA}\x{76CD}-\x{76D8}\x{76DA}-\x{76EA}\x{76EC}-\x{76FF}\x{7701}' + . '\x{7703}-\x{770D}\x{770F}-\x{7720}\x{7722}\x{7723}\x{7725}-\x{772A}' + . '\x{772C}-\x{773E}\x{7740}\x{7741}\x{7743}-\x{7763}\x{7765}-\x{7795}' + . '\x{7797}-\x{77A3}\x{77A5}-\x{77BD}\x{77BF}\x{77C0}\x{77C2}-\x{77D1}' + . '\x{77D3}-\x{77DC}\x{77DE}-\x{77E3}\x{77E5}\x{77E7}-\x{77F3}\x{77F6}-\x{7806}' + . '\x{7808}-\x{7823}\x{7825}-\x{7835}\x{7837}-\x{783E}\x{7840}\x{7841}' + . '\x{7843}-\x{7845}\x{7847}-\x{784A}\x{784C}-\x{784E}\x{7850}-\x{7875}' + . '\x{7877}-\x{7887}\x{7889}-\x{78C1}\x{78C3}-\x{78C6}\x{78C8}-\x{78D1}' + . '\x{78D3}-\x{78EF}\x{78F1}-\x{78F7}\x{78F9}-\x{78FF}\x{7901}-\x{7907}' + . '\x{7909}-\x{790C}\x{790E}-\x{7914}\x{7916}-\x{791E}\x{7921}-\x{7931}' + . '\x{7933}-\x{7935}\x{7937}-\x{7958}\x{795A}-\x{796B}\x{796D}\x{796F}-\x{7974}' + . '\x{7977}-\x{7985}\x{7988}-\x{799C}\x{799F}-\x{79A8}\x{79AA}-\x{79BB}' + . '\x{79BD}-\x{79C3}\x{79C5}\x{79C6}\x{79C8}-\x{79CB}\x{79CD}-\x{79D3}\x{79D5}' + . '\x{79D6}\x{79D8}-\x{7A00}\x{7A02}-\x{7A06}\x{7A08}\x{7A0A}-\x{7A2B}' + . '\x{7A2D}-\x{7A35}\x{7A37}\x{7A39}\x{7A3B}-\x{7A4E}\x{7A50}-\x{7A62}' + . '\x{7A65}-\x{7A69}\x{7A6B}-\x{7A6E}\x{7A70}-\x{7A81}\x{7A83}-\x{7A99}' + . '\x{7A9C}-\x{7AB8}\x{7ABA}\x{7ABE}-\x{7AC1}\x{7AC4}\x{7AC5}\x{7AC7}-\x{7AD6}' + . '\x{7AD8}\x{7AD9}\x{7ADB}-\x{7AE8}\x{7AEA}-\x{7AF4}\x{7AF6}-\x{7AFB}' + . '\x{7AFD}-\x{7B06}\x{7B08}-\x{7B1E}\x{7B20}-\x{7B26}\x{7B28}\x{7B2A}-\x{7B41}' + . '\x{7B43}-\x{7B52}\x{7B54}-\x{7B6E}\x{7B70}-\x{7B79}\x{7B7B}-\x{7B85}' + . '\x{7B87}-\x{7B91}\x{7B93}-\x{7BA2}\x{7BA4}\x{7BA6}-\x{7BAF}\x{7BB1}' + . '\x{7BB3}-\x{7BCE}\x{7BD0}-\x{7BF9}\x{7BFB}-\x{7C13}\x{7C15}-\x{7C1A}' + . '\x{7C1C}-\x{7C2D}\x{7C30}-\x{7C4E}\x{7C50}\x{7C51}\x{7C53}\x{7C54}' + . '\x{7C56}-\x{7C5C}\x{7C5E}-\x{7C75}\x{7C77}-\x{7C82}\x{7C84}-\x{7C86}' + . '\x{7C88}-\x{7C92}\x{7C94}-\x{7C99}\x{7C9B}-\x{7CAA}\x{7CAD}-\x{7CD2}' + . '\x{7CD4}-\x{7CD9}\x{7CDC}-\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}-\x{7CFB}\x{7CFD}' + . '\x{7CFE}\x{7D00}-\x{7D22}\x{7D24}-\x{7D29}\x{7D2B}\x{7D2C}\x{7D2E}-\x{7D47}' + . '\x{7D49}-\x{7D4C}\x{7D4E}-\x{7D59}\x{7D5B}-\x{7D63}\x{7D65}-\x{7D77}' + . '\x{7D79}-\x{7D81}\x{7D83}-\x{7D94}\x{7D96}\x{7D97}\x{7D99}\x{7D9B}-\x{7DA3}' + . '\x{7DA5}-\x{7DA7}\x{7DA9}-\x{7DCC}\x{7DCE}-\x{7DD2}\x{7DD4}-\x{7DDB}' + . '\x{7DDD}-\x{7DE3}\x{7DE6}-\x{7DEA}\x{7DEC}-\x{7DFC}\x{7E00}-\x{7E17}' + . '\x{7E19}-\x{7E49}\x{7E4C}-\x{7E5A}\x{7E5C}-\x{7E63}\x{7E65}-\x{7E9C}' + . '\x{7E9E}-\x{7F3A}\x{7F3D}-\x{7F40}\x{7F42}-\x{7F45}\x{7F47}-\x{7F58}' + . '\x{7F5A}-\x{7F83}\x{7F85}-\x{7F8F}\x{7F91}-\x{7F96}\x{7F98}\x{7F9A}-\x{7FB3}' + . '\x{7FB5}-\x{7FD5}\x{7FD7}-\x{7FDC}\x{7FDE}-\x{7FE3}\x{7FE5}-\x{8009}' + . '\x{800B}-\x{802E}\x{8030}-\x{803B}\x{803D}-\x{803F}\x{8041}-\x{8065}' + . '\x{8067}-\x{8087}\x{8089}-\x{808D}\x{808F}-\x{8093}\x{8095}-\x{80A5}' + . '\x{80A9}-\x{80AB}\x{80AD}-\x{80B2}\x{80B4}-\x{80B8}\x{80BA}-\x{80DE}' + . '\x{80E0}-\x{8102}\x{8105}-\x{8116}\x{8118}-\x{8132}\x{8136}-\x{815E}' + . '\x{8160}-\x{8183}\x{8185}-\x{818F}\x{8191}-\x{8195}\x{8197}-\x{81CA}' + . '\x{81CC}-\x{81D2}\x{81D4}-\x{81E3}\x{81E5}-\x{81EE}\x{81F1}-\x{8212}' + . '\x{8214}-\x{8216}\x{8218}-\x{8223}\x{8225}-\x{822D}\x{822F}-\x{8240}' + . '\x{8242}-\x{8261}\x{8263}\x{8264}\x{8266}-\x{828B}\x{828D}-\x{82B1}' + . '\x{82B3}-\x{82E1}\x{82E3}-\x{82FB}\x{82FD}-\x{8309}\x{830B}-\x{830F}' + . '\x{8311}-\x{832F}\x{8331}-\x{8354}\x{8356}-\x{839E}\x{83A0}-\x{83B4}' + . '\x{83B6}-\x{83BD}\x{83BF}-\x{83E5}\x{83E7}-\x{83EC}\x{83EE}-\x{8413}\x{8415}' + . '\x{8418}-\x{841E}\x{8421}-\x{8457}\x{8459}-\x{8482}\x{8484}-\x{8494}' + . '\x{8496}-\x{84AC}\x{84AE}-\x{84B6}\x{84B8}-\x{84C2}\x{84C4}-\x{84D9}' + . '\x{84DB}-\x{84EC}\x{84EE}-\x{8504}\x{8506}-\x{850F}\x{8511}-\x{8531}' + . '\x{8534}-\x{854B}\x{854D}-\x{854F}\x{8551}-\x{857E}\x{8580}-\x{8592}' + . '\x{8594}-\x{8596}\x{8598}-\x{85B1}\x{85B3}-\x{85BA}\x{85BC}-\x{85CB}' + . '\x{85CD}-\x{85ED}\x{85EF}-\x{85F2}\x{85F4}-\x{85FB}\x{85FD}-\x{8602}' + . '\x{8604}-\x{860C}\x{860F}\x{8611}-\x{8614}\x{8616}-\x{861C}\x{861E}-\x{8636}' + . '\x{8638}-\x{8656}\x{8658}-\x{8674}\x{8676}-\x{8688}\x{868A}-\x{8691}' + . '\x{8693}-\x{869F}\x{86A1}-\x{86A5}\x{86A7}-\x{86CC}\x{86CE}-\x{86D4}' + . '\x{86D6}-\x{86DF}\x{86E1}-\x{86E6}\x{86E8}-\x{86FC}\x{86FE}-\x{871C}' + . '\x{871E}-\x{872E}\x{8730}-\x{873C}\x{873E}-\x{8744}\x{8746}-\x{874A}' + . '\x{874C}-\x{8770}\x{8772}-\x{877E}\x{8780}-\x{878D}\x{878F}-\x{8798}' + . '\x{879A}-\x{87D9}\x{87DB}-\x{87EF}\x{87F1}-\x{8806}\x{8808}-\x{8811}' + . '\x{8813}-\x{882C}\x{882E}-\x{8839}\x{883B}-\x{8846}\x{8848}-\x{8857}' + . '\x{8859}-\x{885B}\x{885D}\x{885E}\x{8860}-\x{8879}\x{887B}-\x{88B4}' + . '\x{88B6}-\x{88E5}\x{88E7}\x{88E8}\x{88EA}-\x{88EC}\x{88EE}-\x{8902}' + . '\x{8904}-\x{890E}\x{8910}-\x{8923}\x{8925}-\x{894C}\x{894E}-\x{8964}' + . '\x{8966}-\x{8974}\x{8976}-\x{897C}\x{897E}-\x{898C}\x{898E}\x{898F}' + . '\x{8991}-\x{8993}\x{8995}-\x{8998}\x{899A}-\x{89A8}\x{89AA}-\x{89AF}' + . '\x{89B1}-\x{89B3}\x{89B5}-\x{89BA}\x{89BD}-\x{89ED}\x{89EF}-\x{89F4}' + . '\x{89F6}-\x{89F8}\x{89FA}-\x{89FC}\x{89FE}-\x{8A04}\x{8A07}-\x{8A13}' + . '\x{8A15}-\x{8A18}\x{8A1A}-\x{8A1F}\x{8A22}-\x{8A2A}\x{8A2C}-\x{8A32}' + . '\x{8A34}-\x{8A3C}\x{8A3E}-\x{8A4A}\x{8A4C}-\x{8A63}\x{8A65}-\x{8A77}' + . '\x{8A79}-\x{8A7C}\x{8A7E}-\x{8A87}\x{8A89}-\x{8A9E}\x{8AA0}-\x{8AAC}\x{8AAE}' + . '\x{8AB0}-\x{8AB6}\x{8AB8}-\x{8ACF}\x{8AD1}-\x{8AEB}\x{8AED}-\x{8B0B}' + . '\x{8B0D}-\x{8B28}\x{8B2A}-\x{8B31}\x{8B33}-\x{8B37}\x{8B39}-\x{8B3E}' + . '\x{8B40}-\x{8B60}\x{8B63}-\x{8B68}\x{8B6A}-\x{8B71}\x{8B73}\x{8B74}' + . '\x{8B76}-\x{8B7B}\x{8B7D}-\x{8B80}\x{8B82}-\x{8B86}\x{8B88}-\x{8B8C}\x{8B8E}' + . '\x{8B90}-\x{8B9A}\x{8B9C}-\x{8C37}\x{8C39}-\x{8C3F}\x{8C41}-\x{8C43}' + . '\x{8C45}-\x{8C50}\x{8C54}-\x{8C57}\x{8C59}-\x{8C73}\x{8C75}-\x{8C7B}\x{8C7D}' + . '\x{8C7E}\x{8C80}-\x{8C82}\x{8C84}-\x{8C86}\x{8C88}-\x{8C8A}\x{8C8C}\x{8C8D}' + . '\x{8C8F}-\x{8C9A}\x{8C9C}-\x{8CA5}\x{8CA7}-\x{8CCA}\x{8CCC}\x{8CCE}-\x{8CD5}' + . '\x{8CD7}\x{8CD9}-\x{8CE8}\x{8CEA}-\x{8CF6}\x{8CF8}-\x{8D00}\x{8D02}-\x{8D10}' + . '\x{8D13}-\x{8D7B}\x{8D7D}-\x{8DA5}\x{8DA7}-\x{8DBF}\x{8DC1}-\x{8DE4}' + . '\x{8DE6}-\x{8E00}\x{8E02}-\x{8E0A}\x{8E0C}-\x{8E31}\x{8E33}-\x{8E45}' + . '\x{8E47}-\x{8E4E}\x{8E50}-\x{8E6D}\x{8E6F}-\x{8E74}\x{8E76}\x{8E78}' + . '\x{8E7A}-\x{8E98}\x{8E9A}\x{8E9C}-\x{8EA1}\x{8EA3}-\x{8EB2}\x{8EB4}\x{8EB5}' + . '\x{8EB8}-\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}-\x{8ED8}\x{8EDA}-\x{8EE1}' + . '\x{8EE4}-\x{8EEF}\x{8EF1}-\x{8F0B}\x{8F0D}\x{8F0E}\x{8F10}-\x{8F18}' + . '\x{8F1A}-\x{8F2C}\x{8F2E}-\x{8F39}\x{8F3B}-\x{8F40}\x{8F42}-\x{8F5B}' + . '\x{8F5D}-\x{8F9C}\x{8F9E}-\x{8FA3}\x{8FA5}-\x{8FB2}\x{8FB4}-\x{8FB9}' + . '\x{8FBB}-\x{8FC2}\x{8FC4}-\x{8FC9}\x{8FCB}-\x{8FE6}\x{8FE8}-\x{900D}' + . '\x{900F}-\x{9029}\x{902B}\x{902D}-\x{9036}\x{9038}\x{903A}-\x{903F}' + . '\x{9041}-\x{9045}\x{9047}-\x{90AA}\x{90AC}-\x{90CB}\x{90CE}-\x{90D1}' + . '\x{90D3}-\x{90F5}\x{90F7}-\x{9109}\x{910B}-\x{913B}\x{913E}-\x{9158}' + . '\x{915A}-\x{917A}\x{917C}-\x{9194}\x{9196}\x{9199}-\x{91A3}\x{91A5}-\x{91A8}' + . '\x{91AA}-\x{91B7}\x{91B9}-\x{91BE}\x{91C0}-\x{91C3}\x{91C5}-\x{91C7}' + . '\x{91C9}-\x{91D5}\x{91D7}-\x{91DF}\x{91E2}-\x{91EE}\x{91F0}-\x{91F5}' + . '\x{91F7}-\x{91FB}\x{91FD}-\x{9212}\x{9214}-\x{921E}\x{9220}\x{9221}' + . '\x{9223}-\x{922B}\x{922D}-\x{9242}\x{9245}-\x{9268}\x{926B}-\x{9270}' + . '\x{9272}-\x{9280}\x{9282}\x{9283}\x{9285}-\x{929D}\x{929F}-\x{92BC}' + . '\x{92BE}-\x{92D3}\x{92D5}-\x{92DA}\x{92DC}-\x{92E1}\x{92E3}-\x{931B}' + . '\x{931D}-\x{932B}\x{932D}-\x{932F}\x{9332}-\x{9361}\x{9363}-\x{9367}\x{9369}' + . '\x{936A}\x{936C}-\x{936E}\x{9370}-\x{9372}\x{9374}-\x{9377}\x{9379}-\x{937E}' + . '\x{9380}\x{9382}-\x{938A}\x{938C}-\x{939B}\x{939D}-\x{939F}\x{93A1}-\x{93AA}' + . '\x{93AC}-\x{93BA}\x{93BC}-\x{93DF}\x{93E1}-\x{93E4}\x{93E6}-\x{93F2}' + . '\x{93F4}-\x{9401}\x{9403}-\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}' + . '\x{9422}\x{9423}\x{9425}-\x{9442}\x{9444}-\x{944D}\x{944F}-\x{9459}' + . '\x{945B}-\x{946B}\x{946D}-\x{947A}\x{947C}-\x{9577}\x{957A}-\x{957D}' + . '\x{957F}-\x{9584}\x{9586}-\x{9596}\x{9598}-\x{959F}\x{95A1}-\x{95B2}' + . '\x{95B5}-\x{95B7}\x{95B9}-\x{95C0}\x{95C2}-\x{95D8}\x{95DA}-\x{95DC}' + . '\x{95DE}-\x{9624}\x{9627}\x{9628}\x{962A}-\x{963D}\x{963F}-\x{9655}' + . '\x{9658}-\x{9664}\x{9666}-\x{9678}\x{967C}-\x{967E}\x{9680}\x{9683}-\x{968B}' + . '\x{968D}-\x{9695}\x{9697}-\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}-\x{96AA}' + . '\x{96AC}-\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}-\x{96E3}\x{96E5}' + . '\x{96E8}-\x{96FB}\x{96FD}-\x{9713}\x{9715}\x{9716}\x{9718}\x{9719}' + . '\x{971C}-\x{9732}\x{9735}\x{9736}\x{9738}-\x{973F}\x{9742}-\x{974C}' + . '\x{974E}-\x{9756}\x{9758}-\x{9762}\x{9765}-\x{9770}\x{9772}-\x{9774}' + . '\x{9776}-\x{9786}\x{9788}\x{978A}-\x{979A}\x{979C}-\x{97A8}\x{97AA}-\x{97AF}' + . '\x{97B2}-\x{97B4}\x{97B6}-\x{97BD}\x{97BF}\x{97C1}-\x{97D1}\x{97D3}-\x{97FB}' + . '\x{97FD}-\x{981E}\x{9820}-\x{9824}\x{9826}-\x{9829}\x{982B}\x{982D}-\x{9832}' + . '\x{9834}-\x{9839}\x{983B}-\x{983D}\x{983F}-\x{9841}\x{9843}-\x{9846}' + . '\x{9848}-\x{984A}\x{984C}-\x{9855}\x{9857}-\x{9865}\x{9867}\x{9869}-\x{98B6}' + . '\x{98B8}-\x{98C6}\x{98C8}\x{98C9}\x{98CB}-\x{98E0}\x{98E2}\x{98E3}' + . '\x{98E5}-\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}-\x{98F7}\x{98F9}\x{98FA}' + . '\x{98FC}-\x{9918}\x{991A}-\x{993A}\x{993C}-\x{9943}\x{9945}-\x{994C}' + . '\x{994E}-\x{9959}\x{995B}\x{995C}\x{995E}-\x{99BE}\x{99C0}-\x{99C4}' + . '\x{99C6}-\x{99DF}\x{99E1}-\x{99E5}\x{99E7}-\x{99EA}\x{99EC}-\x{99F4}' + . '\x{99F6}-\x{9A0F}\x{9A11}\x{9A14}-\x{9A16}\x{9A19}-\x{9A27}\x{9A29}-\x{9A3A}' + . '\x{9A3C}-\x{9A50}\x{9A52}-\x{9A57}\x{9A59}-\x{9A5C}\x{9A5E}-\x{9A62}' + . '\x{9A64}-\x{9AA8}\x{9AAA}-\x{9ABC}\x{9ABE}-\x{9AC7}\x{9AC9}-\x{9AD6}' + . '\x{9AD8}-\x{9ADF}\x{9AE1}-\x{9AE3}\x{9AE5}-\x{9AE7}\x{9AEA}-\x{9AEF}' + . '\x{9AF1}-\x{9AFF}\x{9B01}\x{9B03}-\x{9B08}\x{9B0A}-\x{9B13}\x{9B15}-\x{9B1A}' + . '\x{9B1C}-\x{9B33}\x{9B35}-\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}-\x{9B4F}' + . '\x{9B51}-\x{9B56}\x{9B58}-\x{9B61}\x{9B63}-\x{9B71}\x{9B73}-\x{9B88}\x{9B8A}' + . '\x{9B8B}\x{9B8D}-\x{9B98}\x{9B9A}-\x{9BC1}\x{9BC3}-\x{9BF5}\x{9BF7}-\x{9BFF}' + . '\x{9C02}\x{9C05}-\x{9C2D}\x{9C2F}-\x{9C41}\x{9C43}-\x{9C4E}\x{9C50}' + . '\x{9C52}-\x{9C60}\x{9C62}\x{9C63}\x{9C65}-\x{9C75}\x{9C77}-\x{9C7A}' + . '\x{9C7C}-\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}-\x{9D26}\x{9D28}\x{9D29}\x{9D2B}' + . '\x{9D2D}-\x{9D34}\x{9D36}-\x{9D3B}\x{9D3D}-\x{9D43}\x{9D45}-\x{9D6C}' + . '\x{9D6E}-\x{9D8E}\x{9D90}-\x{9D94}\x{9D96}-\x{9DAD}\x{9DAF}-\x{9DBC}\x{9DBE}' + . '\x{9DBF}\x{9DC1}-\x{9DC5}\x{9DC7}-\x{9DE9}\x{9DEB}-\x{9DFB}\x{9DFD}-\x{9E0D}' + . '\x{9E0F}-\x{9E15}\x{9E17}-\x{9E1B}\x{9E1D}-\x{9E77}\x{9E79}\x{9E7A}' + . '\x{9E7C}-\x{9E8E}\x{9E91}-\x{9E94}\x{9E96}\x{9E97}\x{9E99}-\x{9E9D}' + . '\x{9E9F}-\x{9EA1}\x{9EA3}-\x{9EAA}\x{9EAD}-\x{9EB0}\x{9EB2}-\x{9EB8}' + . '\x{9EBB}-\x{9EEB}\x{9EED}-\x{9EF0}\x{9EF2}-\x{9F02}\x{9F04}-\x{9F10}\x{9F12}' + . '\x{9F13}\x{9F15}-\x{9F20}\x{9F22}-\x{9F25}\x{9F27}-\x{9F44}\x{9F46}-\x{9F52}' + . '\x{9F54}-\x{9F61}\x{9F63}-\x{9F6C}\x{9F6E}-\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu', ]; diff --git a/vendor/laminas/laminas-validator/src/Hostname/Cn.php b/vendor/laminas/laminas-validator/src/Hostname/Cn.php index d280764b0..25e4eaafa 100644 --- a/vendor/laminas/laminas-validator/src/Hostname/Cn.php +++ b/vendor/laminas/laminas-validator/src/Hostname/Cn.php @@ -11,2169 +11,306 @@ . '\x{39DF}\x{3A73}\x{3B4E}\x{3C6E}\x{3CE0}\x{4056}\x{415F}\x{4337}\x{43AC}' . '\x{43B1}\x{43DD}\x{44D6}\x{464C}\x{4661}\x{4723}\x{4729}\x{477C}\x{478D}' . '\x{4947}\x{497A}\x{497D}\x{4982}\x{4983}\x{4985}\x{4986}\x{499B}\x{499F}' - . '\x{49B6}\x{49B7}\x{4C77}\x{4C9F}\x{4CA0}\x{4CA1}\x{4CA2}\x{4CA3}\x{4D13}' - . '\x{4D14}\x{4D15}\x{4D16}\x{4D17}\x{4D18}\x{4D19}\x{4DAE}\x{4E00}\x{4E01}' - . '\x{4E02}\x{4E03}\x{4E04}\x{4E05}\x{4E06}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' - . '\x{4E0B}\x{4E0C}\x{4E0D}\x{4E0E}\x{4E0F}\x{4E10}\x{4E11}\x{4E13}\x{4E14}' - . '\x{4E15}\x{4E16}\x{4E17}\x{4E18}\x{4E19}\x{4E1A}\x{4E1B}\x{4E1C}\x{4E1D}' - . '\x{4E1E}\x{4E1F}\x{4E20}\x{4E21}\x{4E22}\x{4E23}\x{4E24}\x{4E25}\x{4E26}' - . '\x{4E27}\x{4E28}\x{4E2A}\x{4E2B}\x{4E2C}\x{4E2D}\x{4E2E}\x{4E2F}\x{4E30}' - . '\x{4E31}\x{4E32}\x{4E33}\x{4E34}\x{4E35}\x{4E36}\x{4E37}\x{4E38}\x{4E39}' - . '\x{4E3A}\x{4E3B}\x{4E3C}\x{4E3D}\x{4E3E}\x{4E3F}\x{4E40}\x{4E41}\x{4E42}' - . '\x{4E43}\x{4E44}\x{4E45}\x{4E46}\x{4E47}\x{4E48}\x{4E49}\x{4E4A}\x{4E4B}' - . '\x{4E4C}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E50}\x{4E51}\x{4E52}\x{4E53}\x{4E54}' - . '\x{4E56}\x{4E57}\x{4E58}\x{4E59}\x{4E5A}\x{4E5B}\x{4E5C}\x{4E5D}\x{4E5E}' - . '\x{4E5F}\x{4E60}\x{4E61}\x{4E62}\x{4E63}\x{4E64}\x{4E65}\x{4E66}\x{4E67}' - . '\x{4E69}\x{4E6A}\x{4E6B}\x{4E6C}\x{4E6D}\x{4E6E}\x{4E6F}\x{4E70}\x{4E71}' - . '\x{4E72}\x{4E73}\x{4E74}\x{4E75}\x{4E76}\x{4E77}\x{4E78}\x{4E7A}\x{4E7B}' - . '\x{4E7C}\x{4E7D}\x{4E7E}\x{4E7F}\x{4E80}\x{4E81}\x{4E82}\x{4E83}\x{4E84}' - . '\x{4E85}\x{4E86}\x{4E87}\x{4E88}\x{4E89}\x{4E8B}\x{4E8C}\x{4E8D}\x{4E8E}' - . '\x{4E8F}\x{4E90}\x{4E91}\x{4E92}\x{4E93}\x{4E94}\x{4E95}\x{4E97}\x{4E98}' - . '\x{4E99}\x{4E9A}\x{4E9B}\x{4E9C}\x{4E9D}\x{4E9E}\x{4E9F}\x{4EA0}\x{4EA1}' - . '\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA7}\x{4EA8}\x{4EA9}\x{4EAA}\x{4EAB}' - . '\x{4EAC}\x{4EAD}\x{4EAE}\x{4EAF}\x{4EB0}\x{4EB1}\x{4EB2}\x{4EB3}\x{4EB4}' - . '\x{4EB5}\x{4EB6}\x{4EB7}\x{4EB8}\x{4EB9}\x{4EBA}\x{4EBB}\x{4EBD}\x{4EBE}' - . '\x{4EBF}\x{4EC0}\x{4EC1}\x{4EC2}\x{4EC3}\x{4EC4}\x{4EC5}\x{4EC6}\x{4EC7}' - . '\x{4EC8}\x{4EC9}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED0}\x{4ED1}' - . '\x{4ED2}\x{4ED3}\x{4ED4}\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDA}' - . '\x{4EDB}\x{4EDC}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE0}\x{4EE1}\x{4EE2}\x{4EE3}' - . '\x{4EE4}\x{4EE5}\x{4EE6}\x{4EE8}\x{4EE9}\x{4EEA}\x{4EEB}\x{4EEC}\x{4EEF}' - . '\x{4EF0}\x{4EF1}\x{4EF2}\x{4EF3}\x{4EF4}\x{4EF5}\x{4EF6}\x{4EF7}\x{4EFB}' - . '\x{4EFD}\x{4EFF}\x{4F00}\x{4F01}\x{4F02}\x{4F03}\x{4F04}\x{4F05}\x{4F06}' - . '\x{4F08}\x{4F09}\x{4F0A}\x{4F0B}\x{4F0C}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}' - . '\x{4F11}\x{4F12}\x{4F13}\x{4F14}\x{4F15}\x{4F17}\x{4F18}\x{4F19}\x{4F1A}' - . '\x{4F1B}\x{4F1C}\x{4F1D}\x{4F1E}\x{4F1F}\x{4F20}\x{4F21}\x{4F22}\x{4F23}' - . '\x{4F24}\x{4F25}\x{4F26}\x{4F27}\x{4F29}\x{4F2A}\x{4F2B}\x{4F2C}\x{4F2D}' - . '\x{4F2E}\x{4F2F}\x{4F30}\x{4F32}\x{4F33}\x{4F34}\x{4F36}\x{4F38}\x{4F39}' - . '\x{4F3A}\x{4F3B}\x{4F3C}\x{4F3D}\x{4F3E}\x{4F3F}\x{4F41}\x{4F42}\x{4F43}' - . '\x{4F45}\x{4F46}\x{4F47}\x{4F48}\x{4F49}\x{4F4A}\x{4F4B}\x{4F4C}\x{4F4D}' - . '\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}\x{4F52}\x{4F53}\x{4F54}\x{4F55}\x{4F56}' - . '\x{4F57}\x{4F58}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}\x{4F5F}' - . '\x{4F60}\x{4F61}\x{4F62}\x{4F63}\x{4F64}\x{4F65}\x{4F66}\x{4F67}\x{4F68}' - . '\x{4F69}\x{4F6A}\x{4F6B}\x{4F6C}\x{4F6D}\x{4F6E}\x{4F6F}\x{4F70}\x{4F72}' - . '\x{4F73}\x{4F74}\x{4F75}\x{4F76}\x{4F77}\x{4F78}\x{4F79}\x{4F7A}\x{4F7B}' - . '\x{4F7C}\x{4F7D}\x{4F7E}\x{4F7F}\x{4F80}\x{4F81}\x{4F82}\x{4F83}\x{4F84}' - . '\x{4F85}\x{4F86}\x{4F87}\x{4F88}\x{4F89}\x{4F8A}\x{4F8B}\x{4F8D}\x{4F8F}' - . '\x{4F90}\x{4F91}\x{4F92}\x{4F93}\x{4F94}\x{4F95}\x{4F96}\x{4F97}\x{4F98}' - . '\x{4F99}\x{4F9A}\x{4F9B}\x{4F9C}\x{4F9D}\x{4F9E}\x{4F9F}\x{4FA0}\x{4FA1}' - . '\x{4FA3}\x{4FA4}\x{4FA5}\x{4FA6}\x{4FA7}\x{4FA8}\x{4FA9}\x{4FAA}\x{4FAB}' - . '\x{4FAC}\x{4FAE}\x{4FAF}\x{4FB0}\x{4FB1}\x{4FB2}\x{4FB3}\x{4FB4}\x{4FB5}' - . '\x{4FB6}\x{4FB7}\x{4FB8}\x{4FB9}\x{4FBA}\x{4FBB}\x{4FBC}\x{4FBE}\x{4FBF}' - . '\x{4FC0}\x{4FC1}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FC5}\x{4FC7}\x{4FC9}\x{4FCA}' - . '\x{4FCB}\x{4FCD}\x{4FCE}\x{4FCF}\x{4FD0}\x{4FD1}\x{4FD2}\x{4FD3}\x{4FD4}' - . '\x{4FD5}\x{4FD6}\x{4FD7}\x{4FD8}\x{4FD9}\x{4FDA}\x{4FDB}\x{4FDC}\x{4FDD}' - . '\x{4FDE}\x{4FDF}\x{4FE0}\x{4FE1}\x{4FE3}\x{4FE4}\x{4FE5}\x{4FE6}\x{4FE7}' - . '\x{4FE8}\x{4FE9}\x{4FEA}\x{4FEB}\x{4FEC}\x{4FED}\x{4FEE}\x{4FEF}\x{4FF0}' - . '\x{4FF1}\x{4FF2}\x{4FF3}\x{4FF4}\x{4FF5}\x{4FF6}\x{4FF7}\x{4FF8}\x{4FF9}' - . '\x{4FFA}\x{4FFB}\x{4FFE}\x{4FFF}\x{5000}\x{5001}\x{5002}\x{5003}\x{5004}' - . '\x{5005}\x{5006}\x{5007}\x{5008}\x{5009}\x{500A}\x{500B}\x{500C}\x{500D}' - . '\x{500E}\x{500F}\x{5011}\x{5012}\x{5013}\x{5014}\x{5015}\x{5016}\x{5017}' - . '\x{5018}\x{5019}\x{501A}\x{501B}\x{501C}\x{501D}\x{501E}\x{501F}\x{5020}' - . '\x{5021}\x{5022}\x{5023}\x{5024}\x{5025}\x{5026}\x{5027}\x{5028}\x{5029}' - . '\x{502A}\x{502B}\x{502C}\x{502D}\x{502E}\x{502F}\x{5030}\x{5031}\x{5032}' - . '\x{5033}\x{5035}\x{5036}\x{5037}\x{5039}\x{503A}\x{503B}\x{503C}\x{503E}' - . '\x{503F}\x{5040}\x{5041}\x{5043}\x{5044}\x{5045}\x{5046}\x{5047}\x{5048}' - . '\x{5049}\x{504A}\x{504B}\x{504C}\x{504D}\x{504E}\x{504F}\x{5051}\x{5053}' - . '\x{5054}\x{5055}\x{5056}\x{5057}\x{5059}\x{505A}\x{505B}\x{505C}\x{505D}' - . '\x{505E}\x{505F}\x{5060}\x{5061}\x{5062}\x{5063}\x{5064}\x{5065}\x{5066}' - . '\x{5067}\x{5068}\x{5069}\x{506A}\x{506B}\x{506C}\x{506D}\x{506E}\x{506F}' - . '\x{5070}\x{5071}\x{5072}\x{5073}\x{5074}\x{5075}\x{5076}\x{5077}\x{5078}' - . '\x{5079}\x{507A}\x{507B}\x{507D}\x{507E}\x{507F}\x{5080}\x{5082}\x{5083}' - . '\x{5084}\x{5085}\x{5086}\x{5087}\x{5088}\x{5089}\x{508A}\x{508B}\x{508C}' - . '\x{508D}\x{508E}\x{508F}\x{5090}\x{5091}\x{5092}\x{5094}\x{5095}\x{5096}' - . '\x{5098}\x{5099}\x{509A}\x{509B}\x{509C}\x{509D}\x{509E}\x{50A2}\x{50A3}' - . '\x{50A4}\x{50A5}\x{50A6}\x{50A7}\x{50A8}\x{50A9}\x{50AA}\x{50AB}\x{50AC}' - . '\x{50AD}\x{50AE}\x{50AF}\x{50B0}\x{50B1}\x{50B2}\x{50B3}\x{50B4}\x{50B5}' - . '\x{50B6}\x{50B7}\x{50B8}\x{50BA}\x{50BB}\x{50BC}\x{50BD}\x{50BE}\x{50BF}' - . '\x{50C0}\x{50C1}\x{50C2}\x{50C4}\x{50C5}\x{50C6}\x{50C7}\x{50C8}\x{50C9}' - . '\x{50CA}\x{50CB}\x{50CC}\x{50CD}\x{50CE}\x{50CF}\x{50D0}\x{50D1}\x{50D2}' - . '\x{50D3}\x{50D4}\x{50D5}\x{50D6}\x{50D7}\x{50D9}\x{50DA}\x{50DB}\x{50DC}' - . '\x{50DD}\x{50DE}\x{50E0}\x{50E3}\x{50E4}\x{50E5}\x{50E6}\x{50E7}\x{50E8}' - . '\x{50E9}\x{50EA}\x{50EC}\x{50ED}\x{50EE}\x{50EF}\x{50F0}\x{50F1}\x{50F2}' - . '\x{50F3}\x{50F5}\x{50F6}\x{50F8}\x{50F9}\x{50FA}\x{50FB}\x{50FC}\x{50FD}' - . '\x{50FE}\x{50FF}\x{5100}\x{5101}\x{5102}\x{5103}\x{5104}\x{5105}\x{5106}' - . '\x{5107}\x{5108}\x{5109}\x{510A}\x{510B}\x{510C}\x{510D}\x{510E}\x{510F}' - . '\x{5110}\x{5111}\x{5112}\x{5113}\x{5114}\x{5115}\x{5116}\x{5117}\x{5118}' - . '\x{5119}\x{511A}\x{511C}\x{511D}\x{511E}\x{511F}\x{5120}\x{5121}\x{5122}' - . '\x{5123}\x{5124}\x{5125}\x{5126}\x{5127}\x{5129}\x{512A}\x{512C}\x{512D}' - . '\x{512E}\x{512F}\x{5130}\x{5131}\x{5132}\x{5133}\x{5134}\x{5135}\x{5136}' - . '\x{5137}\x{5138}\x{5139}\x{513A}\x{513B}\x{513C}\x{513D}\x{513E}\x{513F}' - . '\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' - . '\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5151}\x{5152}\x{5154}\x{5155}' - . '\x{5156}\x{5157}\x{5159}\x{515A}\x{515B}\x{515C}\x{515D}\x{515E}\x{515F}' - . '\x{5161}\x{5162}\x{5163}\x{5165}\x{5166}\x{5167}\x{5168}\x{5169}\x{516A}' - . '\x{516B}\x{516C}\x{516D}\x{516E}\x{516F}\x{5170}\x{5171}\x{5173}\x{5174}' - . '\x{5175}\x{5176}\x{5177}\x{5178}\x{5179}\x{517A}\x{517B}\x{517C}\x{517D}' - . '\x{517F}\x{5180}\x{5181}\x{5182}\x{5185}\x{5186}\x{5187}\x{5188}\x{5189}' - . '\x{518A}\x{518B}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}\x{5193}' - . '\x{5194}\x{5195}\x{5196}\x{5197}\x{5198}\x{5199}\x{519A}\x{519B}\x{519C}' - . '\x{519D}\x{519E}\x{519F}\x{51A0}\x{51A2}\x{51A4}\x{51A5}\x{51A6}\x{51A7}' - . '\x{51A8}\x{51AA}\x{51AB}\x{51AC}\x{51AE}\x{51AF}\x{51B0}\x{51B1}\x{51B2}' - . '\x{51B3}\x{51B5}\x{51B6}\x{51B7}\x{51B9}\x{51BB}\x{51BC}\x{51BD}\x{51BE}' - . '\x{51BF}\x{51C0}\x{51C1}\x{51C3}\x{51C4}\x{51C5}\x{51C6}\x{51C7}\x{51C8}' - . '\x{51C9}\x{51CA}\x{51CB}\x{51CC}\x{51CD}\x{51CE}\x{51CF}\x{51D0}\x{51D1}' - . '\x{51D4}\x{51D5}\x{51D6}\x{51D7}\x{51D8}\x{51D9}\x{51DA}\x{51DB}\x{51DC}' - . '\x{51DD}\x{51DE}\x{51E0}\x{51E1}\x{51E2}\x{51E3}\x{51E4}\x{51E5}\x{51E7}' - . '\x{51E8}\x{51E9}\x{51EA}\x{51EB}\x{51ED}\x{51EF}\x{51F0}\x{51F1}\x{51F3}' - . '\x{51F4}\x{51F5}\x{51F6}\x{51F7}\x{51F8}\x{51F9}\x{51FA}\x{51FB}\x{51FC}' - . '\x{51FD}\x{51FE}\x{51FF}\x{5200}\x{5201}\x{5202}\x{5203}\x{5204}\x{5205}' - . '\x{5206}\x{5207}\x{5208}\x{5209}\x{520A}\x{520B}\x{520C}\x{520D}\x{520E}' - . '\x{520F}\x{5210}\x{5211}\x{5212}\x{5213}\x{5214}\x{5215}\x{5216}\x{5217}' - . '\x{5218}\x{5219}\x{521A}\x{521B}\x{521C}\x{521D}\x{521E}\x{521F}\x{5220}' - . '\x{5221}\x{5222}\x{5223}\x{5224}\x{5225}\x{5226}\x{5228}\x{5229}\x{522A}' - . '\x{522B}\x{522C}\x{522D}\x{522E}\x{522F}\x{5230}\x{5231}\x{5232}\x{5233}' - . '\x{5234}\x{5235}\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{523C}' - . '\x{523D}\x{523E}\x{523F}\x{5240}\x{5241}\x{5242}\x{5243}\x{5244}\x{5245}' - . '\x{5246}\x{5247}\x{5248}\x{5249}\x{524A}\x{524B}\x{524C}\x{524D}\x{524E}' - . '\x{5250}\x{5251}\x{5252}\x{5254}\x{5255}\x{5256}\x{5257}\x{5258}\x{5259}' - . '\x{525A}\x{525B}\x{525C}\x{525D}\x{525E}\x{525F}\x{5260}\x{5261}\x{5262}' - . '\x{5263}\x{5264}\x{5265}\x{5267}\x{5268}\x{5269}\x{526A}\x{526B}\x{526C}' - . '\x{526D}\x{526E}\x{526F}\x{5270}\x{5272}\x{5273}\x{5274}\x{5275}\x{5276}' - . '\x{5277}\x{5278}\x{527A}\x{527B}\x{527C}\x{527D}\x{527E}\x{527F}\x{5280}' - . '\x{5281}\x{5282}\x{5283}\x{5284}\x{5286}\x{5287}\x{5288}\x{5289}\x{528A}' - . '\x{528B}\x{528C}\x{528D}\x{528F}\x{5290}\x{5291}\x{5292}\x{5293}\x{5294}' - . '\x{5295}\x{5296}\x{5297}\x{5298}\x{5299}\x{529A}\x{529B}\x{529C}\x{529D}' - . '\x{529E}\x{529F}\x{52A0}\x{52A1}\x{52A2}\x{52A3}\x{52A5}\x{52A6}\x{52A7}' - . '\x{52A8}\x{52A9}\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52AE}\x{52AF}\x{52B0}' - . '\x{52B1}\x{52B2}\x{52B3}\x{52B4}\x{52B5}\x{52B6}\x{52B7}\x{52B8}\x{52B9}' - . '\x{52BA}\x{52BB}\x{52BC}\x{52BD}\x{52BE}\x{52BF}\x{52C0}\x{52C1}\x{52C2}' - . '\x{52C3}\x{52C6}\x{52C7}\x{52C9}\x{52CA}\x{52CB}\x{52CD}\x{52CF}\x{52D0}' - . '\x{52D2}\x{52D3}\x{52D5}\x{52D6}\x{52D7}\x{52D8}\x{52D9}\x{52DA}\x{52DB}' - . '\x{52DC}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}\x{52E4}\x{52E6}' - . '\x{52E7}\x{52E8}\x{52E9}\x{52EA}\x{52EB}\x{52EC}\x{52ED}\x{52EF}\x{52F0}' - . '\x{52F1}\x{52F2}\x{52F3}\x{52F4}\x{52F5}\x{52F6}\x{52F7}\x{52F8}\x{52F9}' - . '\x{52FA}\x{52FB}\x{52FC}\x{52FD}\x{52FE}\x{52FF}\x{5300}\x{5301}\x{5302}' - . '\x{5305}\x{5306}\x{5307}\x{5308}\x{5309}\x{530A}\x{530B}\x{530C}\x{530D}' - . '\x{530E}\x{530F}\x{5310}\x{5311}\x{5312}\x{5313}\x{5314}\x{5315}\x{5316}' - . '\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}\x{5320}\x{5321}\x{5322}' - . '\x{5323}\x{5324}\x{5325}\x{5326}\x{5328}\x{532A}\x{532B}\x{532C}\x{532D}' - . '\x{532E}\x{532F}\x{5330}\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}\x{533A}' - . '\x{533B}\x{533C}\x{533D}\x{533E}\x{533F}\x{5340}\x{5341}\x{5343}\x{5344}' - . '\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}\x{534A}\x{534B}\x{534C}\x{534D}' - . '\x{534E}\x{534F}\x{5350}\x{5351}\x{5352}\x{5353}\x{5354}\x{5355}\x{5356}' - . '\x{5357}\x{5358}\x{5359}\x{535A}\x{535C}\x{535E}\x{535F}\x{5360}\x{5361}' - . '\x{5362}\x{5363}\x{5364}\x{5365}\x{5366}\x{5367}\x{5369}\x{536B}\x{536C}' - . '\x{536E}\x{536F}\x{5370}\x{5371}\x{5372}\x{5373}\x{5374}\x{5375}\x{5376}' - . '\x{5377}\x{5378}\x{5379}\x{537A}\x{537B}\x{537C}\x{537D}\x{537E}\x{537F}' - . '\x{5381}\x{5382}\x{5383}\x{5384}\x{5385}\x{5386}\x{5387}\x{5388}\x{5389}' - . '\x{538A}\x{538B}\x{538C}\x{538D}\x{538E}\x{538F}\x{5390}\x{5391}\x{5392}' - . '\x{5393}\x{5394}\x{5395}\x{5396}\x{5397}\x{5398}\x{5399}\x{539A}\x{539B}' - . '\x{539C}\x{539D}\x{539E}\x{539F}\x{53A0}\x{53A2}\x{53A3}\x{53A4}\x{53A5}' - . '\x{53A6}\x{53A7}\x{53A8}\x{53A9}\x{53AC}\x{53AD}\x{53AE}\x{53B0}\x{53B1}' - . '\x{53B2}\x{53B3}\x{53B4}\x{53B5}\x{53B6}\x{53B7}\x{53B8}\x{53B9}\x{53BB}' - . '\x{53BC}\x{53BD}\x{53BE}\x{53BF}\x{53C0}\x{53C1}\x{53C2}\x{53C3}\x{53C4}' - . '\x{53C6}\x{53C7}\x{53C8}\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}' - . '\x{53D0}\x{53D1}\x{53D2}\x{53D3}\x{53D4}\x{53D5}\x{53D6}\x{53D7}\x{53D8}' - . '\x{53D9}\x{53DB}\x{53DC}\x{53DF}\x{53E0}\x{53E1}\x{53E2}\x{53E3}\x{53E4}' - . '\x{53E5}\x{53E6}\x{53E8}\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}' - . '\x{53EF}\x{53F0}\x{53F1}\x{53F2}\x{53F3}\x{53F4}\x{53F5}\x{53F6}\x{53F7}' - . '\x{53F8}\x{53F9}\x{53FA}\x{53FB}\x{53FC}\x{53FD}\x{53FE}\x{5401}\x{5402}' - . '\x{5403}\x{5404}\x{5405}\x{5406}\x{5407}\x{5408}\x{5409}\x{540A}\x{540B}' - . '\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}\x{5411}\x{5412}\x{5413}\x{5414}' - . '\x{5415}\x{5416}\x{5417}\x{5418}\x{5419}\x{541B}\x{541C}\x{541D}\x{541E}' - . '\x{541F}\x{5420}\x{5421}\x{5423}\x{5424}\x{5425}\x{5426}\x{5427}\x{5428}' - . '\x{5429}\x{542A}\x{542B}\x{542C}\x{542D}\x{542E}\x{542F}\x{5430}\x{5431}' - . '\x{5432}\x{5433}\x{5434}\x{5435}\x{5436}\x{5437}\x{5438}\x{5439}\x{543A}' - . '\x{543B}\x{543C}\x{543D}\x{543E}\x{543F}\x{5440}\x{5441}\x{5442}\x{5443}' - . '\x{5444}\x{5445}\x{5446}\x{5447}\x{5448}\x{5449}\x{544A}\x{544B}\x{544D}' - . '\x{544E}\x{544F}\x{5450}\x{5451}\x{5452}\x{5453}\x{5454}\x{5455}\x{5456}' - . '\x{5457}\x{5458}\x{5459}\x{545A}\x{545B}\x{545C}\x{545E}\x{545F}\x{5460}' - . '\x{5461}\x{5462}\x{5463}\x{5464}\x{5465}\x{5466}\x{5467}\x{5468}\x{546A}' - . '\x{546B}\x{546C}\x{546D}\x{546E}\x{546F}\x{5470}\x{5471}\x{5472}\x{5473}' - . '\x{5474}\x{5475}\x{5476}\x{5477}\x{5478}\x{5479}\x{547A}\x{547B}\x{547C}' - . '\x{547D}\x{547E}\x{547F}\x{5480}\x{5481}\x{5482}\x{5483}\x{5484}\x{5485}' - . '\x{5486}\x{5487}\x{5488}\x{5489}\x{548B}\x{548C}\x{548D}\x{548E}\x{548F}' - . '\x{5490}\x{5491}\x{5492}\x{5493}\x{5494}\x{5495}\x{5496}\x{5497}\x{5498}' - . '\x{5499}\x{549A}\x{549B}\x{549C}\x{549D}\x{549E}\x{549F}\x{54A0}\x{54A1}' - . '\x{54A2}\x{54A3}\x{54A4}\x{54A5}\x{54A6}\x{54A7}\x{54A8}\x{54A9}\x{54AA}' - . '\x{54AB}\x{54AC}\x{54AD}\x{54AE}\x{54AF}\x{54B0}\x{54B1}\x{54B2}\x{54B3}' - . '\x{54B4}\x{54B6}\x{54B7}\x{54B8}\x{54B9}\x{54BA}\x{54BB}\x{54BC}\x{54BD}' - . '\x{54BE}\x{54BF}\x{54C0}\x{54C1}\x{54C2}\x{54C3}\x{54C4}\x{54C5}\x{54C6}' - . '\x{54C7}\x{54C8}\x{54C9}\x{54CA}\x{54CB}\x{54CC}\x{54CD}\x{54CE}\x{54CF}' - . '\x{54D0}\x{54D1}\x{54D2}\x{54D3}\x{54D4}\x{54D5}\x{54D6}\x{54D7}\x{54D8}' - . '\x{54D9}\x{54DA}\x{54DB}\x{54DC}\x{54DD}\x{54DE}\x{54DF}\x{54E0}\x{54E1}' - . '\x{54E2}\x{54E3}\x{54E4}\x{54E5}\x{54E6}\x{54E7}\x{54E8}\x{54E9}\x{54EA}' - . '\x{54EB}\x{54EC}\x{54ED}\x{54EE}\x{54EF}\x{54F0}\x{54F1}\x{54F2}\x{54F3}' - . '\x{54F4}\x{54F5}\x{54F7}\x{54F8}\x{54F9}\x{54FA}\x{54FB}\x{54FC}\x{54FD}' - . '\x{54FE}\x{54FF}\x{5500}\x{5501}\x{5502}\x{5503}\x{5504}\x{5505}\x{5506}' - . '\x{5507}\x{5508}\x{5509}\x{550A}\x{550B}\x{550C}\x{550D}\x{550E}\x{550F}' - . '\x{5510}\x{5511}\x{5512}\x{5513}\x{5514}\x{5516}\x{5517}\x{551A}\x{551B}' - . '\x{551C}\x{551D}\x{551E}\x{551F}\x{5520}\x{5521}\x{5522}\x{5523}\x{5524}' - . '\x{5525}\x{5526}\x{5527}\x{5528}\x{5529}\x{552A}\x{552B}\x{552C}\x{552D}' - . '\x{552E}\x{552F}\x{5530}\x{5531}\x{5532}\x{5533}\x{5534}\x{5535}\x{5536}' - . '\x{5537}\x{5538}\x{5539}\x{553A}\x{553B}\x{553C}\x{553D}\x{553E}\x{553F}' - . '\x{5540}\x{5541}\x{5542}\x{5543}\x{5544}\x{5545}\x{5546}\x{5548}\x{5549}' - . '\x{554A}\x{554B}\x{554C}\x{554D}\x{554E}\x{554F}\x{5550}\x{5551}\x{5552}' - . '\x{5553}\x{5554}\x{5555}\x{5556}\x{5557}\x{5558}\x{5559}\x{555A}\x{555B}' - . '\x{555C}\x{555D}\x{555E}\x{555F}\x{5561}\x{5562}\x{5563}\x{5564}\x{5565}' - . '\x{5566}\x{5567}\x{5568}\x{5569}\x{556A}\x{556B}\x{556C}\x{556D}\x{556E}' - . '\x{556F}\x{5570}\x{5571}\x{5572}\x{5573}\x{5574}\x{5575}\x{5576}\x{5577}' - . '\x{5578}\x{5579}\x{557B}\x{557C}\x{557D}\x{557E}\x{557F}\x{5580}\x{5581}' - . '\x{5582}\x{5583}\x{5584}\x{5585}\x{5586}\x{5587}\x{5588}\x{5589}\x{558A}' - . '\x{558B}\x{558C}\x{558D}\x{558E}\x{558F}\x{5590}\x{5591}\x{5592}\x{5593}' - . '\x{5594}\x{5595}\x{5596}\x{5597}\x{5598}\x{5599}\x{559A}\x{559B}\x{559C}' - . '\x{559D}\x{559E}\x{559F}\x{55A0}\x{55A1}\x{55A2}\x{55A3}\x{55A4}\x{55A5}' - . '\x{55A6}\x{55A7}\x{55A8}\x{55A9}\x{55AA}\x{55AB}\x{55AC}\x{55AD}\x{55AE}' - . '\x{55AF}\x{55B0}\x{55B1}\x{55B2}\x{55B3}\x{55B4}\x{55B5}\x{55B6}\x{55B7}' - . '\x{55B8}\x{55B9}\x{55BA}\x{55BB}\x{55BC}\x{55BD}\x{55BE}\x{55BF}\x{55C0}' - . '\x{55C1}\x{55C2}\x{55C3}\x{55C4}\x{55C5}\x{55C6}\x{55C7}\x{55C8}\x{55C9}' - . '\x{55CA}\x{55CB}\x{55CC}\x{55CD}\x{55CE}\x{55CF}\x{55D0}\x{55D1}\x{55D2}' - . '\x{55D3}\x{55D4}\x{55D5}\x{55D6}\x{55D7}\x{55D8}\x{55D9}\x{55DA}\x{55DB}' - . '\x{55DC}\x{55DD}\x{55DE}\x{55DF}\x{55E1}\x{55E2}\x{55E3}\x{55E4}\x{55E5}' - . '\x{55E6}\x{55E7}\x{55E8}\x{55E9}\x{55EA}\x{55EB}\x{55EC}\x{55ED}\x{55EE}' - . '\x{55EF}\x{55F0}\x{55F1}\x{55F2}\x{55F3}\x{55F4}\x{55F5}\x{55F6}\x{55F7}' - . '\x{55F9}\x{55FA}\x{55FB}\x{55FC}\x{55FD}\x{55FE}\x{55FF}\x{5600}\x{5601}' - . '\x{5602}\x{5603}\x{5604}\x{5606}\x{5607}\x{5608}\x{5609}\x{560C}\x{560D}' - . '\x{560E}\x{560F}\x{5610}\x{5611}\x{5612}\x{5613}\x{5614}\x{5615}\x{5616}' - . '\x{5617}\x{5618}\x{5619}\x{561A}\x{561B}\x{561C}\x{561D}\x{561E}\x{561F}' - . '\x{5621}\x{5622}\x{5623}\x{5624}\x{5625}\x{5626}\x{5627}\x{5628}\x{5629}' - . '\x{562A}\x{562C}\x{562D}\x{562E}\x{562F}\x{5630}\x{5631}\x{5632}\x{5633}' - . '\x{5634}\x{5635}\x{5636}\x{5638}\x{5639}\x{563A}\x{563B}\x{563D}\x{563E}' - . '\x{563F}\x{5640}\x{5641}\x{5642}\x{5643}\x{5645}\x{5646}\x{5647}\x{5648}' - . '\x{5649}\x{564A}\x{564C}\x{564D}\x{564E}\x{564F}\x{5650}\x{5652}\x{5653}' - . '\x{5654}\x{5655}\x{5657}\x{5658}\x{5659}\x{565A}\x{565B}\x{565C}\x{565D}' - . '\x{565E}\x{5660}\x{5662}\x{5663}\x{5664}\x{5665}\x{5666}\x{5667}\x{5668}' - . '\x{5669}\x{566A}\x{566B}\x{566C}\x{566D}\x{566E}\x{566F}\x{5670}\x{5671}' - . '\x{5672}\x{5673}\x{5674}\x{5676}\x{5677}\x{5678}\x{5679}\x{567A}\x{567B}' - . '\x{567C}\x{567E}\x{567F}\x{5680}\x{5681}\x{5682}\x{5683}\x{5684}\x{5685}' - . '\x{5686}\x{5687}\x{568A}\x{568C}\x{568D}\x{568E}\x{568F}\x{5690}\x{5691}' - . '\x{5692}\x{5693}\x{5694}\x{5695}\x{5697}\x{5698}\x{5699}\x{569A}\x{569B}' - . '\x{569C}\x{569D}\x{569F}\x{56A0}\x{56A1}\x{56A3}\x{56A4}\x{56A5}\x{56A6}' - . '\x{56A7}\x{56A8}\x{56A9}\x{56AA}\x{56AB}\x{56AC}\x{56AD}\x{56AE}\x{56AF}' - . '\x{56B0}\x{56B1}\x{56B2}\x{56B3}\x{56B4}\x{56B5}\x{56B6}\x{56B7}\x{56B8}' - . '\x{56B9}\x{56BB}\x{56BC}\x{56BD}\x{56BE}\x{56BF}\x{56C0}\x{56C1}\x{56C2}' - . '\x{56C3}\x{56C4}\x{56C5}\x{56C6}\x{56C7}\x{56C8}\x{56C9}\x{56CA}\x{56CB}' - . '\x{56CC}\x{56CD}\x{56CE}\x{56D0}\x{56D1}\x{56D2}\x{56D3}\x{56D4}\x{56D5}' - . '\x{56D6}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DC}\x{56DD}\x{56DE}\x{56DF}' - . '\x{56E0}\x{56E1}\x{56E2}\x{56E3}\x{56E4}\x{56E5}\x{56E7}\x{56E8}\x{56E9}' - . '\x{56EA}\x{56EB}\x{56EC}\x{56ED}\x{56EE}\x{56EF}\x{56F0}\x{56F1}\x{56F2}' - . '\x{56F3}\x{56F4}\x{56F5}\x{56F7}\x{56F9}\x{56FA}\x{56FD}\x{56FE}\x{56FF}' - . '\x{5700}\x{5701}\x{5702}\x{5703}\x{5704}\x{5706}\x{5707}\x{5708}\x{5709}' - . '\x{570A}\x{570B}\x{570C}\x{570D}\x{570E}\x{570F}\x{5710}\x{5712}\x{5713}' - . '\x{5714}\x{5715}\x{5716}\x{5718}\x{5719}\x{571A}\x{571B}\x{571C}\x{571D}' - . '\x{571E}\x{571F}\x{5720}\x{5722}\x{5723}\x{5725}\x{5726}\x{5727}\x{5728}' - . '\x{5729}\x{572A}\x{572B}\x{572C}\x{572D}\x{572E}\x{572F}\x{5730}\x{5731}' - . '\x{5732}\x{5733}\x{5734}\x{5735}\x{5736}\x{5737}\x{5738}\x{5739}\x{573A}' - . '\x{573B}\x{573C}\x{573E}\x{573F}\x{5740}\x{5741}\x{5742}\x{5744}\x{5745}' - . '\x{5746}\x{5747}\x{5749}\x{574A}\x{574B}\x{574C}\x{574D}\x{574E}\x{574F}' - . '\x{5750}\x{5751}\x{5752}\x{5753}\x{5754}\x{5757}\x{5759}\x{575A}\x{575B}' - . '\x{575C}\x{575D}\x{575E}\x{575F}\x{5760}\x{5761}\x{5762}\x{5764}\x{5765}' - . '\x{5766}\x{5767}\x{5768}\x{5769}\x{576A}\x{576B}\x{576C}\x{576D}\x{576F}' - . '\x{5770}\x{5771}\x{5772}\x{5773}\x{5774}\x{5775}\x{5776}\x{5777}\x{5779}' - . '\x{577A}\x{577B}\x{577C}\x{577D}\x{577E}\x{577F}\x{5780}\x{5782}\x{5783}' - . '\x{5784}\x{5785}\x{5786}\x{5788}\x{5789}\x{578A}\x{578B}\x{578C}\x{578D}' - . '\x{578E}\x{578F}\x{5790}\x{5791}\x{5792}\x{5793}\x{5794}\x{5795}\x{5797}' - . '\x{5798}\x{5799}\x{579A}\x{579B}\x{579C}\x{579D}\x{579E}\x{579F}\x{57A0}' - . '\x{57A1}\x{57A2}\x{57A3}\x{57A4}\x{57A5}\x{57A6}\x{57A7}\x{57A9}\x{57AA}' - . '\x{57AB}\x{57AC}\x{57AD}\x{57AE}\x{57AF}\x{57B0}\x{57B1}\x{57B2}\x{57B3}' - . '\x{57B4}\x{57B5}\x{57B6}\x{57B7}\x{57B8}\x{57B9}\x{57BA}\x{57BB}\x{57BC}' - . '\x{57BD}\x{57BE}\x{57BF}\x{57C0}\x{57C1}\x{57C2}\x{57C3}\x{57C4}\x{57C5}' - . '\x{57C6}\x{57C7}\x{57C8}\x{57C9}\x{57CB}\x{57CC}\x{57CD}\x{57CE}\x{57CF}' - . '\x{57D0}\x{57D2}\x{57D3}\x{57D4}\x{57D5}\x{57D6}\x{57D8}\x{57D9}\x{57DA}' - . '\x{57DC}\x{57DD}\x{57DF}\x{57E0}\x{57E1}\x{57E2}\x{57E3}\x{57E4}\x{57E5}' - . '\x{57E6}\x{57E7}\x{57E8}\x{57E9}\x{57EA}\x{57EB}\x{57EC}\x{57ED}\x{57EE}' - . '\x{57EF}\x{57F0}\x{57F1}\x{57F2}\x{57F3}\x{57F4}\x{57F5}\x{57F6}\x{57F7}' - . '\x{57F8}\x{57F9}\x{57FA}\x{57FB}\x{57FC}\x{57FD}\x{57FE}\x{57FF}\x{5800}' - . '\x{5801}\x{5802}\x{5803}\x{5804}\x{5805}\x{5806}\x{5807}\x{5808}\x{5809}' - . '\x{580A}\x{580B}\x{580C}\x{580D}\x{580E}\x{580F}\x{5810}\x{5811}\x{5812}' - . '\x{5813}\x{5814}\x{5815}\x{5816}\x{5819}\x{581A}\x{581B}\x{581C}\x{581D}' - . '\x{581E}\x{581F}\x{5820}\x{5821}\x{5822}\x{5823}\x{5824}\x{5825}\x{5826}' - . '\x{5827}\x{5828}\x{5829}\x{582A}\x{582B}\x{582C}\x{582D}\x{582E}\x{582F}' - . '\x{5830}\x{5831}\x{5832}\x{5833}\x{5834}\x{5835}\x{5836}\x{5837}\x{5838}' - . '\x{5839}\x{583A}\x{583B}\x{583C}\x{583D}\x{583E}\x{583F}\x{5840}\x{5842}' - . '\x{5843}\x{5844}\x{5845}\x{5846}\x{5847}\x{5848}\x{5849}\x{584A}\x{584B}' - . '\x{584C}\x{584D}\x{584E}\x{584F}\x{5851}\x{5852}\x{5853}\x{5854}\x{5855}' - . '\x{5857}\x{5858}\x{5859}\x{585A}\x{585B}\x{585C}\x{585D}\x{585E}\x{585F}' - . '\x{5861}\x{5862}\x{5863}\x{5864}\x{5865}\x{5868}\x{5869}\x{586A}\x{586B}' - . '\x{586C}\x{586D}\x{586E}\x{586F}\x{5870}\x{5871}\x{5872}\x{5873}\x{5874}' - . '\x{5875}\x{5876}\x{5878}\x{5879}\x{587A}\x{587B}\x{587C}\x{587D}\x{587E}' - . '\x{587F}\x{5880}\x{5881}\x{5882}\x{5883}\x{5884}\x{5885}\x{5886}\x{5887}' - . '\x{5888}\x{5889}\x{588A}\x{588B}\x{588C}\x{588D}\x{588E}\x{588F}\x{5890}' - . '\x{5891}\x{5892}\x{5893}\x{5894}\x{5896}\x{5897}\x{5898}\x{5899}\x{589A}' - . '\x{589B}\x{589C}\x{589D}\x{589E}\x{589F}\x{58A0}\x{58A1}\x{58A2}\x{58A3}' - . '\x{58A4}\x{58A5}\x{58A6}\x{58A7}\x{58A8}\x{58A9}\x{58AB}\x{58AC}\x{58AD}' - . '\x{58AE}\x{58AF}\x{58B0}\x{58B1}\x{58B2}\x{58B3}\x{58B4}\x{58B7}\x{58B8}' - . '\x{58B9}\x{58BA}\x{58BB}\x{58BC}\x{58BD}\x{58BE}\x{58BF}\x{58C1}\x{58C2}' - . '\x{58C5}\x{58C6}\x{58C7}\x{58C8}\x{58C9}\x{58CA}\x{58CB}\x{58CE}\x{58CF}' - . '\x{58D1}\x{58D2}\x{58D3}\x{58D4}\x{58D5}\x{58D6}\x{58D7}\x{58D8}\x{58D9}' - . '\x{58DA}\x{58DB}\x{58DD}\x{58DE}\x{58DF}\x{58E0}\x{58E2}\x{58E3}\x{58E4}' - . '\x{58E5}\x{58E7}\x{58E8}\x{58E9}\x{58EA}\x{58EB}\x{58EC}\x{58ED}\x{58EE}' - . '\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F3}\x{58F4}\x{58F6}\x{58F7}\x{58F8}' - . '\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{58FE}\x{58FF}\x{5900}\x{5902}' - . '\x{5903}\x{5904}\x{5906}\x{5907}\x{5909}\x{590A}\x{590B}\x{590C}\x{590D}' - . '\x{590E}\x{590F}\x{5910}\x{5912}\x{5914}\x{5915}\x{5916}\x{5917}\x{5918}' - . '\x{5919}\x{591A}\x{591B}\x{591C}\x{591D}\x{591E}\x{591F}\x{5920}\x{5921}' - . '\x{5922}\x{5924}\x{5925}\x{5926}\x{5927}\x{5928}\x{5929}\x{592A}\x{592B}' - . '\x{592C}\x{592D}\x{592E}\x{592F}\x{5930}\x{5931}\x{5932}\x{5934}\x{5935}' - . '\x{5937}\x{5938}\x{5939}\x{593A}\x{593B}\x{593C}\x{593D}\x{593E}\x{593F}' - . '\x{5940}\x{5941}\x{5942}\x{5943}\x{5944}\x{5945}\x{5946}\x{5947}\x{5948}' - . '\x{5949}\x{594A}\x{594B}\x{594C}\x{594D}\x{594E}\x{594F}\x{5950}\x{5951}' - . '\x{5952}\x{5953}\x{5954}\x{5955}\x{5956}\x{5957}\x{5958}\x{595A}\x{595C}' - . '\x{595D}\x{595E}\x{595F}\x{5960}\x{5961}\x{5962}\x{5963}\x{5964}\x{5965}' - . '\x{5966}\x{5967}\x{5968}\x{5969}\x{596A}\x{596B}\x{596C}\x{596D}\x{596E}' - . '\x{596F}\x{5970}\x{5971}\x{5972}\x{5973}\x{5974}\x{5975}\x{5976}\x{5977}' - . '\x{5978}\x{5979}\x{597A}\x{597B}\x{597C}\x{597D}\x{597E}\x{597F}\x{5980}' - . '\x{5981}\x{5982}\x{5983}\x{5984}\x{5985}\x{5986}\x{5987}\x{5988}\x{5989}' - . '\x{598A}\x{598B}\x{598C}\x{598D}\x{598E}\x{598F}\x{5990}\x{5991}\x{5992}' - . '\x{5993}\x{5994}\x{5995}\x{5996}\x{5997}\x{5998}\x{5999}\x{599A}\x{599C}' - . '\x{599D}\x{599E}\x{599F}\x{59A0}\x{59A1}\x{59A2}\x{59A3}\x{59A4}\x{59A5}' - . '\x{59A6}\x{59A7}\x{59A8}\x{59A9}\x{59AA}\x{59AB}\x{59AC}\x{59AD}\x{59AE}' - . '\x{59AF}\x{59B0}\x{59B1}\x{59B2}\x{59B3}\x{59B4}\x{59B5}\x{59B6}\x{59B8}' - . '\x{59B9}\x{59BA}\x{59BB}\x{59BC}\x{59BD}\x{59BE}\x{59BF}\x{59C0}\x{59C1}' - . '\x{59C2}\x{59C3}\x{59C4}\x{59C5}\x{59C6}\x{59C7}\x{59C8}\x{59C9}\x{59CA}' - . '\x{59CB}\x{59CC}\x{59CD}\x{59CE}\x{59CF}\x{59D0}\x{59D1}\x{59D2}\x{59D3}' - . '\x{59D4}\x{59D5}\x{59D6}\x{59D7}\x{59D8}\x{59D9}\x{59DA}\x{59DB}\x{59DC}' - . '\x{59DD}\x{59DE}\x{59DF}\x{59E0}\x{59E1}\x{59E2}\x{59E3}\x{59E4}\x{59E5}' - . '\x{59E6}\x{59E8}\x{59E9}\x{59EA}\x{59EB}\x{59EC}\x{59ED}\x{59EE}\x{59EF}' - . '\x{59F0}\x{59F1}\x{59F2}\x{59F3}\x{59F4}\x{59F5}\x{59F6}\x{59F7}\x{59F8}' - . '\x{59F9}\x{59FA}\x{59FB}\x{59FC}\x{59FD}\x{59FE}\x{59FF}\x{5A00}\x{5A01}' - . '\x{5A02}\x{5A03}\x{5A04}\x{5A05}\x{5A06}\x{5A07}\x{5A08}\x{5A09}\x{5A0A}' - . '\x{5A0B}\x{5A0C}\x{5A0D}\x{5A0E}\x{5A0F}\x{5A10}\x{5A11}\x{5A12}\x{5A13}' - . '\x{5A14}\x{5A15}\x{5A16}\x{5A17}\x{5A18}\x{5A19}\x{5A1A}\x{5A1B}\x{5A1C}' - . '\x{5A1D}\x{5A1E}\x{5A1F}\x{5A20}\x{5A21}\x{5A22}\x{5A23}\x{5A25}\x{5A27}' - . '\x{5A28}\x{5A29}\x{5A2A}\x{5A2B}\x{5A2D}\x{5A2E}\x{5A2F}\x{5A31}\x{5A32}' - . '\x{5A33}\x{5A34}\x{5A35}\x{5A36}\x{5A37}\x{5A38}\x{5A39}\x{5A3A}\x{5A3B}' - . '\x{5A3C}\x{5A3D}\x{5A3E}\x{5A3F}\x{5A40}\x{5A41}\x{5A42}\x{5A43}\x{5A44}' - . '\x{5A45}\x{5A46}\x{5A47}\x{5A48}\x{5A49}\x{5A4A}\x{5A4B}\x{5A4C}\x{5A4D}' - . '\x{5A4E}\x{5A4F}\x{5A50}\x{5A51}\x{5A52}\x{5A53}\x{5A55}\x{5A56}\x{5A57}' - . '\x{5A58}\x{5A5A}\x{5A5B}\x{5A5C}\x{5A5D}\x{5A5E}\x{5A5F}\x{5A60}\x{5A61}' - . '\x{5A62}\x{5A63}\x{5A64}\x{5A65}\x{5A66}\x{5A67}\x{5A68}\x{5A69}\x{5A6A}' - . '\x{5A6B}\x{5A6C}\x{5A6D}\x{5A6E}\x{5A70}\x{5A72}\x{5A73}\x{5A74}\x{5A75}' - . '\x{5A76}\x{5A77}\x{5A78}\x{5A79}\x{5A7A}\x{5A7B}\x{5A7C}\x{5A7D}\x{5A7E}' - . '\x{5A7F}\x{5A80}\x{5A81}\x{5A82}\x{5A83}\x{5A84}\x{5A85}\x{5A86}\x{5A88}' - . '\x{5A89}\x{5A8A}\x{5A8B}\x{5A8C}\x{5A8E}\x{5A8F}\x{5A90}\x{5A91}\x{5A92}' - . '\x{5A93}\x{5A94}\x{5A95}\x{5A96}\x{5A97}\x{5A98}\x{5A99}\x{5A9A}\x{5A9B}' - . '\x{5A9C}\x{5A9D}\x{5A9E}\x{5A9F}\x{5AA0}\x{5AA1}\x{5AA2}\x{5AA3}\x{5AA4}' - . '\x{5AA5}\x{5AA6}\x{5AA7}\x{5AA8}\x{5AA9}\x{5AAA}\x{5AAC}\x{5AAD}\x{5AAE}' - . '\x{5AAF}\x{5AB0}\x{5AB1}\x{5AB2}\x{5AB3}\x{5AB4}\x{5AB5}\x{5AB6}\x{5AB7}' - . '\x{5AB8}\x{5AB9}\x{5ABA}\x{5ABB}\x{5ABC}\x{5ABD}\x{5ABE}\x{5ABF}\x{5AC0}' - . '\x{5AC1}\x{5AC2}\x{5AC3}\x{5AC4}\x{5AC5}\x{5AC6}\x{5AC7}\x{5AC8}\x{5AC9}' - . '\x{5ACA}\x{5ACB}\x{5ACC}\x{5ACD}\x{5ACE}\x{5ACF}\x{5AD1}\x{5AD2}\x{5AD4}' - . '\x{5AD5}\x{5AD6}\x{5AD7}\x{5AD8}\x{5AD9}\x{5ADA}\x{5ADB}\x{5ADC}\x{5ADD}' - . '\x{5ADE}\x{5ADF}\x{5AE0}\x{5AE1}\x{5AE2}\x{5AE3}\x{5AE4}\x{5AE5}\x{5AE6}' - . '\x{5AE7}\x{5AE8}\x{5AE9}\x{5AEA}\x{5AEB}\x{5AEC}\x{5AED}\x{5AEE}\x{5AF1}' - . '\x{5AF2}\x{5AF3}\x{5AF4}\x{5AF5}\x{5AF6}\x{5AF7}\x{5AF8}\x{5AF9}\x{5AFA}' - . '\x{5AFB}\x{5AFC}\x{5AFD}\x{5AFE}\x{5AFF}\x{5B00}\x{5B01}\x{5B02}\x{5B03}' - . '\x{5B04}\x{5B05}\x{5B06}\x{5B07}\x{5B08}\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}' - . '\x{5B0F}\x{5B10}\x{5B11}\x{5B12}\x{5B13}\x{5B14}\x{5B15}\x{5B16}\x{5B17}' - . '\x{5B18}\x{5B19}\x{5B1A}\x{5B1B}\x{5B1C}\x{5B1D}\x{5B1E}\x{5B1F}\x{5B20}' - . '\x{5B21}\x{5B22}\x{5B23}\x{5B24}\x{5B25}\x{5B26}\x{5B27}\x{5B28}\x{5B29}' - . '\x{5B2A}\x{5B2B}\x{5B2C}\x{5B2D}\x{5B2E}\x{5B2F}\x{5B30}\x{5B31}\x{5B32}' - . '\x{5B33}\x{5B34}\x{5B35}\x{5B36}\x{5B37}\x{5B38}\x{5B3A}\x{5B3B}\x{5B3C}' - . '\x{5B3D}\x{5B3E}\x{5B3F}\x{5B40}\x{5B41}\x{5B42}\x{5B43}\x{5B44}\x{5B45}' - . '\x{5B47}\x{5B48}\x{5B49}\x{5B4A}\x{5B4B}\x{5B4C}\x{5B4D}\x{5B4E}\x{5B50}' - . '\x{5B51}\x{5B53}\x{5B54}\x{5B55}\x{5B56}\x{5B57}\x{5B58}\x{5B59}\x{5B5A}' - . '\x{5B5B}\x{5B5C}\x{5B5D}\x{5B5E}\x{5B5F}\x{5B62}\x{5B63}\x{5B64}\x{5B65}' - . '\x{5B66}\x{5B67}\x{5B68}\x{5B69}\x{5B6A}\x{5B6B}\x{5B6C}\x{5B6D}\x{5B6E}' - . '\x{5B70}\x{5B71}\x{5B72}\x{5B73}\x{5B74}\x{5B75}\x{5B76}\x{5B77}\x{5B78}' - . '\x{5B7A}\x{5B7B}\x{5B7C}\x{5B7D}\x{5B7F}\x{5B80}\x{5B81}\x{5B82}\x{5B83}' - . '\x{5B84}\x{5B85}\x{5B87}\x{5B88}\x{5B89}\x{5B8A}\x{5B8B}\x{5B8C}\x{5B8D}' - . '\x{5B8E}\x{5B8F}\x{5B91}\x{5B92}\x{5B93}\x{5B94}\x{5B95}\x{5B96}\x{5B97}' - . '\x{5B98}\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9E}\x{5B9F}\x{5BA0}' - . '\x{5BA1}\x{5BA2}\x{5BA3}\x{5BA4}\x{5BA5}\x{5BA6}\x{5BA7}\x{5BA8}\x{5BAA}' - . '\x{5BAB}\x{5BAC}\x{5BAD}\x{5BAE}\x{5BAF}\x{5BB0}\x{5BB1}\x{5BB3}\x{5BB4}' - . '\x{5BB5}\x{5BB6}\x{5BB8}\x{5BB9}\x{5BBA}\x{5BBB}\x{5BBD}\x{5BBE}\x{5BBF}' - . '\x{5BC0}\x{5BC1}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BCA}' - . '\x{5BCB}\x{5BCC}\x{5BCD}\x{5BCE}\x{5BCF}\x{5BD0}\x{5BD1}\x{5BD2}\x{5BD3}' - . '\x{5BD4}\x{5BD5}\x{5BD6}\x{5BD8}\x{5BD9}\x{5BDB}\x{5BDC}\x{5BDD}\x{5BDE}' - . '\x{5BDF}\x{5BE0}\x{5BE1}\x{5BE2}\x{5BE3}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}' - . '\x{5BE8}\x{5BE9}\x{5BEA}\x{5BEB}\x{5BEC}\x{5BED}\x{5BEE}\x{5BEF}\x{5BF0}' - . '\x{5BF1}\x{5BF2}\x{5BF3}\x{5BF4}\x{5BF5}\x{5BF6}\x{5BF7}\x{5BF8}\x{5BF9}' - . '\x{5BFA}\x{5BFB}\x{5BFC}\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}\x{5C04}\x{5C05}' - . '\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}\x{5C0B}\x{5C0C}\x{5C0D}\x{5C0E}' - . '\x{5C0F}\x{5C10}\x{5C11}\x{5C12}\x{5C13}\x{5C14}\x{5C15}\x{5C16}\x{5C17}' - . '\x{5C18}\x{5C19}\x{5C1A}\x{5C1C}\x{5C1D}\x{5C1E}\x{5C1F}\x{5C20}\x{5C21}' - . '\x{5C22}\x{5C24}\x{5C25}\x{5C27}\x{5C28}\x{5C2A}\x{5C2B}\x{5C2C}\x{5C2D}' - . '\x{5C2E}\x{5C2F}\x{5C30}\x{5C31}\x{5C32}\x{5C33}\x{5C34}\x{5C35}\x{5C37}' - . '\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}' - . '\x{5C41}\x{5C42}\x{5C43}\x{5C44}\x{5C45}\x{5C46}\x{5C47}\x{5C48}\x{5C49}' - . '\x{5C4A}\x{5C4B}\x{5C4C}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C52}' - . '\x{5C53}\x{5C54}\x{5C55}\x{5C56}\x{5C57}\x{5C58}\x{5C59}\x{5C5B}\x{5C5C}' - . '\x{5C5D}\x{5C5E}\x{5C5F}\x{5C60}\x{5C61}\x{5C62}\x{5C63}\x{5C64}\x{5C65}' - . '\x{5C66}\x{5C67}\x{5C68}\x{5C69}\x{5C6A}\x{5C6B}\x{5C6C}\x{5C6D}\x{5C6E}' - . '\x{5C6F}\x{5C70}\x{5C71}\x{5C72}\x{5C73}\x{5C74}\x{5C75}\x{5C76}\x{5C77}' - . '\x{5C78}\x{5C79}\x{5C7A}\x{5C7B}\x{5C7C}\x{5C7D}\x{5C7E}\x{5C7F}\x{5C80}' - . '\x{5C81}\x{5C82}\x{5C83}\x{5C84}\x{5C86}\x{5C87}\x{5C88}\x{5C89}\x{5C8A}' - . '\x{5C8B}\x{5C8C}\x{5C8D}\x{5C8E}\x{5C8F}\x{5C90}\x{5C91}\x{5C92}\x{5C93}' - . '\x{5C94}\x{5C95}\x{5C96}\x{5C97}\x{5C98}\x{5C99}\x{5C9A}\x{5C9B}\x{5C9C}' - . '\x{5C9D}\x{5C9E}\x{5C9F}\x{5CA0}\x{5CA1}\x{5CA2}\x{5CA3}\x{5CA4}\x{5CA5}' - . '\x{5CA6}\x{5CA7}\x{5CA8}\x{5CA9}\x{5CAA}\x{5CAB}\x{5CAC}\x{5CAD}\x{5CAE}' - . '\x{5CAF}\x{5CB0}\x{5CB1}\x{5CB2}\x{5CB3}\x{5CB5}\x{5CB6}\x{5CB7}\x{5CB8}' - . '\x{5CBA}\x{5CBB}\x{5CBC}\x{5CBD}\x{5CBE}\x{5CBF}\x{5CC1}\x{5CC2}\x{5CC3}' - . '\x{5CC4}\x{5CC5}\x{5CC6}\x{5CC7}\x{5CC8}\x{5CC9}\x{5CCA}\x{5CCB}\x{5CCC}' - . '\x{5CCD}\x{5CCE}\x{5CCF}\x{5CD0}\x{5CD1}\x{5CD2}\x{5CD3}\x{5CD4}\x{5CD6}' - . '\x{5CD7}\x{5CD8}\x{5CD9}\x{5CDA}\x{5CDB}\x{5CDC}\x{5CDE}\x{5CDF}\x{5CE0}' - . '\x{5CE1}\x{5CE2}\x{5CE3}\x{5CE4}\x{5CE5}\x{5CE6}\x{5CE7}\x{5CE8}\x{5CE9}' - . '\x{5CEA}\x{5CEB}\x{5CEC}\x{5CED}\x{5CEE}\x{5CEF}\x{5CF0}\x{5CF1}\x{5CF2}' - . '\x{5CF3}\x{5CF4}\x{5CF6}\x{5CF7}\x{5CF8}\x{5CF9}\x{5CFA}\x{5CFB}\x{5CFC}' - . '\x{5CFD}\x{5CFE}\x{5CFF}\x{5D00}\x{5D01}\x{5D02}\x{5D03}\x{5D04}\x{5D05}' - . '\x{5D06}\x{5D07}\x{5D08}\x{5D09}\x{5D0A}\x{5D0B}\x{5D0C}\x{5D0D}\x{5D0E}' - . '\x{5D0F}\x{5D10}\x{5D11}\x{5D12}\x{5D13}\x{5D14}\x{5D15}\x{5D16}\x{5D17}' - . '\x{5D18}\x{5D19}\x{5D1A}\x{5D1B}\x{5D1C}\x{5D1D}\x{5D1E}\x{5D1F}\x{5D20}' - . '\x{5D21}\x{5D22}\x{5D23}\x{5D24}\x{5D25}\x{5D26}\x{5D27}\x{5D28}\x{5D29}' - . '\x{5D2A}\x{5D2C}\x{5D2D}\x{5D2E}\x{5D30}\x{5D31}\x{5D32}\x{5D33}\x{5D34}' - . '\x{5D35}\x{5D36}\x{5D37}\x{5D38}\x{5D39}\x{5D3A}\x{5D3C}\x{5D3D}\x{5D3E}' - . '\x{5D3F}\x{5D40}\x{5D41}\x{5D42}\x{5D43}\x{5D44}\x{5D45}\x{5D46}\x{5D47}' - . '\x{5D48}\x{5D49}\x{5D4A}\x{5D4B}\x{5D4C}\x{5D4D}\x{5D4E}\x{5D4F}\x{5D50}' - . '\x{5D51}\x{5D52}\x{5D54}\x{5D55}\x{5D56}\x{5D58}\x{5D59}\x{5D5A}\x{5D5B}' - . '\x{5D5D}\x{5D5E}\x{5D5F}\x{5D61}\x{5D62}\x{5D63}\x{5D64}\x{5D65}\x{5D66}' - . '\x{5D67}\x{5D68}\x{5D69}\x{5D6A}\x{5D6B}\x{5D6C}\x{5D6D}\x{5D6E}\x{5D6F}' - . '\x{5D70}\x{5D71}\x{5D72}\x{5D73}\x{5D74}\x{5D75}\x{5D76}\x{5D77}\x{5D78}' - . '\x{5D79}\x{5D7A}\x{5D7B}\x{5D7C}\x{5D7D}\x{5D7E}\x{5D7F}\x{5D80}\x{5D81}' - . '\x{5D82}\x{5D84}\x{5D85}\x{5D86}\x{5D87}\x{5D88}\x{5D89}\x{5D8A}\x{5D8B}' - . '\x{5D8C}\x{5D8D}\x{5D8E}\x{5D8F}\x{5D90}\x{5D91}\x{5D92}\x{5D93}\x{5D94}' - . '\x{5D95}\x{5D97}\x{5D98}\x{5D99}\x{5D9A}\x{5D9B}\x{5D9C}\x{5D9D}\x{5D9E}' - . '\x{5D9F}\x{5DA0}\x{5DA1}\x{5DA2}\x{5DA5}\x{5DA6}\x{5DA7}\x{5DA8}\x{5DA9}' - . '\x{5DAA}\x{5DAC}\x{5DAD}\x{5DAE}\x{5DAF}\x{5DB0}\x{5DB1}\x{5DB2}\x{5DB4}' - . '\x{5DB5}\x{5DB6}\x{5DB7}\x{5DB8}\x{5DBA}\x{5DBB}\x{5DBC}\x{5DBD}\x{5DBE}' - . '\x{5DBF}\x{5DC0}\x{5DC1}\x{5DC2}\x{5DC3}\x{5DC5}\x{5DC6}\x{5DC7}\x{5DC8}' - . '\x{5DC9}\x{5DCA}\x{5DCB}\x{5DCC}\x{5DCD}\x{5DCE}\x{5DCF}\x{5DD0}\x{5DD1}' - . '\x{5DD2}\x{5DD3}\x{5DD4}\x{5DD5}\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}' - . '\x{5DDE}\x{5DDF}\x{5DE0}\x{5DE1}\x{5DE2}\x{5DE3}\x{5DE4}\x{5DE5}\x{5DE6}' - . '\x{5DE7}\x{5DE8}\x{5DE9}\x{5DEA}\x{5DEB}\x{5DEC}\x{5DED}\x{5DEE}\x{5DEF}' - . '\x{5DF0}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DF8}\x{5DF9}' - . '\x{5DFA}\x{5DFB}\x{5DFC}\x{5DFD}\x{5DFE}\x{5DFF}\x{5E00}\x{5E01}\x{5E02}' - . '\x{5E03}\x{5E04}\x{5E05}\x{5E06}\x{5E07}\x{5E08}\x{5E09}\x{5E0A}\x{5E0B}' - . '\x{5E0C}\x{5E0D}\x{5E0E}\x{5E0F}\x{5E10}\x{5E11}\x{5E13}\x{5E14}\x{5E15}' - . '\x{5E16}\x{5E17}\x{5E18}\x{5E19}\x{5E1A}\x{5E1B}\x{5E1C}\x{5E1D}\x{5E1E}' - . '\x{5E1F}\x{5E20}\x{5E21}\x{5E22}\x{5E23}\x{5E24}\x{5E25}\x{5E26}\x{5E27}' - . '\x{5E28}\x{5E29}\x{5E2A}\x{5E2B}\x{5E2C}\x{5E2D}\x{5E2E}\x{5E2F}\x{5E30}' - . '\x{5E31}\x{5E32}\x{5E33}\x{5E34}\x{5E35}\x{5E36}\x{5E37}\x{5E38}\x{5E39}' - . '\x{5E3A}\x{5E3B}\x{5E3C}\x{5E3D}\x{5E3E}\x{5E40}\x{5E41}\x{5E42}\x{5E43}' - . '\x{5E44}\x{5E45}\x{5E46}\x{5E47}\x{5E49}\x{5E4A}\x{5E4B}\x{5E4C}\x{5E4D}' - . '\x{5E4E}\x{5E4F}\x{5E50}\x{5E52}\x{5E53}\x{5E54}\x{5E55}\x{5E56}\x{5E57}' - . '\x{5E58}\x{5E59}\x{5E5A}\x{5E5B}\x{5E5C}\x{5E5D}\x{5E5E}\x{5E5F}\x{5E60}' - . '\x{5E61}\x{5E62}\x{5E63}\x{5E64}\x{5E65}\x{5E66}\x{5E67}\x{5E68}\x{5E69}' - . '\x{5E6A}\x{5E6B}\x{5E6C}\x{5E6D}\x{5E6E}\x{5E6F}\x{5E70}\x{5E71}\x{5E72}' - . '\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E77}\x{5E78}\x{5E79}\x{5E7A}\x{5E7B}' - . '\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E80}\x{5E81}\x{5E82}\x{5E83}\x{5E84}' - . '\x{5E85}\x{5E86}\x{5E87}\x{5E88}\x{5E89}\x{5E8A}\x{5E8B}\x{5E8C}\x{5E8D}' - . '\x{5E8E}\x{5E8F}\x{5E90}\x{5E91}\x{5E93}\x{5E94}\x{5E95}\x{5E96}\x{5E97}' - . '\x{5E98}\x{5E99}\x{5E9A}\x{5E9B}\x{5E9C}\x{5E9D}\x{5E9E}\x{5E9F}\x{5EA0}' - . '\x{5EA1}\x{5EA2}\x{5EA3}\x{5EA4}\x{5EA5}\x{5EA6}\x{5EA7}\x{5EA8}\x{5EA9}' - . '\x{5EAA}\x{5EAB}\x{5EAC}\x{5EAD}\x{5EAE}\x{5EAF}\x{5EB0}\x{5EB1}\x{5EB2}' - . '\x{5EB3}\x{5EB4}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EB9}\x{5EBB}\x{5EBC}' - . '\x{5EBD}\x{5EBE}\x{5EBF}\x{5EC1}\x{5EC2}\x{5EC3}\x{5EC4}\x{5EC5}\x{5EC6}' - . '\x{5EC7}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECB}\x{5ECC}\x{5ECD}\x{5ECE}\x{5ECF}' - . '\x{5ED0}\x{5ED1}\x{5ED2}\x{5ED3}\x{5ED4}\x{5ED5}\x{5ED6}\x{5ED7}\x{5ED8}' - . '\x{5ED9}\x{5EDA}\x{5EDB}\x{5EDC}\x{5EDD}\x{5EDE}\x{5EDF}\x{5EE0}\x{5EE1}' - . '\x{5EE2}\x{5EE3}\x{5EE4}\x{5EE5}\x{5EE6}\x{5EE7}\x{5EE8}\x{5EE9}\x{5EEA}' - . '\x{5EEC}\x{5EED}\x{5EEE}\x{5EEF}\x{5EF0}\x{5EF1}\x{5EF2}\x{5EF3}\x{5EF4}' - . '\x{5EF5}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}\x{5EFB}\x{5EFC}\x{5EFD}\x{5EFE}' - . '\x{5EFF}\x{5F00}\x{5F01}\x{5F02}\x{5F03}\x{5F04}\x{5F05}\x{5F06}\x{5F07}' - . '\x{5F08}\x{5F0A}\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F11}\x{5F12}\x{5F13}' - . '\x{5F14}\x{5F15}\x{5F16}\x{5F17}\x{5F18}\x{5F19}\x{5F1A}\x{5F1B}\x{5F1C}' - . '\x{5F1D}\x{5F1E}\x{5F1F}\x{5F20}\x{5F21}\x{5F22}\x{5F23}\x{5F24}\x{5F25}' - . '\x{5F26}\x{5F27}\x{5F28}\x{5F29}\x{5F2A}\x{5F2B}\x{5F2C}\x{5F2D}\x{5F2E}' - . '\x{5F2F}\x{5F30}\x{5F31}\x{5F32}\x{5F33}\x{5F34}\x{5F35}\x{5F36}\x{5F37}' - . '\x{5F38}\x{5F39}\x{5F3A}\x{5F3C}\x{5F3E}\x{5F3F}\x{5F40}\x{5F41}\x{5F42}' - . '\x{5F43}\x{5F44}\x{5F45}\x{5F46}\x{5F47}\x{5F48}\x{5F49}\x{5F4A}\x{5F4B}' - . '\x{5F4C}\x{5F4D}\x{5F4E}\x{5F4F}\x{5F50}\x{5F51}\x{5F52}\x{5F53}\x{5F54}' - . '\x{5F55}\x{5F56}\x{5F57}\x{5F58}\x{5F59}\x{5F5A}\x{5F5B}\x{5F5C}\x{5F5D}' - . '\x{5F5E}\x{5F5F}\x{5F60}\x{5F61}\x{5F62}\x{5F63}\x{5F64}\x{5F65}\x{5F66}' - . '\x{5F67}\x{5F68}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}\x{5F6D}\x{5F6E}\x{5F6F}' - . '\x{5F70}\x{5F71}\x{5F72}\x{5F73}\x{5F74}\x{5F75}\x{5F76}\x{5F77}\x{5F78}' - . '\x{5F79}\x{5F7A}\x{5F7B}\x{5F7C}\x{5F7D}\x{5F7E}\x{5F7F}\x{5F80}\x{5F81}' - . '\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F86}\x{5F87}\x{5F88}\x{5F89}\x{5F8A}' - . '\x{5F8B}\x{5F8C}\x{5F8D}\x{5F8E}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F94}' - . '\x{5F95}\x{5F96}\x{5F97}\x{5F98}\x{5F99}\x{5F9B}\x{5F9C}\x{5F9D}\x{5F9E}' - . '\x{5F9F}\x{5FA0}\x{5FA1}\x{5FA2}\x{5FA5}\x{5FA6}\x{5FA7}\x{5FA8}\x{5FA9}' - . '\x{5FAA}\x{5FAB}\x{5FAC}\x{5FAD}\x{5FAE}\x{5FAF}\x{5FB1}\x{5FB2}\x{5FB3}' - . '\x{5FB4}\x{5FB5}\x{5FB6}\x{5FB7}\x{5FB8}\x{5FB9}\x{5FBA}\x{5FBB}\x{5FBC}' - . '\x{5FBD}\x{5FBE}\x{5FBF}\x{5FC0}\x{5FC1}\x{5FC3}\x{5FC4}\x{5FC5}\x{5FC6}' - . '\x{5FC7}\x{5FC8}\x{5FC9}\x{5FCA}\x{5FCB}\x{5FCC}\x{5FCD}\x{5FCF}\x{5FD0}' - . '\x{5FD1}\x{5FD2}\x{5FD3}\x{5FD4}\x{5FD5}\x{5FD6}\x{5FD7}\x{5FD8}\x{5FD9}' - . '\x{5FDA}\x{5FDC}\x{5FDD}\x{5FDE}\x{5FE0}\x{5FE1}\x{5FE3}\x{5FE4}\x{5FE5}' - . '\x{5FE6}\x{5FE7}\x{5FE8}\x{5FE9}\x{5FEA}\x{5FEB}\x{5FED}\x{5FEE}\x{5FEF}' - . '\x{5FF0}\x{5FF1}\x{5FF2}\x{5FF3}\x{5FF4}\x{5FF5}\x{5FF6}\x{5FF7}\x{5FF8}' - . '\x{5FF9}\x{5FFA}\x{5FFB}\x{5FFD}\x{5FFE}\x{5FFF}\x{6000}\x{6001}\x{6002}' - . '\x{6003}\x{6004}\x{6005}\x{6006}\x{6007}\x{6008}\x{6009}\x{600A}\x{600B}' - . '\x{600C}\x{600D}\x{600E}\x{600F}\x{6010}\x{6011}\x{6012}\x{6013}\x{6014}' - . '\x{6015}\x{6016}\x{6017}\x{6018}\x{6019}\x{601A}\x{601B}\x{601C}\x{601D}' - . '\x{601E}\x{601F}\x{6020}\x{6021}\x{6022}\x{6024}\x{6025}\x{6026}\x{6027}' - . '\x{6028}\x{6029}\x{602A}\x{602B}\x{602C}\x{602D}\x{602E}\x{602F}\x{6030}' - . '\x{6031}\x{6032}\x{6033}\x{6034}\x{6035}\x{6036}\x{6037}\x{6038}\x{6039}' - . '\x{603A}\x{603B}\x{603C}\x{603D}\x{603E}\x{603F}\x{6040}\x{6041}\x{6042}' - . '\x{6043}\x{6044}\x{6045}\x{6046}\x{6047}\x{6048}\x{6049}\x{604A}\x{604B}' - . '\x{604C}\x{604D}\x{604E}\x{604F}\x{6050}\x{6051}\x{6052}\x{6053}\x{6054}' - . '\x{6055}\x{6057}\x{6058}\x{6059}\x{605A}\x{605B}\x{605C}\x{605D}\x{605E}' - . '\x{605F}\x{6062}\x{6063}\x{6064}\x{6065}\x{6066}\x{6067}\x{6068}\x{6069}' - . '\x{606A}\x{606B}\x{606C}\x{606D}\x{606E}\x{606F}\x{6070}\x{6072}\x{6073}' - . '\x{6075}\x{6076}\x{6077}\x{6078}\x{6079}\x{607A}\x{607B}\x{607C}\x{607D}' - . '\x{607E}\x{607F}\x{6080}\x{6081}\x{6082}\x{6083}\x{6084}\x{6085}\x{6086}' - . '\x{6087}\x{6088}\x{6089}\x{608A}\x{608B}\x{608C}\x{608D}\x{608E}\x{608F}' - . '\x{6090}\x{6092}\x{6094}\x{6095}\x{6096}\x{6097}\x{6098}\x{6099}\x{609A}' - . '\x{609B}\x{609C}\x{609D}\x{609E}\x{609F}\x{60A0}\x{60A1}\x{60A2}\x{60A3}' - . '\x{60A4}\x{60A6}\x{60A7}\x{60A8}\x{60AA}\x{60AB}\x{60AC}\x{60AD}\x{60AE}' - . '\x{60AF}\x{60B0}\x{60B1}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B7}' - . '\x{60B8}\x{60B9}\x{60BA}\x{60BB}\x{60BC}\x{60BD}\x{60BE}\x{60BF}\x{60C0}' - . '\x{60C1}\x{60C2}\x{60C3}\x{60C4}\x{60C5}\x{60C6}\x{60C7}\x{60C8}\x{60C9}' - . '\x{60CA}\x{60CB}\x{60CC}\x{60CD}\x{60CE}\x{60CF}\x{60D0}\x{60D1}\x{60D3}' - . '\x{60D4}\x{60D5}\x{60D7}\x{60D8}\x{60D9}\x{60DA}\x{60DB}\x{60DC}\x{60DD}' - . '\x{60DF}\x{60E0}\x{60E1}\x{60E2}\x{60E4}\x{60E6}\x{60E7}\x{60E8}\x{60E9}' - . '\x{60EA}\x{60EB}\x{60EC}\x{60ED}\x{60EE}\x{60EF}\x{60F0}\x{60F1}\x{60F2}' - . '\x{60F3}\x{60F4}\x{60F5}\x{60F6}\x{60F7}\x{60F8}\x{60F9}\x{60FA}\x{60FB}' - . '\x{60FC}\x{60FE}\x{60FF}\x{6100}\x{6101}\x{6103}\x{6104}\x{6105}\x{6106}' - . '\x{6108}\x{6109}\x{610A}\x{610B}\x{610C}\x{610D}\x{610E}\x{610F}\x{6110}' - . '\x{6112}\x{6113}\x{6114}\x{6115}\x{6116}\x{6117}\x{6118}\x{6119}\x{611A}' - . '\x{611B}\x{611C}\x{611D}\x{611F}\x{6120}\x{6122}\x{6123}\x{6124}\x{6125}' - . '\x{6126}\x{6127}\x{6128}\x{6129}\x{612A}\x{612B}\x{612C}\x{612D}\x{612E}' - . '\x{612F}\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}\x{613B}\x{613C}' - . '\x{613D}\x{613E}\x{613F}\x{6140}\x{6141}\x{6142}\x{6143}\x{6144}\x{6145}' - . '\x{6146}\x{6147}\x{6148}\x{6149}\x{614A}\x{614B}\x{614C}\x{614D}\x{614E}' - . '\x{614F}\x{6150}\x{6151}\x{6152}\x{6153}\x{6154}\x{6155}\x{6156}\x{6157}' - . '\x{6158}\x{6159}\x{615A}\x{615B}\x{615C}\x{615D}\x{615E}\x{615F}\x{6161}' - . '\x{6162}\x{6163}\x{6164}\x{6165}\x{6166}\x{6167}\x{6168}\x{6169}\x{616A}' - . '\x{616B}\x{616C}\x{616D}\x{616E}\x{6170}\x{6171}\x{6172}\x{6173}\x{6174}' - . '\x{6175}\x{6176}\x{6177}\x{6178}\x{6179}\x{617A}\x{617C}\x{617E}\x{6180}' - . '\x{6181}\x{6182}\x{6183}\x{6184}\x{6185}\x{6187}\x{6188}\x{6189}\x{618A}' - . '\x{618B}\x{618C}\x{618D}\x{618E}\x{618F}\x{6190}\x{6191}\x{6192}\x{6193}' - . '\x{6194}\x{6195}\x{6196}\x{6198}\x{6199}\x{619A}\x{619B}\x{619D}\x{619E}' - . '\x{619F}\x{61A0}\x{61A1}\x{61A2}\x{61A3}\x{61A4}\x{61A5}\x{61A6}\x{61A7}' - . '\x{61A8}\x{61A9}\x{61AA}\x{61AB}\x{61AC}\x{61AD}\x{61AE}\x{61AF}\x{61B0}' - . '\x{61B1}\x{61B2}\x{61B3}\x{61B4}\x{61B5}\x{61B6}\x{61B7}\x{61B8}\x{61BA}' - . '\x{61BC}\x{61BD}\x{61BE}\x{61BF}\x{61C0}\x{61C1}\x{61C2}\x{61C3}\x{61C4}' - . '\x{61C5}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' - . '\x{61CE}\x{61CF}\x{61D0}\x{61D1}\x{61D2}\x{61D4}\x{61D6}\x{61D7}\x{61D8}' - . '\x{61D9}\x{61DA}\x{61DB}\x{61DC}\x{61DD}\x{61DE}\x{61DF}\x{61E0}\x{61E1}' - . '\x{61E2}\x{61E3}\x{61E4}\x{61E5}\x{61E6}\x{61E7}\x{61E8}\x{61E9}\x{61EA}' - . '\x{61EB}\x{61ED}\x{61EE}\x{61F0}\x{61F1}\x{61F2}\x{61F3}\x{61F5}\x{61F6}' - . '\x{61F7}\x{61F8}\x{61F9}\x{61FA}\x{61FB}\x{61FC}\x{61FD}\x{61FE}\x{61FF}' - . '\x{6200}\x{6201}\x{6202}\x{6203}\x{6204}\x{6206}\x{6207}\x{6208}\x{6209}' - . '\x{620A}\x{620B}\x{620C}\x{620D}\x{620E}\x{620F}\x{6210}\x{6211}\x{6212}' - . '\x{6213}\x{6214}\x{6215}\x{6216}\x{6217}\x{6218}\x{6219}\x{621A}\x{621B}' - . '\x{621C}\x{621D}\x{621E}\x{621F}\x{6220}\x{6221}\x{6222}\x{6223}\x{6224}' - . '\x{6225}\x{6226}\x{6227}\x{6228}\x{6229}\x{622A}\x{622B}\x{622C}\x{622D}' - . '\x{622E}\x{622F}\x{6230}\x{6231}\x{6232}\x{6233}\x{6234}\x{6236}\x{6237}' - . '\x{6238}\x{623A}\x{623B}\x{623C}\x{623D}\x{623E}\x{623F}\x{6240}\x{6241}' - . '\x{6242}\x{6243}\x{6244}\x{6245}\x{6246}\x{6247}\x{6248}\x{6249}\x{624A}' - . '\x{624B}\x{624C}\x{624D}\x{624E}\x{624F}\x{6250}\x{6251}\x{6252}\x{6253}' - . '\x{6254}\x{6255}\x{6256}\x{6258}\x{6259}\x{625A}\x{625B}\x{625C}\x{625D}' - . '\x{625E}\x{625F}\x{6260}\x{6261}\x{6262}\x{6263}\x{6264}\x{6265}\x{6266}' - . '\x{6267}\x{6268}\x{6269}\x{626A}\x{626B}\x{626C}\x{626D}\x{626E}\x{626F}' - . '\x{6270}\x{6271}\x{6272}\x{6273}\x{6274}\x{6275}\x{6276}\x{6277}\x{6278}' - . '\x{6279}\x{627A}\x{627B}\x{627C}\x{627D}\x{627E}\x{627F}\x{6280}\x{6281}' - . '\x{6283}\x{6284}\x{6285}\x{6286}\x{6287}\x{6288}\x{6289}\x{628A}\x{628B}' - . '\x{628C}\x{628E}\x{628F}\x{6290}\x{6291}\x{6292}\x{6293}\x{6294}\x{6295}' - . '\x{6296}\x{6297}\x{6298}\x{6299}\x{629A}\x{629B}\x{629C}\x{629E}\x{629F}' - . '\x{62A0}\x{62A1}\x{62A2}\x{62A3}\x{62A4}\x{62A5}\x{62A7}\x{62A8}\x{62A9}' - . '\x{62AA}\x{62AB}\x{62AC}\x{62AD}\x{62AE}\x{62AF}\x{62B0}\x{62B1}\x{62B2}' - . '\x{62B3}\x{62B4}\x{62B5}\x{62B6}\x{62B7}\x{62B8}\x{62B9}\x{62BA}\x{62BB}' - . '\x{62BC}\x{62BD}\x{62BE}\x{62BF}\x{62C0}\x{62C1}\x{62C2}\x{62C3}\x{62C4}' - . '\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CB}\x{62CC}\x{62CD}' - . '\x{62CE}\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D5}\x{62D6}' - . '\x{62D7}\x{62D8}\x{62D9}\x{62DA}\x{62DB}\x{62DC}\x{62DD}\x{62DF}\x{62E0}' - . '\x{62E1}\x{62E2}\x{62E3}\x{62E4}\x{62E5}\x{62E6}\x{62E7}\x{62E8}\x{62E9}' - . '\x{62EB}\x{62EC}\x{62ED}\x{62EE}\x{62EF}\x{62F0}\x{62F1}\x{62F2}\x{62F3}' - . '\x{62F4}\x{62F5}\x{62F6}\x{62F7}\x{62F8}\x{62F9}\x{62FA}\x{62FB}\x{62FC}' - . '\x{62FD}\x{62FE}\x{62FF}\x{6300}\x{6301}\x{6302}\x{6303}\x{6304}\x{6305}' - . '\x{6306}\x{6307}\x{6308}\x{6309}\x{630B}\x{630C}\x{630D}\x{630E}\x{630F}' - . '\x{6310}\x{6311}\x{6312}\x{6313}\x{6314}\x{6315}\x{6316}\x{6318}\x{6319}' - . '\x{631A}\x{631B}\x{631C}\x{631D}\x{631E}\x{631F}\x{6320}\x{6321}\x{6322}' - . '\x{6323}\x{6324}\x{6325}\x{6326}\x{6327}\x{6328}\x{6329}\x{632A}\x{632B}' - . '\x{632C}\x{632D}\x{632E}\x{632F}\x{6330}\x{6332}\x{6333}\x{6334}\x{6336}' - . '\x{6338}\x{6339}\x{633A}\x{633B}\x{633C}\x{633D}\x{633E}\x{6340}\x{6341}' - . '\x{6342}\x{6343}\x{6344}\x{6345}\x{6346}\x{6347}\x{6348}\x{6349}\x{634A}' - . '\x{634B}\x{634C}\x{634D}\x{634E}\x{634F}\x{6350}\x{6351}\x{6352}\x{6353}' - . '\x{6354}\x{6355}\x{6356}\x{6357}\x{6358}\x{6359}\x{635A}\x{635C}\x{635D}' - . '\x{635E}\x{635F}\x{6360}\x{6361}\x{6362}\x{6363}\x{6364}\x{6365}\x{6366}' - . '\x{6367}\x{6368}\x{6369}\x{636A}\x{636B}\x{636C}\x{636D}\x{636E}\x{636F}' - . '\x{6370}\x{6371}\x{6372}\x{6373}\x{6374}\x{6375}\x{6376}\x{6377}\x{6378}' - . '\x{6379}\x{637A}\x{637B}\x{637C}\x{637D}\x{637E}\x{6380}\x{6381}\x{6382}' - . '\x{6383}\x{6384}\x{6385}\x{6386}\x{6387}\x{6388}\x{6389}\x{638A}\x{638C}' - . '\x{638D}\x{638E}\x{638F}\x{6390}\x{6391}\x{6392}\x{6394}\x{6395}\x{6396}' - . '\x{6397}\x{6398}\x{6399}\x{639A}\x{639B}\x{639C}\x{639D}\x{639E}\x{639F}' - . '\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A4}\x{63A5}\x{63A6}\x{63A7}\x{63A8}' - . '\x{63A9}\x{63AA}\x{63AB}\x{63AC}\x{63AD}\x{63AE}\x{63AF}\x{63B0}\x{63B1}' - . '\x{63B2}\x{63B3}\x{63B4}\x{63B5}\x{63B6}\x{63B7}\x{63B8}\x{63B9}\x{63BA}' - . '\x{63BC}\x{63BD}\x{63BE}\x{63BF}\x{63C0}\x{63C1}\x{63C2}\x{63C3}\x{63C4}' - . '\x{63C5}\x{63C6}\x{63C7}\x{63C8}\x{63C9}\x{63CA}\x{63CB}\x{63CC}\x{63CD}' - . '\x{63CE}\x{63CF}\x{63D0}\x{63D2}\x{63D3}\x{63D4}\x{63D5}\x{63D6}\x{63D7}' - . '\x{63D8}\x{63D9}\x{63DA}\x{63DB}\x{63DC}\x{63DD}\x{63DE}\x{63DF}\x{63E0}' - . '\x{63E1}\x{63E2}\x{63E3}\x{63E4}\x{63E5}\x{63E6}\x{63E7}\x{63E8}\x{63E9}' - . '\x{63EA}\x{63EB}\x{63EC}\x{63ED}\x{63EE}\x{63EF}\x{63F0}\x{63F1}\x{63F2}' - . '\x{63F3}\x{63F4}\x{63F5}\x{63F6}\x{63F7}\x{63F8}\x{63F9}\x{63FA}\x{63FB}' - . '\x{63FC}\x{63FD}\x{63FE}\x{63FF}\x{6400}\x{6401}\x{6402}\x{6403}\x{6404}' - . '\x{6405}\x{6406}\x{6408}\x{6409}\x{640A}\x{640B}\x{640C}\x{640D}\x{640E}' - . '\x{640F}\x{6410}\x{6411}\x{6412}\x{6413}\x{6414}\x{6415}\x{6416}\x{6417}' - . '\x{6418}\x{6419}\x{641A}\x{641B}\x{641C}\x{641D}\x{641E}\x{641F}\x{6420}' - . '\x{6421}\x{6422}\x{6423}\x{6424}\x{6425}\x{6426}\x{6427}\x{6428}\x{6429}' - . '\x{642A}\x{642B}\x{642C}\x{642D}\x{642E}\x{642F}\x{6430}\x{6431}\x{6432}' - . '\x{6433}\x{6434}\x{6435}\x{6436}\x{6437}\x{6438}\x{6439}\x{643A}\x{643D}' - . '\x{643E}\x{643F}\x{6440}\x{6441}\x{6443}\x{6444}\x{6445}\x{6446}\x{6447}' - . '\x{6448}\x{644A}\x{644B}\x{644C}\x{644D}\x{644E}\x{644F}\x{6450}\x{6451}' - . '\x{6452}\x{6453}\x{6454}\x{6455}\x{6456}\x{6457}\x{6458}\x{6459}\x{645B}' - . '\x{645C}\x{645D}\x{645E}\x{645F}\x{6460}\x{6461}\x{6462}\x{6463}\x{6464}' - . '\x{6465}\x{6466}\x{6467}\x{6468}\x{6469}\x{646A}\x{646B}\x{646C}\x{646D}' - . '\x{646E}\x{646F}\x{6470}\x{6471}\x{6472}\x{6473}\x{6474}\x{6475}\x{6476}' - . '\x{6477}\x{6478}\x{6479}\x{647A}\x{647B}\x{647C}\x{647D}\x{647F}\x{6480}' - . '\x{6481}\x{6482}\x{6483}\x{6484}\x{6485}\x{6487}\x{6488}\x{6489}\x{648A}' - . '\x{648B}\x{648C}\x{648D}\x{648E}\x{648F}\x{6490}\x{6491}\x{6492}\x{6493}' - . '\x{6494}\x{6495}\x{6496}\x{6497}\x{6498}\x{6499}\x{649A}\x{649B}\x{649C}' - . '\x{649D}\x{649E}\x{649F}\x{64A0}\x{64A2}\x{64A3}\x{64A4}\x{64A5}\x{64A6}' - . '\x{64A7}\x{64A8}\x{64A9}\x{64AA}\x{64AB}\x{64AC}\x{64AD}\x{64AE}\x{64B0}' - . '\x{64B1}\x{64B2}\x{64B3}\x{64B4}\x{64B5}\x{64B7}\x{64B8}\x{64B9}\x{64BA}' - . '\x{64BB}\x{64BC}\x{64BD}\x{64BE}\x{64BF}\x{64C0}\x{64C1}\x{64C2}\x{64C3}' - . '\x{64C4}\x{64C5}\x{64C6}\x{64C7}\x{64C9}\x{64CA}\x{64CB}\x{64CC}\x{64CD}' - . '\x{64CE}\x{64CF}\x{64D0}\x{64D1}\x{64D2}\x{64D3}\x{64D4}\x{64D6}\x{64D7}' - . '\x{64D8}\x{64D9}\x{64DA}\x{64DB}\x{64DC}\x{64DD}\x{64DE}\x{64DF}\x{64E0}' - . '\x{64E2}\x{64E3}\x{64E4}\x{64E6}\x{64E7}\x{64E8}\x{64E9}\x{64EA}\x{64EB}' - . '\x{64EC}\x{64ED}\x{64EF}\x{64F0}\x{64F1}\x{64F2}\x{64F3}\x{64F4}\x{64F6}' - . '\x{64F7}\x{64F8}\x{64FA}\x{64FB}\x{64FC}\x{64FD}\x{64FE}\x{64FF}\x{6500}' - . '\x{6501}\x{6503}\x{6504}\x{6505}\x{6506}\x{6507}\x{6508}\x{6509}\x{650B}' - . '\x{650C}\x{650D}\x{650E}\x{650F}\x{6510}\x{6511}\x{6512}\x{6513}\x{6514}' - . '\x{6515}\x{6516}\x{6517}\x{6518}\x{6519}\x{651A}\x{651B}\x{651C}\x{651D}' - . '\x{651E}\x{6520}\x{6521}\x{6522}\x{6523}\x{6524}\x{6525}\x{6526}\x{6527}' - . '\x{6529}\x{652A}\x{652B}\x{652C}\x{652D}\x{652E}\x{652F}\x{6530}\x{6531}' - . '\x{6532}\x{6533}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}\x{653A}' - . '\x{653B}\x{653C}\x{653D}\x{653E}\x{653F}\x{6541}\x{6543}\x{6544}\x{6545}' - . '\x{6546}\x{6547}\x{6548}\x{6549}\x{654A}\x{654B}\x{654C}\x{654D}\x{654E}' - . '\x{654F}\x{6550}\x{6551}\x{6552}\x{6553}\x{6554}\x{6555}\x{6556}\x{6557}' - . '\x{6558}\x{6559}\x{655B}\x{655C}\x{655D}\x{655E}\x{6560}\x{6561}\x{6562}' - . '\x{6563}\x{6564}\x{6565}\x{6566}\x{6567}\x{6568}\x{6569}\x{656A}\x{656B}' - . '\x{656C}\x{656E}\x{656F}\x{6570}\x{6571}\x{6572}\x{6573}\x{6574}\x{6575}' - . '\x{6576}\x{6577}\x{6578}\x{6579}\x{657A}\x{657B}\x{657C}\x{657E}\x{657F}' - . '\x{6580}\x{6581}\x{6582}\x{6583}\x{6584}\x{6585}\x{6586}\x{6587}\x{6588}' - . '\x{6589}\x{658B}\x{658C}\x{658D}\x{658E}\x{658F}\x{6590}\x{6591}\x{6592}' - . '\x{6593}\x{6594}\x{6595}\x{6596}\x{6597}\x{6598}\x{6599}\x{659B}\x{659C}' - . '\x{659D}\x{659E}\x{659F}\x{65A0}\x{65A1}\x{65A2}\x{65A3}\x{65A4}\x{65A5}' - . '\x{65A6}\x{65A7}\x{65A8}\x{65A9}\x{65AA}\x{65AB}\x{65AC}\x{65AD}\x{65AE}' - . '\x{65AF}\x{65B0}\x{65B1}\x{65B2}\x{65B3}\x{65B4}\x{65B6}\x{65B7}\x{65B8}' - . '\x{65B9}\x{65BA}\x{65BB}\x{65BC}\x{65BD}\x{65BF}\x{65C0}\x{65C1}\x{65C2}' - . '\x{65C3}\x{65C4}\x{65C5}\x{65C6}\x{65C7}\x{65CA}\x{65CB}\x{65CC}\x{65CD}' - . '\x{65CE}\x{65CF}\x{65D0}\x{65D2}\x{65D3}\x{65D4}\x{65D5}\x{65D6}\x{65D7}' - . '\x{65DA}\x{65DB}\x{65DD}\x{65DE}\x{65DF}\x{65E0}\x{65E1}\x{65E2}\x{65E3}' - . '\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}\x{65EB}\x{65EC}\x{65ED}\x{65EE}' - . '\x{65EF}\x{65F0}\x{65F1}\x{65F2}\x{65F3}\x{65F4}\x{65F5}\x{65F6}\x{65F7}' - . '\x{65F8}\x{65FA}\x{65FB}\x{65FC}\x{65FD}\x{6600}\x{6601}\x{6602}\x{6603}' - . '\x{6604}\x{6605}\x{6606}\x{6607}\x{6608}\x{6609}\x{660A}\x{660B}\x{660C}' - . '\x{660D}\x{660E}\x{660F}\x{6610}\x{6611}\x{6612}\x{6613}\x{6614}\x{6615}' - . '\x{6616}\x{6618}\x{6619}\x{661A}\x{661B}\x{661C}\x{661D}\x{661F}\x{6620}' - . '\x{6621}\x{6622}\x{6623}\x{6624}\x{6625}\x{6626}\x{6627}\x{6628}\x{6629}' - . '\x{662A}\x{662B}\x{662D}\x{662E}\x{662F}\x{6630}\x{6631}\x{6632}\x{6633}' - . '\x{6634}\x{6635}\x{6636}\x{6639}\x{663A}\x{663C}\x{663D}\x{663E}\x{6640}' - . '\x{6641}\x{6642}\x{6643}\x{6644}\x{6645}\x{6646}\x{6647}\x{6649}\x{664A}' - . '\x{664B}\x{664C}\x{664E}\x{664F}\x{6650}\x{6651}\x{6652}\x{6653}\x{6654}' - . '\x{6655}\x{6656}\x{6657}\x{6658}\x{6659}\x{665A}\x{665B}\x{665C}\x{665D}' - . '\x{665E}\x{665F}\x{6661}\x{6662}\x{6664}\x{6665}\x{6666}\x{6668}\x{6669}' - . '\x{666A}\x{666B}\x{666C}\x{666D}\x{666E}\x{666F}\x{6670}\x{6671}\x{6672}' - . '\x{6673}\x{6674}\x{6675}\x{6676}\x{6677}\x{6678}\x{6679}\x{667A}\x{667B}' - . '\x{667C}\x{667D}\x{667E}\x{667F}\x{6680}\x{6681}\x{6682}\x{6683}\x{6684}' - . '\x{6685}\x{6686}\x{6687}\x{6688}\x{6689}\x{668A}\x{668B}\x{668C}\x{668D}' - . '\x{668E}\x{668F}\x{6690}\x{6691}\x{6693}\x{6694}\x{6695}\x{6696}\x{6697}' - . '\x{6698}\x{6699}\x{669A}\x{669B}\x{669D}\x{669F}\x{66A0}\x{66A1}\x{66A2}' - . '\x{66A3}\x{66A4}\x{66A5}\x{66A6}\x{66A7}\x{66A8}\x{66A9}\x{66AA}\x{66AB}' - . '\x{66AE}\x{66AF}\x{66B0}\x{66B1}\x{66B2}\x{66B3}\x{66B4}\x{66B5}\x{66B6}' - . '\x{66B7}\x{66B8}\x{66B9}\x{66BA}\x{66BB}\x{66BC}\x{66BD}\x{66BE}\x{66BF}' - . '\x{66C0}\x{66C1}\x{66C2}\x{66C3}\x{66C4}\x{66C5}\x{66C6}\x{66C7}\x{66C8}' - . '\x{66C9}\x{66CA}\x{66CB}\x{66CC}\x{66CD}\x{66CE}\x{66CF}\x{66D1}\x{66D2}' - . '\x{66D4}\x{66D5}\x{66D6}\x{66D8}\x{66D9}\x{66DA}\x{66DB}\x{66DC}\x{66DD}' - . '\x{66DE}\x{66E0}\x{66E1}\x{66E2}\x{66E3}\x{66E4}\x{66E5}\x{66E6}\x{66E7}' - . '\x{66E8}\x{66E9}\x{66EA}\x{66EB}\x{66EC}\x{66ED}\x{66EE}\x{66F0}\x{66F1}' - . '\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F6}\x{66F7}\x{66F8}\x{66F9}\x{66FA}' - . '\x{66FB}\x{66FC}\x{66FE}\x{66FF}\x{6700}\x{6701}\x{6703}\x{6704}\x{6705}' - . '\x{6706}\x{6708}\x{6709}\x{670A}\x{670B}\x{670C}\x{670D}\x{670E}\x{670F}' - . '\x{6710}\x{6711}\x{6712}\x{6713}\x{6714}\x{6715}\x{6716}\x{6717}\x{6718}' - . '\x{671A}\x{671B}\x{671C}\x{671D}\x{671E}\x{671F}\x{6720}\x{6721}\x{6722}' - . '\x{6723}\x{6725}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}\x{672D}' - . '\x{672E}\x{672F}\x{6730}\x{6731}\x{6732}\x{6733}\x{6734}\x{6735}\x{6736}' - . '\x{6737}\x{6738}\x{6739}\x{673A}\x{673B}\x{673C}\x{673D}\x{673E}\x{673F}' - . '\x{6740}\x{6741}\x{6742}\x{6743}\x{6744}\x{6745}\x{6746}\x{6747}\x{6748}' - . '\x{6749}\x{674A}\x{674B}\x{674C}\x{674D}\x{674E}\x{674F}\x{6750}\x{6751}' - . '\x{6752}\x{6753}\x{6754}\x{6755}\x{6756}\x{6757}\x{6758}\x{6759}\x{675A}' - . '\x{675B}\x{675C}\x{675D}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' - . '\x{6764}\x{6765}\x{6766}\x{6768}\x{6769}\x{676A}\x{676B}\x{676C}\x{676D}' - . '\x{676E}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}\x{6774}\x{6775}\x{6776}' - . '\x{6777}\x{6778}\x{6779}\x{677A}\x{677B}\x{677C}\x{677D}\x{677E}\x{677F}' - . '\x{6780}\x{6781}\x{6782}\x{6783}\x{6784}\x{6785}\x{6786}\x{6787}\x{6789}' - . '\x{678A}\x{678B}\x{678C}\x{678D}\x{678E}\x{678F}\x{6790}\x{6791}\x{6792}' - . '\x{6793}\x{6794}\x{6795}\x{6797}\x{6798}\x{6799}\x{679A}\x{679B}\x{679C}' - . '\x{679D}\x{679E}\x{679F}\x{67A0}\x{67A1}\x{67A2}\x{67A3}\x{67A4}\x{67A5}' - . '\x{67A6}\x{67A7}\x{67A8}\x{67AA}\x{67AB}\x{67AC}\x{67AD}\x{67AE}\x{67AF}' - . '\x{67B0}\x{67B1}\x{67B2}\x{67B3}\x{67B4}\x{67B5}\x{67B6}\x{67B7}\x{67B8}' - . '\x{67B9}\x{67BA}\x{67BB}\x{67BC}\x{67BE}\x{67C0}\x{67C1}\x{67C2}\x{67C3}' - . '\x{67C4}\x{67C5}\x{67C6}\x{67C7}\x{67C8}\x{67C9}\x{67CA}\x{67CB}\x{67CC}' - . '\x{67CD}\x{67CE}\x{67CF}\x{67D0}\x{67D1}\x{67D2}\x{67D3}\x{67D4}\x{67D6}' - . '\x{67D8}\x{67D9}\x{67DA}\x{67DB}\x{67DC}\x{67DD}\x{67DE}\x{67DF}\x{67E0}' - . '\x{67E1}\x{67E2}\x{67E3}\x{67E4}\x{67E5}\x{67E6}\x{67E7}\x{67E8}\x{67E9}' - . '\x{67EA}\x{67EB}\x{67EC}\x{67ED}\x{67EE}\x{67EF}\x{67F0}\x{67F1}\x{67F2}' - . '\x{67F3}\x{67F4}\x{67F5}\x{67F6}\x{67F7}\x{67F8}\x{67FA}\x{67FB}\x{67FC}' - . '\x{67FD}\x{67FE}\x{67FF}\x{6800}\x{6802}\x{6803}\x{6804}\x{6805}\x{6806}' - . '\x{6807}\x{6808}\x{6809}\x{680A}\x{680B}\x{680C}\x{680D}\x{680E}\x{680F}' - . '\x{6810}\x{6811}\x{6812}\x{6813}\x{6814}\x{6816}\x{6817}\x{6818}\x{6819}' - . '\x{681A}\x{681B}\x{681C}\x{681D}\x{681F}\x{6820}\x{6821}\x{6822}\x{6823}' - . '\x{6824}\x{6825}\x{6826}\x{6828}\x{6829}\x{682A}\x{682B}\x{682C}\x{682D}' - . '\x{682E}\x{682F}\x{6831}\x{6832}\x{6833}\x{6834}\x{6835}\x{6836}\x{6837}' - . '\x{6838}\x{6839}\x{683A}\x{683B}\x{683C}\x{683D}\x{683E}\x{683F}\x{6840}' - . '\x{6841}\x{6842}\x{6843}\x{6844}\x{6845}\x{6846}\x{6847}\x{6848}\x{6849}' - . '\x{684A}\x{684B}\x{684C}\x{684D}\x{684E}\x{684F}\x{6850}\x{6851}\x{6852}' - . '\x{6853}\x{6854}\x{6855}\x{6856}\x{6857}\x{685B}\x{685D}\x{6860}\x{6861}' - . '\x{6862}\x{6863}\x{6864}\x{6865}\x{6866}\x{6867}\x{6868}\x{6869}\x{686A}' - . '\x{686B}\x{686C}\x{686D}\x{686E}\x{686F}\x{6870}\x{6871}\x{6872}\x{6873}' - . '\x{6874}\x{6875}\x{6876}\x{6877}\x{6878}\x{6879}\x{687B}\x{687C}\x{687D}' - . '\x{687E}\x{687F}\x{6880}\x{6881}\x{6882}\x{6883}\x{6884}\x{6885}\x{6886}' - . '\x{6887}\x{6888}\x{6889}\x{688A}\x{688B}\x{688C}\x{688D}\x{688E}\x{688F}' - . '\x{6890}\x{6891}\x{6892}\x{6893}\x{6894}\x{6896}\x{6897}\x{6898}\x{689A}' - . '\x{689B}\x{689C}\x{689D}\x{689E}\x{689F}\x{68A0}\x{68A1}\x{68A2}\x{68A3}' - . '\x{68A4}\x{68A6}\x{68A7}\x{68A8}\x{68A9}\x{68AA}\x{68AB}\x{68AC}\x{68AD}' - . '\x{68AE}\x{68AF}\x{68B0}\x{68B1}\x{68B2}\x{68B3}\x{68B4}\x{68B5}\x{68B6}' - . '\x{68B7}\x{68B9}\x{68BB}\x{68BC}\x{68BD}\x{68BE}\x{68BF}\x{68C0}\x{68C1}' - . '\x{68C2}\x{68C4}\x{68C6}\x{68C7}\x{68C8}\x{68C9}\x{68CA}\x{68CB}\x{68CC}' - . '\x{68CD}\x{68CE}\x{68CF}\x{68D0}\x{68D1}\x{68D2}\x{68D3}\x{68D4}\x{68D5}' - . '\x{68D6}\x{68D7}\x{68D8}\x{68DA}\x{68DB}\x{68DC}\x{68DD}\x{68DE}\x{68DF}' - . '\x{68E0}\x{68E1}\x{68E3}\x{68E4}\x{68E6}\x{68E7}\x{68E8}\x{68E9}\x{68EA}' - . '\x{68EB}\x{68EC}\x{68ED}\x{68EE}\x{68EF}\x{68F0}\x{68F1}\x{68F2}\x{68F3}' - . '\x{68F4}\x{68F5}\x{68F6}\x{68F7}\x{68F8}\x{68F9}\x{68FA}\x{68FB}\x{68FC}' - . '\x{68FD}\x{68FE}\x{68FF}\x{6901}\x{6902}\x{6903}\x{6904}\x{6905}\x{6906}' - . '\x{6907}\x{6908}\x{690A}\x{690B}\x{690C}\x{690D}\x{690E}\x{690F}\x{6910}' - . '\x{6911}\x{6912}\x{6913}\x{6914}\x{6915}\x{6916}\x{6917}\x{6918}\x{6919}' - . '\x{691A}\x{691B}\x{691C}\x{691D}\x{691E}\x{691F}\x{6920}\x{6921}\x{6922}' - . '\x{6923}\x{6924}\x{6925}\x{6926}\x{6927}\x{6928}\x{6929}\x{692A}\x{692B}' - . '\x{692C}\x{692D}\x{692E}\x{692F}\x{6930}\x{6931}\x{6932}\x{6933}\x{6934}' - . '\x{6935}\x{6936}\x{6937}\x{6938}\x{6939}\x{693A}\x{693B}\x{693C}\x{693D}' - . '\x{693F}\x{6940}\x{6941}\x{6942}\x{6943}\x{6944}\x{6945}\x{6946}\x{6947}' - . '\x{6948}\x{6949}\x{694A}\x{694B}\x{694C}\x{694E}\x{694F}\x{6950}\x{6951}' - . '\x{6952}\x{6953}\x{6954}\x{6955}\x{6956}\x{6957}\x{6958}\x{6959}\x{695A}' - . '\x{695B}\x{695C}\x{695D}\x{695E}\x{695F}\x{6960}\x{6961}\x{6962}\x{6963}' - . '\x{6964}\x{6965}\x{6966}\x{6967}\x{6968}\x{6969}\x{696A}\x{696B}\x{696C}' - . '\x{696D}\x{696E}\x{696F}\x{6970}\x{6971}\x{6972}\x{6973}\x{6974}\x{6975}' - . '\x{6976}\x{6977}\x{6978}\x{6979}\x{697A}\x{697B}\x{697C}\x{697D}\x{697E}' - . '\x{697F}\x{6980}\x{6981}\x{6982}\x{6983}\x{6984}\x{6985}\x{6986}\x{6987}' - . '\x{6988}\x{6989}\x{698A}\x{698B}\x{698C}\x{698D}\x{698E}\x{698F}\x{6990}' - . '\x{6991}\x{6992}\x{6993}\x{6994}\x{6995}\x{6996}\x{6997}\x{6998}\x{6999}' - . '\x{699A}\x{699B}\x{699C}\x{699D}\x{699E}\x{69A0}\x{69A1}\x{69A3}\x{69A4}' - . '\x{69A5}\x{69A6}\x{69A7}\x{69A8}\x{69A9}\x{69AA}\x{69AB}\x{69AC}\x{69AD}' - . '\x{69AE}\x{69AF}\x{69B0}\x{69B1}\x{69B2}\x{69B3}\x{69B4}\x{69B5}\x{69B6}' - . '\x{69B7}\x{69B8}\x{69B9}\x{69BA}\x{69BB}\x{69BC}\x{69BD}\x{69BE}\x{69BF}' - . '\x{69C1}\x{69C2}\x{69C3}\x{69C4}\x{69C5}\x{69C6}\x{69C7}\x{69C8}\x{69C9}' - . '\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}\x{69CF}\x{69D0}\x{69D3}\x{69D4}' - . '\x{69D8}\x{69D9}\x{69DA}\x{69DB}\x{69DC}\x{69DD}\x{69DE}\x{69DF}\x{69E0}' - . '\x{69E1}\x{69E2}\x{69E3}\x{69E4}\x{69E5}\x{69E6}\x{69E7}\x{69E8}\x{69E9}' - . '\x{69EA}\x{69EB}\x{69EC}\x{69ED}\x{69EE}\x{69EF}\x{69F0}\x{69F1}\x{69F2}' - . '\x{69F3}\x{69F4}\x{69F5}\x{69F6}\x{69F7}\x{69F8}\x{69FA}\x{69FB}\x{69FC}' - . '\x{69FD}\x{69FE}\x{69FF}\x{6A00}\x{6A01}\x{6A02}\x{6A04}\x{6A05}\x{6A06}' - . '\x{6A07}\x{6A08}\x{6A09}\x{6A0A}\x{6A0B}\x{6A0D}\x{6A0E}\x{6A0F}\x{6A10}' - . '\x{6A11}\x{6A12}\x{6A13}\x{6A14}\x{6A15}\x{6A16}\x{6A17}\x{6A18}\x{6A19}' - . '\x{6A1A}\x{6A1B}\x{6A1D}\x{6A1E}\x{6A1F}\x{6A20}\x{6A21}\x{6A22}\x{6A23}' - . '\x{6A25}\x{6A26}\x{6A27}\x{6A28}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2C}\x{6A2D}' - . '\x{6A2E}\x{6A2F}\x{6A30}\x{6A31}\x{6A32}\x{6A33}\x{6A34}\x{6A35}\x{6A36}' - . '\x{6A38}\x{6A39}\x{6A3A}\x{6A3B}\x{6A3C}\x{6A3D}\x{6A3E}\x{6A3F}\x{6A40}' - . '\x{6A41}\x{6A42}\x{6A43}\x{6A44}\x{6A45}\x{6A46}\x{6A47}\x{6A48}\x{6A49}' - . '\x{6A4B}\x{6A4C}\x{6A4D}\x{6A4E}\x{6A4F}\x{6A50}\x{6A51}\x{6A52}\x{6A54}' - . '\x{6A55}\x{6A56}\x{6A57}\x{6A58}\x{6A59}\x{6A5A}\x{6A5B}\x{6A5D}\x{6A5E}' - . '\x{6A5F}\x{6A60}\x{6A61}\x{6A62}\x{6A63}\x{6A64}\x{6A65}\x{6A66}\x{6A67}' - . '\x{6A68}\x{6A69}\x{6A6A}\x{6A6B}\x{6A6C}\x{6A6D}\x{6A6F}\x{6A71}\x{6A72}' - . '\x{6A73}\x{6A74}\x{6A75}\x{6A76}\x{6A77}\x{6A78}\x{6A79}\x{6A7A}\x{6A7B}' - . '\x{6A7C}\x{6A7D}\x{6A7E}\x{6A7F}\x{6A80}\x{6A81}\x{6A82}\x{6A83}\x{6A84}' - . '\x{6A85}\x{6A87}\x{6A88}\x{6A89}\x{6A8B}\x{6A8C}\x{6A8D}\x{6A8E}\x{6A90}' - . '\x{6A91}\x{6A92}\x{6A93}\x{6A94}\x{6A95}\x{6A96}\x{6A97}\x{6A98}\x{6A9A}' - . '\x{6A9B}\x{6A9C}\x{6A9E}\x{6A9F}\x{6AA0}\x{6AA1}\x{6AA2}\x{6AA3}\x{6AA4}' - . '\x{6AA5}\x{6AA6}\x{6AA7}\x{6AA8}\x{6AA9}\x{6AAB}\x{6AAC}\x{6AAD}\x{6AAE}' - . '\x{6AAF}\x{6AB0}\x{6AB2}\x{6AB3}\x{6AB4}\x{6AB5}\x{6AB6}\x{6AB7}\x{6AB8}' - . '\x{6AB9}\x{6ABA}\x{6ABB}\x{6ABC}\x{6ABD}\x{6ABF}\x{6AC1}\x{6AC2}\x{6AC3}' - . '\x{6AC5}\x{6AC6}\x{6AC7}\x{6ACA}\x{6ACB}\x{6ACC}\x{6ACD}\x{6ACE}\x{6ACF}' - . '\x{6AD0}\x{6AD1}\x{6AD2}\x{6AD3}\x{6AD4}\x{6AD5}\x{6AD6}\x{6AD7}\x{6AD9}' - . '\x{6ADA}\x{6ADB}\x{6ADC}\x{6ADD}\x{6ADE}\x{6ADF}\x{6AE0}\x{6AE1}\x{6AE2}' - . '\x{6AE3}\x{6AE4}\x{6AE5}\x{6AE6}\x{6AE7}\x{6AE8}\x{6AEA}\x{6AEB}\x{6AEC}' - . '\x{6AED}\x{6AEE}\x{6AEF}\x{6AF0}\x{6AF1}\x{6AF2}\x{6AF3}\x{6AF4}\x{6AF5}' - . '\x{6AF6}\x{6AF7}\x{6AF8}\x{6AF9}\x{6AFA}\x{6AFB}\x{6AFC}\x{6AFD}\x{6AFE}' - . '\x{6AFF}\x{6B00}\x{6B01}\x{6B02}\x{6B03}\x{6B04}\x{6B05}\x{6B06}\x{6B07}' - . '\x{6B08}\x{6B09}\x{6B0A}\x{6B0B}\x{6B0C}\x{6B0D}\x{6B0F}\x{6B10}\x{6B11}' - . '\x{6B12}\x{6B13}\x{6B14}\x{6B15}\x{6B16}\x{6B17}\x{6B18}\x{6B19}\x{6B1A}' - . '\x{6B1C}\x{6B1D}\x{6B1E}\x{6B1F}\x{6B20}\x{6B21}\x{6B22}\x{6B23}\x{6B24}' - . '\x{6B25}\x{6B26}\x{6B27}\x{6B28}\x{6B29}\x{6B2A}\x{6B2B}\x{6B2C}\x{6B2D}' - . '\x{6B2F}\x{6B30}\x{6B31}\x{6B32}\x{6B33}\x{6B34}\x{6B36}\x{6B37}\x{6B38}' - . '\x{6B39}\x{6B3A}\x{6B3B}\x{6B3C}\x{6B3D}\x{6B3E}\x{6B3F}\x{6B41}\x{6B42}' - . '\x{6B43}\x{6B44}\x{6B45}\x{6B46}\x{6B47}\x{6B48}\x{6B49}\x{6B4A}\x{6B4B}' - . '\x{6B4C}\x{6B4D}\x{6B4E}\x{6B4F}\x{6B50}\x{6B51}\x{6B52}\x{6B53}\x{6B54}' - . '\x{6B55}\x{6B56}\x{6B59}\x{6B5A}\x{6B5B}\x{6B5C}\x{6B5E}\x{6B5F}\x{6B60}' - . '\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B65}\x{6B66}\x{6B67}\x{6B69}\x{6B6A}' - . '\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}\x{6B73}\x{6B74}\x{6B76}\x{6B77}' - . '\x{6B78}\x{6B79}\x{6B7A}\x{6B7B}\x{6B7C}\x{6B7E}\x{6B7F}\x{6B80}\x{6B81}' - . '\x{6B82}\x{6B83}\x{6B84}\x{6B85}\x{6B86}\x{6B87}\x{6B88}\x{6B89}\x{6B8A}' - . '\x{6B8B}\x{6B8C}\x{6B8D}\x{6B8E}\x{6B8F}\x{6B90}\x{6B91}\x{6B92}\x{6B93}' - . '\x{6B94}\x{6B95}\x{6B96}\x{6B97}\x{6B98}\x{6B99}\x{6B9A}\x{6B9B}\x{6B9C}' - . '\x{6B9D}\x{6B9E}\x{6B9F}\x{6BA0}\x{6BA1}\x{6BA2}\x{6BA3}\x{6BA4}\x{6BA5}' - . '\x{6BA6}\x{6BA7}\x{6BA8}\x{6BA9}\x{6BAA}\x{6BAB}\x{6BAC}\x{6BAD}\x{6BAE}' - . '\x{6BAF}\x{6BB0}\x{6BB2}\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB6}\x{6BB7}\x{6BB9}' - . '\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBD}\x{6BBE}\x{6BBF}\x{6BC0}\x{6BC1}\x{6BC2}' - . '\x{6BC3}\x{6BC4}\x{6BC5}\x{6BC6}\x{6BC7}\x{6BC8}\x{6BC9}\x{6BCA}\x{6BCB}' - . '\x{6BCC}\x{6BCD}\x{6BCE}\x{6BCF}\x{6BD0}\x{6BD1}\x{6BD2}\x{6BD3}\x{6BD4}' - . '\x{6BD5}\x{6BD6}\x{6BD7}\x{6BD8}\x{6BD9}\x{6BDA}\x{6BDB}\x{6BDC}\x{6BDD}' - . '\x{6BDE}\x{6BDF}\x{6BE0}\x{6BE1}\x{6BE2}\x{6BE3}\x{6BE4}\x{6BE5}\x{6BE6}' - . '\x{6BE7}\x{6BE8}\x{6BEA}\x{6BEB}\x{6BEC}\x{6BED}\x{6BEE}\x{6BEF}\x{6BF0}' - . '\x{6BF2}\x{6BF3}\x{6BF5}\x{6BF6}\x{6BF7}\x{6BF8}\x{6BF9}\x{6BFB}\x{6BFC}' - . '\x{6BFD}\x{6BFE}\x{6BFF}\x{6C00}\x{6C01}\x{6C02}\x{6C03}\x{6C04}\x{6C05}' - . '\x{6C06}\x{6C07}\x{6C08}\x{6C09}\x{6C0B}\x{6C0C}\x{6C0D}\x{6C0E}\x{6C0F}' - . '\x{6C10}\x{6C11}\x{6C12}\x{6C13}\x{6C14}\x{6C15}\x{6C16}\x{6C18}\x{6C19}' - . '\x{6C1A}\x{6C1B}\x{6C1D}\x{6C1E}\x{6C1F}\x{6C20}\x{6C21}\x{6C22}\x{6C23}' - . '\x{6C24}\x{6C25}\x{6C26}\x{6C27}\x{6C28}\x{6C29}\x{6C2A}\x{6C2B}\x{6C2C}' - . '\x{6C2E}\x{6C2F}\x{6C30}\x{6C31}\x{6C32}\x{6C33}\x{6C34}\x{6C35}\x{6C36}' - . '\x{6C37}\x{6C38}\x{6C3A}\x{6C3B}\x{6C3D}\x{6C3E}\x{6C3F}\x{6C40}\x{6C41}' - . '\x{6C42}\x{6C43}\x{6C44}\x{6C46}\x{6C47}\x{6C48}\x{6C49}\x{6C4A}\x{6C4B}' - . '\x{6C4C}\x{6C4D}\x{6C4E}\x{6C4F}\x{6C50}\x{6C51}\x{6C52}\x{6C53}\x{6C54}' - . '\x{6C55}\x{6C56}\x{6C57}\x{6C58}\x{6C59}\x{6C5A}\x{6C5B}\x{6C5C}\x{6C5D}' - . '\x{6C5E}\x{6C5F}\x{6C60}\x{6C61}\x{6C62}\x{6C63}\x{6C64}\x{6C65}\x{6C66}' - . '\x{6C67}\x{6C68}\x{6C69}\x{6C6A}\x{6C6B}\x{6C6D}\x{6C6F}\x{6C70}\x{6C71}' - . '\x{6C72}\x{6C73}\x{6C74}\x{6C75}\x{6C76}\x{6C77}\x{6C78}\x{6C79}\x{6C7A}' - . '\x{6C7B}\x{6C7C}\x{6C7D}\x{6C7E}\x{6C7F}\x{6C80}\x{6C81}\x{6C82}\x{6C83}' - . '\x{6C84}\x{6C85}\x{6C86}\x{6C87}\x{6C88}\x{6C89}\x{6C8A}\x{6C8B}\x{6C8C}' - . '\x{6C8D}\x{6C8E}\x{6C8F}\x{6C90}\x{6C91}\x{6C92}\x{6C93}\x{6C94}\x{6C95}' - . '\x{6C96}\x{6C97}\x{6C98}\x{6C99}\x{6C9A}\x{6C9B}\x{6C9C}\x{6C9D}\x{6C9E}' - . '\x{6C9F}\x{6CA1}\x{6CA2}\x{6CA3}\x{6CA4}\x{6CA5}\x{6CA6}\x{6CA7}\x{6CA8}' - . '\x{6CA9}\x{6CAA}\x{6CAB}\x{6CAC}\x{6CAD}\x{6CAE}\x{6CAF}\x{6CB0}\x{6CB1}' - . '\x{6CB2}\x{6CB3}\x{6CB4}\x{6CB5}\x{6CB6}\x{6CB7}\x{6CB8}\x{6CB9}\x{6CBA}' - . '\x{6CBB}\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC0}\x{6CC1}\x{6CC2}\x{6CC3}' - . '\x{6CC4}\x{6CC5}\x{6CC6}\x{6CC7}\x{6CC8}\x{6CC9}\x{6CCA}\x{6CCB}\x{6CCC}' - . '\x{6CCD}\x{6CCE}\x{6CCF}\x{6CD0}\x{6CD1}\x{6CD2}\x{6CD3}\x{6CD4}\x{6CD5}' - . '\x{6CD6}\x{6CD7}\x{6CD9}\x{6CDA}\x{6CDB}\x{6CDC}\x{6CDD}\x{6CDE}\x{6CDF}' - . '\x{6CE0}\x{6CE1}\x{6CE2}\x{6CE3}\x{6CE4}\x{6CE5}\x{6CE6}\x{6CE7}\x{6CE8}' - . '\x{6CE9}\x{6CEA}\x{6CEB}\x{6CEC}\x{6CED}\x{6CEE}\x{6CEF}\x{6CF0}\x{6CF1}' - . '\x{6CF2}\x{6CF3}\x{6CF5}\x{6CF6}\x{6CF7}\x{6CF8}\x{6CF9}\x{6CFA}\x{6CFB}' - . '\x{6CFC}\x{6CFD}\x{6CFE}\x{6CFF}\x{6D00}\x{6D01}\x{6D03}\x{6D04}\x{6D05}' - . '\x{6D06}\x{6D07}\x{6D08}\x{6D09}\x{6D0A}\x{6D0B}\x{6D0C}\x{6D0D}\x{6D0E}' - . '\x{6D0F}\x{6D10}\x{6D11}\x{6D12}\x{6D13}\x{6D14}\x{6D15}\x{6D16}\x{6D17}' - . '\x{6D18}\x{6D19}\x{6D1A}\x{6D1B}\x{6D1D}\x{6D1E}\x{6D1F}\x{6D20}\x{6D21}' - . '\x{6D22}\x{6D23}\x{6D25}\x{6D26}\x{6D27}\x{6D28}\x{6D29}\x{6D2A}\x{6D2B}' - . '\x{6D2C}\x{6D2D}\x{6D2E}\x{6D2F}\x{6D30}\x{6D31}\x{6D32}\x{6D33}\x{6D34}' - . '\x{6D35}\x{6D36}\x{6D37}\x{6D38}\x{6D39}\x{6D3A}\x{6D3B}\x{6D3C}\x{6D3D}' - . '\x{6D3E}\x{6D3F}\x{6D40}\x{6D41}\x{6D42}\x{6D43}\x{6D44}\x{6D45}\x{6D46}' - . '\x{6D47}\x{6D48}\x{6D49}\x{6D4A}\x{6D4B}\x{6D4C}\x{6D4D}\x{6D4E}\x{6D4F}' - . '\x{6D50}\x{6D51}\x{6D52}\x{6D53}\x{6D54}\x{6D55}\x{6D56}\x{6D57}\x{6D58}' - . '\x{6D59}\x{6D5A}\x{6D5B}\x{6D5C}\x{6D5D}\x{6D5E}\x{6D5F}\x{6D60}\x{6D61}' - . '\x{6D62}\x{6D63}\x{6D64}\x{6D65}\x{6D66}\x{6D67}\x{6D68}\x{6D69}\x{6D6A}' - . '\x{6D6B}\x{6D6C}\x{6D6D}\x{6D6E}\x{6D6F}\x{6D70}\x{6D72}\x{6D73}\x{6D74}' - . '\x{6D75}\x{6D76}\x{6D77}\x{6D78}\x{6D79}\x{6D7A}\x{6D7B}\x{6D7C}\x{6D7D}' - . '\x{6D7E}\x{6D7F}\x{6D80}\x{6D82}\x{6D83}\x{6D84}\x{6D85}\x{6D86}\x{6D87}' - . '\x{6D88}\x{6D89}\x{6D8A}\x{6D8B}\x{6D8C}\x{6D8D}\x{6D8E}\x{6D8F}\x{6D90}' - . '\x{6D91}\x{6D92}\x{6D93}\x{6D94}\x{6D95}\x{6D97}\x{6D98}\x{6D99}\x{6D9A}' - . '\x{6D9B}\x{6D9D}\x{6D9E}\x{6D9F}\x{6DA0}\x{6DA1}\x{6DA2}\x{6DA3}\x{6DA4}' - . '\x{6DA5}\x{6DA6}\x{6DA7}\x{6DA8}\x{6DA9}\x{6DAA}\x{6DAB}\x{6DAC}\x{6DAD}' - . '\x{6DAE}\x{6DAF}\x{6DB2}\x{6DB3}\x{6DB4}\x{6DB5}\x{6DB7}\x{6DB8}\x{6DB9}' - . '\x{6DBA}\x{6DBB}\x{6DBC}\x{6DBD}\x{6DBE}\x{6DBF}\x{6DC0}\x{6DC1}\x{6DC2}' - . '\x{6DC3}\x{6DC4}\x{6DC5}\x{6DC6}\x{6DC7}\x{6DC8}\x{6DC9}\x{6DCA}\x{6DCB}' - . '\x{6DCC}\x{6DCD}\x{6DCE}\x{6DCF}\x{6DD0}\x{6DD1}\x{6DD2}\x{6DD3}\x{6DD4}' - . '\x{6DD5}\x{6DD6}\x{6DD7}\x{6DD8}\x{6DD9}\x{6DDA}\x{6DDB}\x{6DDC}\x{6DDD}' - . '\x{6DDE}\x{6DDF}\x{6DE0}\x{6DE1}\x{6DE2}\x{6DE3}\x{6DE4}\x{6DE5}\x{6DE6}' - . '\x{6DE7}\x{6DE8}\x{6DE9}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DED}\x{6DEE}\x{6DEF}' - . '\x{6DF0}\x{6DF1}\x{6DF2}\x{6DF3}\x{6DF4}\x{6DF5}\x{6DF6}\x{6DF7}\x{6DF8}' - . '\x{6DF9}\x{6DFA}\x{6DFB}\x{6DFC}\x{6DFD}\x{6E00}\x{6E03}\x{6E04}\x{6E05}' - . '\x{6E07}\x{6E08}\x{6E09}\x{6E0A}\x{6E0B}\x{6E0C}\x{6E0D}\x{6E0E}\x{6E0F}' - . '\x{6E10}\x{6E11}\x{6E14}\x{6E15}\x{6E16}\x{6E17}\x{6E19}\x{6E1A}\x{6E1B}' - . '\x{6E1C}\x{6E1D}\x{6E1E}\x{6E1F}\x{6E20}\x{6E21}\x{6E22}\x{6E23}\x{6E24}' - . '\x{6E25}\x{6E26}\x{6E27}\x{6E28}\x{6E29}\x{6E2B}\x{6E2C}\x{6E2D}\x{6E2E}' - . '\x{6E2F}\x{6E30}\x{6E31}\x{6E32}\x{6E33}\x{6E34}\x{6E35}\x{6E36}\x{6E37}' - . '\x{6E38}\x{6E39}\x{6E3A}\x{6E3B}\x{6E3C}\x{6E3D}\x{6E3E}\x{6E3F}\x{6E40}' - . '\x{6E41}\x{6E42}\x{6E43}\x{6E44}\x{6E45}\x{6E46}\x{6E47}\x{6E48}\x{6E49}' - . '\x{6E4A}\x{6E4B}\x{6E4D}\x{6E4E}\x{6E4F}\x{6E50}\x{6E51}\x{6E52}\x{6E53}' - . '\x{6E54}\x{6E55}\x{6E56}\x{6E57}\x{6E58}\x{6E59}\x{6E5A}\x{6E5B}\x{6E5C}' - . '\x{6E5D}\x{6E5E}\x{6E5F}\x{6E60}\x{6E61}\x{6E62}\x{6E63}\x{6E64}\x{6E65}' - . '\x{6E66}\x{6E67}\x{6E68}\x{6E69}\x{6E6A}\x{6E6B}\x{6E6D}\x{6E6E}\x{6E6F}' - . '\x{6E70}\x{6E71}\x{6E72}\x{6E73}\x{6E74}\x{6E75}\x{6E77}\x{6E78}\x{6E79}' - . '\x{6E7E}\x{6E7F}\x{6E80}\x{6E81}\x{6E82}\x{6E83}\x{6E84}\x{6E85}\x{6E86}' - . '\x{6E87}\x{6E88}\x{6E89}\x{6E8A}\x{6E8D}\x{6E8E}\x{6E8F}\x{6E90}\x{6E91}' - . '\x{6E92}\x{6E93}\x{6E94}\x{6E96}\x{6E97}\x{6E98}\x{6E99}\x{6E9A}\x{6E9B}' - . '\x{6E9C}\x{6E9D}\x{6E9E}\x{6E9F}\x{6EA0}\x{6EA1}\x{6EA2}\x{6EA3}\x{6EA4}' - . '\x{6EA5}\x{6EA6}\x{6EA7}\x{6EA8}\x{6EA9}\x{6EAA}\x{6EAB}\x{6EAC}\x{6EAD}' - . '\x{6EAE}\x{6EAF}\x{6EB0}\x{6EB1}\x{6EB2}\x{6EB3}\x{6EB4}\x{6EB5}\x{6EB6}' - . '\x{6EB7}\x{6EB8}\x{6EB9}\x{6EBA}\x{6EBB}\x{6EBC}\x{6EBD}\x{6EBE}\x{6EBF}' - . '\x{6EC0}\x{6EC1}\x{6EC2}\x{6EC3}\x{6EC4}\x{6EC5}\x{6EC6}\x{6EC7}\x{6EC8}' - . '\x{6EC9}\x{6ECA}\x{6ECB}\x{6ECC}\x{6ECD}\x{6ECE}\x{6ECF}\x{6ED0}\x{6ED1}' - . '\x{6ED2}\x{6ED3}\x{6ED4}\x{6ED5}\x{6ED6}\x{6ED7}\x{6ED8}\x{6ED9}\x{6EDA}' - . '\x{6EDC}\x{6EDE}\x{6EDF}\x{6EE0}\x{6EE1}\x{6EE2}\x{6EE4}\x{6EE5}\x{6EE6}' - . '\x{6EE7}\x{6EE8}\x{6EE9}\x{6EEA}\x{6EEB}\x{6EEC}\x{6EED}\x{6EEE}\x{6EEF}' - . '\x{6EF0}\x{6EF1}\x{6EF2}\x{6EF3}\x{6EF4}\x{6EF5}\x{6EF6}\x{6EF7}\x{6EF8}' - . '\x{6EF9}\x{6EFA}\x{6EFB}\x{6EFC}\x{6EFD}\x{6EFE}\x{6EFF}\x{6F00}\x{6F01}' - . '\x{6F02}\x{6F03}\x{6F05}\x{6F06}\x{6F07}\x{6F08}\x{6F09}\x{6F0A}\x{6F0C}' - . '\x{6F0D}\x{6F0E}\x{6F0F}\x{6F10}\x{6F11}\x{6F12}\x{6F13}\x{6F14}\x{6F15}' - . '\x{6F16}\x{6F17}\x{6F18}\x{6F19}\x{6F1A}\x{6F1B}\x{6F1C}\x{6F1D}\x{6F1E}' - . '\x{6F1F}\x{6F20}\x{6F21}\x{6F22}\x{6F23}\x{6F24}\x{6F25}\x{6F26}\x{6F27}' - . '\x{6F28}\x{6F29}\x{6F2A}\x{6F2B}\x{6F2C}\x{6F2D}\x{6F2E}\x{6F2F}\x{6F30}' - . '\x{6F31}\x{6F32}\x{6F33}\x{6F34}\x{6F35}\x{6F36}\x{6F37}\x{6F38}\x{6F39}' - . '\x{6F3A}\x{6F3B}\x{6F3C}\x{6F3D}\x{6F3E}\x{6F3F}\x{6F40}\x{6F41}\x{6F43}' - . '\x{6F44}\x{6F45}\x{6F46}\x{6F47}\x{6F49}\x{6F4B}\x{6F4C}\x{6F4D}\x{6F4E}' - . '\x{6F4F}\x{6F50}\x{6F51}\x{6F52}\x{6F53}\x{6F54}\x{6F55}\x{6F56}\x{6F57}' - . '\x{6F58}\x{6F59}\x{6F5A}\x{6F5B}\x{6F5C}\x{6F5D}\x{6F5E}\x{6F5F}\x{6F60}' - . '\x{6F61}\x{6F62}\x{6F63}\x{6F64}\x{6F65}\x{6F66}\x{6F67}\x{6F68}\x{6F69}' - . '\x{6F6A}\x{6F6B}\x{6F6C}\x{6F6D}\x{6F6E}\x{6F6F}\x{6F70}\x{6F71}\x{6F72}' - . '\x{6F73}\x{6F74}\x{6F75}\x{6F76}\x{6F77}\x{6F78}\x{6F7A}\x{6F7B}\x{6F7C}' - . '\x{6F7D}\x{6F7E}\x{6F7F}\x{6F80}\x{6F81}\x{6F82}\x{6F83}\x{6F84}\x{6F85}' - . '\x{6F86}\x{6F87}\x{6F88}\x{6F89}\x{6F8A}\x{6F8B}\x{6F8C}\x{6F8D}\x{6F8E}' - . '\x{6F8F}\x{6F90}\x{6F91}\x{6F92}\x{6F93}\x{6F94}\x{6F95}\x{6F96}\x{6F97}' - . '\x{6F99}\x{6F9B}\x{6F9C}\x{6F9D}\x{6F9E}\x{6FA0}\x{6FA1}\x{6FA2}\x{6FA3}' - . '\x{6FA4}\x{6FA5}\x{6FA6}\x{6FA7}\x{6FA8}\x{6FA9}\x{6FAA}\x{6FAB}\x{6FAC}' - . '\x{6FAD}\x{6FAE}\x{6FAF}\x{6FB0}\x{6FB1}\x{6FB2}\x{6FB3}\x{6FB4}\x{6FB5}' - . '\x{6FB6}\x{6FB8}\x{6FB9}\x{6FBA}\x{6FBB}\x{6FBC}\x{6FBD}\x{6FBE}\x{6FBF}' - . '\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC4}\x{6FC6}\x{6FC7}\x{6FC8}\x{6FC9}' - . '\x{6FCA}\x{6FCB}\x{6FCC}\x{6FCD}\x{6FCE}\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}' - . '\x{6FD5}\x{6FD6}\x{6FD7}\x{6FD8}\x{6FD9}\x{6FDA}\x{6FDB}\x{6FDC}\x{6FDD}' - . '\x{6FDE}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE2}\x{6FE3}\x{6FE4}\x{6FE5}\x{6FE6}' - . '\x{6FE7}\x{6FE8}\x{6FE9}\x{6FEA}\x{6FEB}\x{6FEC}\x{6FED}\x{6FEE}\x{6FEF}' - . '\x{6FF0}\x{6FF1}\x{6FF2}\x{6FF3}\x{6FF4}\x{6FF6}\x{6FF7}\x{6FF8}\x{6FF9}' - . '\x{6FFA}\x{6FFB}\x{6FFC}\x{6FFE}\x{6FFF}\x{7000}\x{7001}\x{7002}\x{7003}' - . '\x{7004}\x{7005}\x{7006}\x{7007}\x{7008}\x{7009}\x{700A}\x{700B}\x{700C}' - . '\x{700D}\x{700E}\x{700F}\x{7011}\x{7012}\x{7014}\x{7015}\x{7016}\x{7017}' - . '\x{7018}\x{7019}\x{701A}\x{701B}\x{701C}\x{701D}\x{701F}\x{7020}\x{7021}' - . '\x{7022}\x{7023}\x{7024}\x{7025}\x{7026}\x{7027}\x{7028}\x{7029}\x{702A}' - . '\x{702B}\x{702C}\x{702D}\x{702E}\x{702F}\x{7030}\x{7031}\x{7032}\x{7033}' - . '\x{7034}\x{7035}\x{7036}\x{7037}\x{7038}\x{7039}\x{703A}\x{703B}\x{703C}' - . '\x{703D}\x{703E}\x{703F}\x{7040}\x{7041}\x{7042}\x{7043}\x{7044}\x{7045}' - . '\x{7046}\x{7048}\x{7049}\x{704A}\x{704C}\x{704D}\x{704F}\x{7050}\x{7051}' - . '\x{7052}\x{7053}\x{7054}\x{7055}\x{7056}\x{7057}\x{7058}\x{7059}\x{705A}' - . '\x{705B}\x{705C}\x{705D}\x{705E}\x{705F}\x{7060}\x{7061}\x{7062}\x{7063}' - . '\x{7064}\x{7065}\x{7066}\x{7067}\x{7068}\x{7069}\x{706A}\x{706B}\x{706C}' - . '\x{706D}\x{706E}\x{706F}\x{7070}\x{7071}\x{7074}\x{7075}\x{7076}\x{7077}' - . '\x{7078}\x{7079}\x{707A}\x{707C}\x{707D}\x{707E}\x{707F}\x{7080}\x{7082}' - . '\x{7083}\x{7084}\x{7085}\x{7086}\x{7087}\x{7088}\x{7089}\x{708A}\x{708B}' - . '\x{708C}\x{708E}\x{708F}\x{7090}\x{7091}\x{7092}\x{7093}\x{7094}\x{7095}' - . '\x{7096}\x{7098}\x{7099}\x{709A}\x{709C}\x{709D}\x{709E}\x{709F}\x{70A0}' - . '\x{70A1}\x{70A2}\x{70A3}\x{70A4}\x{70A5}\x{70A6}\x{70A7}\x{70A8}\x{70A9}' - . '\x{70AB}\x{70AC}\x{70AD}\x{70AE}\x{70AF}\x{70B0}\x{70B1}\x{70B3}\x{70B4}' - . '\x{70B5}\x{70B7}\x{70B8}\x{70B9}\x{70BA}\x{70BB}\x{70BC}\x{70BD}\x{70BE}' - . '\x{70BF}\x{70C0}\x{70C1}\x{70C2}\x{70C3}\x{70C4}\x{70C5}\x{70C6}\x{70C7}' - . '\x{70C8}\x{70C9}\x{70CA}\x{70CB}\x{70CC}\x{70CD}\x{70CE}\x{70CF}\x{70D0}' - . '\x{70D1}\x{70D2}\x{70D3}\x{70D4}\x{70D6}\x{70D7}\x{70D8}\x{70D9}\x{70DA}' - . '\x{70DB}\x{70DC}\x{70DD}\x{70DE}\x{70DF}\x{70E0}\x{70E1}\x{70E2}\x{70E3}' - . '\x{70E4}\x{70E5}\x{70E6}\x{70E7}\x{70E8}\x{70E9}\x{70EA}\x{70EB}\x{70EC}' - . '\x{70ED}\x{70EE}\x{70EF}\x{70F0}\x{70F1}\x{70F2}\x{70F3}\x{70F4}\x{70F5}' - . '\x{70F6}\x{70F7}\x{70F8}\x{70F9}\x{70FA}\x{70FB}\x{70FC}\x{70FD}\x{70FF}' - . '\x{7100}\x{7101}\x{7102}\x{7103}\x{7104}\x{7105}\x{7106}\x{7107}\x{7109}' - . '\x{710A}\x{710B}\x{710C}\x{710D}\x{710E}\x{710F}\x{7110}\x{7111}\x{7112}' - . '\x{7113}\x{7115}\x{7116}\x{7117}\x{7118}\x{7119}\x{711A}\x{711B}\x{711C}' - . '\x{711D}\x{711E}\x{711F}\x{7120}\x{7121}\x{7122}\x{7123}\x{7125}\x{7126}' - . '\x{7127}\x{7128}\x{7129}\x{712A}\x{712B}\x{712C}\x{712D}\x{712E}\x{712F}' - . '\x{7130}\x{7131}\x{7132}\x{7135}\x{7136}\x{7137}\x{7138}\x{7139}\x{713A}' - . '\x{713B}\x{713D}\x{713E}\x{713F}\x{7140}\x{7141}\x{7142}\x{7143}\x{7144}' - . '\x{7145}\x{7146}\x{7147}\x{7148}\x{7149}\x{714A}\x{714B}\x{714C}\x{714D}' - . '\x{714E}\x{714F}\x{7150}\x{7151}\x{7152}\x{7153}\x{7154}\x{7156}\x{7158}' - . '\x{7159}\x{715A}\x{715B}\x{715C}\x{715D}\x{715E}\x{715F}\x{7160}\x{7161}' - . '\x{7162}\x{7163}\x{7164}\x{7165}\x{7166}\x{7167}\x{7168}\x{7169}\x{716A}' - . '\x{716C}\x{716E}\x{716F}\x{7170}\x{7171}\x{7172}\x{7173}\x{7174}\x{7175}' - . '\x{7176}\x{7177}\x{7178}\x{7179}\x{717A}\x{717B}\x{717C}\x{717D}\x{717E}' - . '\x{717F}\x{7180}\x{7181}\x{7182}\x{7183}\x{7184}\x{7185}\x{7186}\x{7187}' - . '\x{7188}\x{7189}\x{718A}\x{718B}\x{718C}\x{718E}\x{718F}\x{7190}\x{7191}' - . '\x{7192}\x{7193}\x{7194}\x{7195}\x{7197}\x{7198}\x{7199}\x{719A}\x{719B}' - . '\x{719C}\x{719D}\x{719E}\x{719F}\x{71A0}\x{71A1}\x{71A2}\x{71A3}\x{71A4}' - . '\x{71A5}\x{71A7}\x{71A8}\x{71A9}\x{71AA}\x{71AC}\x{71AD}\x{71AE}\x{71AF}' - . '\x{71B0}\x{71B1}\x{71B2}\x{71B3}\x{71B4}\x{71B5}\x{71B7}\x{71B8}\x{71B9}' - . '\x{71BA}\x{71BB}\x{71BC}\x{71BD}\x{71BE}\x{71BF}\x{71C0}\x{71C1}\x{71C2}' - . '\x{71C3}\x{71C4}\x{71C5}\x{71C6}\x{71C7}\x{71C8}\x{71C9}\x{71CA}\x{71CB}' - . '\x{71CD}\x{71CE}\x{71CF}\x{71D0}\x{71D1}\x{71D2}\x{71D4}\x{71D5}\x{71D6}' - . '\x{71D7}\x{71D8}\x{71D9}\x{71DA}\x{71DB}\x{71DC}\x{71DD}\x{71DE}\x{71DF}' - . '\x{71E0}\x{71E1}\x{71E2}\x{71E3}\x{71E4}\x{71E5}\x{71E6}\x{71E7}\x{71E8}' - . '\x{71E9}\x{71EA}\x{71EB}\x{71EC}\x{71ED}\x{71EE}\x{71EF}\x{71F0}\x{71F1}' - . '\x{71F2}\x{71F4}\x{71F5}\x{71F6}\x{71F7}\x{71F8}\x{71F9}\x{71FB}\x{71FC}' - . '\x{71FD}\x{71FE}\x{71FF}\x{7201}\x{7202}\x{7203}\x{7204}\x{7205}\x{7206}' - . '\x{7207}\x{7208}\x{7209}\x{720A}\x{720C}\x{720D}\x{720E}\x{720F}\x{7210}' - . '\x{7212}\x{7213}\x{7214}\x{7216}\x{7218}\x{7219}\x{721A}\x{721B}\x{721C}' - . '\x{721D}\x{721E}\x{721F}\x{7221}\x{7222}\x{7223}\x{7226}\x{7227}\x{7228}' - . '\x{7229}\x{722A}\x{722B}\x{722C}\x{722D}\x{722E}\x{7230}\x{7231}\x{7232}' - . '\x{7233}\x{7235}\x{7236}\x{7237}\x{7238}\x{7239}\x{723A}\x{723B}\x{723C}' - . '\x{723D}\x{723E}\x{723F}\x{7240}\x{7241}\x{7242}\x{7243}\x{7244}\x{7246}' - . '\x{7247}\x{7248}\x{7249}\x{724A}\x{724B}\x{724C}\x{724D}\x{724F}\x{7251}' - . '\x{7252}\x{7253}\x{7254}\x{7256}\x{7257}\x{7258}\x{7259}\x{725A}\x{725B}' - . '\x{725C}\x{725D}\x{725E}\x{725F}\x{7260}\x{7261}\x{7262}\x{7263}\x{7264}' - . '\x{7265}\x{7266}\x{7267}\x{7268}\x{7269}\x{726A}\x{726B}\x{726C}\x{726D}' - . '\x{726E}\x{726F}\x{7270}\x{7271}\x{7272}\x{7273}\x{7274}\x{7275}\x{7276}' - . '\x{7277}\x{7278}\x{7279}\x{727A}\x{727B}\x{727C}\x{727D}\x{727E}\x{727F}' - . '\x{7280}\x{7281}\x{7282}\x{7283}\x{7284}\x{7285}\x{7286}\x{7287}\x{7288}' - . '\x{7289}\x{728A}\x{728B}\x{728C}\x{728D}\x{728E}\x{728F}\x{7290}\x{7291}' - . '\x{7292}\x{7293}\x{7294}\x{7295}\x{7296}\x{7297}\x{7298}\x{7299}\x{729A}' - . '\x{729B}\x{729C}\x{729D}\x{729E}\x{729F}\x{72A1}\x{72A2}\x{72A3}\x{72A4}' - . '\x{72A5}\x{72A6}\x{72A7}\x{72A8}\x{72A9}\x{72AA}\x{72AC}\x{72AD}\x{72AE}' - . '\x{72AF}\x{72B0}\x{72B1}\x{72B2}\x{72B3}\x{72B4}\x{72B5}\x{72B6}\x{72B7}' - . '\x{72B8}\x{72B9}\x{72BA}\x{72BB}\x{72BC}\x{72BD}\x{72BF}\x{72C0}\x{72C1}' - . '\x{72C2}\x{72C3}\x{72C4}\x{72C5}\x{72C6}\x{72C7}\x{72C8}\x{72C9}\x{72CA}' - . '\x{72CB}\x{72CC}\x{72CD}\x{72CE}\x{72CF}\x{72D0}\x{72D1}\x{72D2}\x{72D3}' - . '\x{72D4}\x{72D5}\x{72D6}\x{72D7}\x{72D8}\x{72D9}\x{72DA}\x{72DB}\x{72DC}' - . '\x{72DD}\x{72DE}\x{72DF}\x{72E0}\x{72E1}\x{72E2}\x{72E3}\x{72E4}\x{72E5}' - . '\x{72E6}\x{72E7}\x{72E8}\x{72E9}\x{72EA}\x{72EB}\x{72EC}\x{72ED}\x{72EE}' - . '\x{72EF}\x{72F0}\x{72F1}\x{72F2}\x{72F3}\x{72F4}\x{72F5}\x{72F6}\x{72F7}' - . '\x{72F8}\x{72F9}\x{72FA}\x{72FB}\x{72FC}\x{72FD}\x{72FE}\x{72FF}\x{7300}' - . '\x{7301}\x{7303}\x{7304}\x{7305}\x{7306}\x{7307}\x{7308}\x{7309}\x{730A}' - . '\x{730B}\x{730C}\x{730D}\x{730E}\x{730F}\x{7311}\x{7312}\x{7313}\x{7314}' - . '\x{7315}\x{7316}\x{7317}\x{7318}\x{7319}\x{731A}\x{731B}\x{731C}\x{731D}' - . '\x{731E}\x{7320}\x{7321}\x{7322}\x{7323}\x{7324}\x{7325}\x{7326}\x{7327}' - . '\x{7329}\x{732A}\x{732B}\x{732C}\x{732D}\x{732E}\x{7330}\x{7331}\x{7332}' - . '\x{7333}\x{7334}\x{7335}\x{7336}\x{7337}\x{7338}\x{7339}\x{733A}\x{733B}' - . '\x{733C}\x{733D}\x{733E}\x{733F}\x{7340}\x{7341}\x{7342}\x{7343}\x{7344}' - . '\x{7345}\x{7346}\x{7347}\x{7348}\x{7349}\x{734A}\x{734B}\x{734C}\x{734D}' - . '\x{734E}\x{7350}\x{7351}\x{7352}\x{7354}\x{7355}\x{7356}\x{7357}\x{7358}' - . '\x{7359}\x{735A}\x{735B}\x{735C}\x{735D}\x{735E}\x{735F}\x{7360}\x{7361}' - . '\x{7362}\x{7364}\x{7365}\x{7366}\x{7367}\x{7368}\x{7369}\x{736A}\x{736B}' - . '\x{736C}\x{736D}\x{736E}\x{736F}\x{7370}\x{7371}\x{7372}\x{7373}\x{7374}' - . '\x{7375}\x{7376}\x{7377}\x{7378}\x{7379}\x{737A}\x{737B}\x{737C}\x{737D}' - . '\x{737E}\x{737F}\x{7380}\x{7381}\x{7382}\x{7383}\x{7384}\x{7385}\x{7386}' - . '\x{7387}\x{7388}\x{7389}\x{738A}\x{738B}\x{738C}\x{738D}\x{738E}\x{738F}' - . '\x{7390}\x{7391}\x{7392}\x{7393}\x{7394}\x{7395}\x{7396}\x{7397}\x{7398}' - . '\x{7399}\x{739A}\x{739B}\x{739D}\x{739E}\x{739F}\x{73A0}\x{73A1}\x{73A2}' - . '\x{73A3}\x{73A4}\x{73A5}\x{73A6}\x{73A7}\x{73A8}\x{73A9}\x{73AA}\x{73AB}' - . '\x{73AC}\x{73AD}\x{73AE}\x{73AF}\x{73B0}\x{73B1}\x{73B2}\x{73B3}\x{73B4}' - . '\x{73B5}\x{73B6}\x{73B7}\x{73B8}\x{73B9}\x{73BA}\x{73BB}\x{73BC}\x{73BD}' - . '\x{73BE}\x{73BF}\x{73C0}\x{73C2}\x{73C3}\x{73C4}\x{73C5}\x{73C6}\x{73C7}' - . '\x{73C8}\x{73C9}\x{73CA}\x{73CB}\x{73CC}\x{73CD}\x{73CE}\x{73CF}\x{73D0}' - . '\x{73D1}\x{73D2}\x{73D3}\x{73D4}\x{73D5}\x{73D6}\x{73D7}\x{73D8}\x{73D9}' - . '\x{73DA}\x{73DB}\x{73DC}\x{73DD}\x{73DE}\x{73DF}\x{73E0}\x{73E2}\x{73E3}' - . '\x{73E5}\x{73E6}\x{73E7}\x{73E8}\x{73E9}\x{73EA}\x{73EB}\x{73EC}\x{73ED}' - . '\x{73EE}\x{73EF}\x{73F0}\x{73F1}\x{73F2}\x{73F4}\x{73F5}\x{73F6}\x{73F7}' - . '\x{73F8}\x{73F9}\x{73FA}\x{73FC}\x{73FD}\x{73FE}\x{73FF}\x{7400}\x{7401}' - . '\x{7402}\x{7403}\x{7404}\x{7405}\x{7406}\x{7407}\x{7408}\x{7409}\x{740A}' - . '\x{740B}\x{740C}\x{740D}\x{740E}\x{740F}\x{7410}\x{7411}\x{7412}\x{7413}' - . '\x{7414}\x{7415}\x{7416}\x{7417}\x{7419}\x{741A}\x{741B}\x{741C}\x{741D}' - . '\x{741E}\x{741F}\x{7420}\x{7421}\x{7422}\x{7423}\x{7424}\x{7425}\x{7426}' - . '\x{7427}\x{7428}\x{7429}\x{742A}\x{742B}\x{742C}\x{742D}\x{742E}\x{742F}' - . '\x{7430}\x{7431}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{7437}\x{7438}' - . '\x{743A}\x{743B}\x{743C}\x{743D}\x{743F}\x{7440}\x{7441}\x{7442}\x{7443}' - . '\x{7444}\x{7445}\x{7446}\x{7448}\x{744A}\x{744B}\x{744C}\x{744D}\x{744E}' - . '\x{744F}\x{7450}\x{7451}\x{7452}\x{7453}\x{7454}\x{7455}\x{7456}\x{7457}' - . '\x{7459}\x{745A}\x{745B}\x{745C}\x{745D}\x{745E}\x{745F}\x{7461}\x{7462}' - . '\x{7463}\x{7464}\x{7465}\x{7466}\x{7467}\x{7468}\x{7469}\x{746A}\x{746B}' - . '\x{746C}\x{746D}\x{746E}\x{746F}\x{7470}\x{7471}\x{7472}\x{7473}\x{7474}' - . '\x{7475}\x{7476}\x{7477}\x{7478}\x{7479}\x{747A}\x{747C}\x{747D}\x{747E}' - . '\x{747F}\x{7480}\x{7481}\x{7482}\x{7483}\x{7485}\x{7486}\x{7487}\x{7488}' - . '\x{7489}\x{748A}\x{748B}\x{748C}\x{748D}\x{748E}\x{748F}\x{7490}\x{7491}' - . '\x{7492}\x{7493}\x{7494}\x{7495}\x{7497}\x{7498}\x{7499}\x{749A}\x{749B}' - . '\x{749C}\x{749E}\x{749F}\x{74A0}\x{74A1}\x{74A3}\x{74A4}\x{74A5}\x{74A6}' - . '\x{74A7}\x{74A8}\x{74A9}\x{74AA}\x{74AB}\x{74AC}\x{74AD}\x{74AE}\x{74AF}' - . '\x{74B0}\x{74B1}\x{74B2}\x{74B3}\x{74B4}\x{74B5}\x{74B6}\x{74B7}\x{74B8}' - . '\x{74B9}\x{74BA}\x{74BB}\x{74BC}\x{74BD}\x{74BE}\x{74BF}\x{74C0}\x{74C1}' - . '\x{74C2}\x{74C3}\x{74C4}\x{74C5}\x{74C6}\x{74CA}\x{74CB}\x{74CD}\x{74CE}' - . '\x{74CF}\x{74D0}\x{74D1}\x{74D2}\x{74D3}\x{74D4}\x{74D5}\x{74D6}\x{74D7}' - . '\x{74D8}\x{74D9}\x{74DA}\x{74DB}\x{74DC}\x{74DD}\x{74DE}\x{74DF}\x{74E0}' - . '\x{74E1}\x{74E2}\x{74E3}\x{74E4}\x{74E5}\x{74E6}\x{74E7}\x{74E8}\x{74E9}' - . '\x{74EA}\x{74EC}\x{74ED}\x{74EE}\x{74EF}\x{74F0}\x{74F1}\x{74F2}\x{74F3}' - . '\x{74F4}\x{74F5}\x{74F6}\x{74F7}\x{74F8}\x{74F9}\x{74FA}\x{74FB}\x{74FC}' - . '\x{74FD}\x{74FE}\x{74FF}\x{7500}\x{7501}\x{7502}\x{7503}\x{7504}\x{7505}' - . '\x{7506}\x{7507}\x{7508}\x{7509}\x{750A}\x{750B}\x{750C}\x{750D}\x{750F}' - . '\x{7510}\x{7511}\x{7512}\x{7513}\x{7514}\x{7515}\x{7516}\x{7517}\x{7518}' - . '\x{7519}\x{751A}\x{751B}\x{751C}\x{751D}\x{751E}\x{751F}\x{7521}\x{7522}' - . '\x{7523}\x{7524}\x{7525}\x{7526}\x{7527}\x{7528}\x{7529}\x{752A}\x{752B}' - . '\x{752C}\x{752D}\x{752E}\x{752F}\x{7530}\x{7531}\x{7532}\x{7533}\x{7535}' - . '\x{7536}\x{7537}\x{7538}\x{7539}\x{753A}\x{753B}\x{753C}\x{753D}\x{753E}' - . '\x{753F}\x{7540}\x{7542}\x{7543}\x{7544}\x{7545}\x{7546}\x{7547}\x{7548}' - . '\x{7549}\x{754B}\x{754C}\x{754D}\x{754E}\x{754F}\x{7550}\x{7551}\x{7553}' - . '\x{7554}\x{7556}\x{7557}\x{7558}\x{7559}\x{755A}\x{755B}\x{755C}\x{755D}' - . '\x{755F}\x{7560}\x{7562}\x{7563}\x{7564}\x{7565}\x{7566}\x{7567}\x{7568}' - . '\x{7569}\x{756A}\x{756B}\x{756C}\x{756D}\x{756E}\x{756F}\x{7570}\x{7572}' - . '\x{7574}\x{7575}\x{7576}\x{7577}\x{7578}\x{7579}\x{757C}\x{757D}\x{757E}' - . '\x{757F}\x{7580}\x{7581}\x{7582}\x{7583}\x{7584}\x{7586}\x{7587}\x{7588}' - . '\x{7589}\x{758A}\x{758B}\x{758C}\x{758D}\x{758F}\x{7590}\x{7591}\x{7592}' - . '\x{7593}\x{7594}\x{7595}\x{7596}\x{7597}\x{7598}\x{7599}\x{759A}\x{759B}' - . '\x{759C}\x{759D}\x{759E}\x{759F}\x{75A0}\x{75A1}\x{75A2}\x{75A3}\x{75A4}' - . '\x{75A5}\x{75A6}\x{75A7}\x{75A8}\x{75AA}\x{75AB}\x{75AC}\x{75AD}\x{75AE}' - . '\x{75AF}\x{75B0}\x{75B1}\x{75B2}\x{75B3}\x{75B4}\x{75B5}\x{75B6}\x{75B8}' - . '\x{75B9}\x{75BA}\x{75BB}\x{75BC}\x{75BD}\x{75BE}\x{75BF}\x{75C0}\x{75C1}' - . '\x{75C2}\x{75C3}\x{75C4}\x{75C5}\x{75C6}\x{75C7}\x{75C8}\x{75C9}\x{75CA}' - . '\x{75CB}\x{75CC}\x{75CD}\x{75CE}\x{75CF}\x{75D0}\x{75D1}\x{75D2}\x{75D3}' - . '\x{75D4}\x{75D5}\x{75D6}\x{75D7}\x{75D8}\x{75D9}\x{75DA}\x{75DB}\x{75DD}' - . '\x{75DE}\x{75DF}\x{75E0}\x{75E1}\x{75E2}\x{75E3}\x{75E4}\x{75E5}\x{75E6}' - . '\x{75E7}\x{75E8}\x{75EA}\x{75EB}\x{75EC}\x{75ED}\x{75EF}\x{75F0}\x{75F1}' - . '\x{75F2}\x{75F3}\x{75F4}\x{75F5}\x{75F6}\x{75F7}\x{75F8}\x{75F9}\x{75FA}' - . '\x{75FB}\x{75FC}\x{75FD}\x{75FE}\x{75FF}\x{7600}\x{7601}\x{7602}\x{7603}' - . '\x{7604}\x{7605}\x{7606}\x{7607}\x{7608}\x{7609}\x{760A}\x{760B}\x{760C}' - . '\x{760D}\x{760E}\x{760F}\x{7610}\x{7611}\x{7612}\x{7613}\x{7614}\x{7615}' - . '\x{7616}\x{7617}\x{7618}\x{7619}\x{761A}\x{761B}\x{761C}\x{761D}\x{761E}' - . '\x{761F}\x{7620}\x{7621}\x{7622}\x{7623}\x{7624}\x{7625}\x{7626}\x{7627}' - . '\x{7628}\x{7629}\x{762A}\x{762B}\x{762D}\x{762E}\x{762F}\x{7630}\x{7631}' - . '\x{7632}\x{7633}\x{7634}\x{7635}\x{7636}\x{7637}\x{7638}\x{7639}\x{763A}' - . '\x{763B}\x{763C}\x{763D}\x{763E}\x{763F}\x{7640}\x{7641}\x{7642}\x{7643}' - . '\x{7646}\x{7647}\x{7648}\x{7649}\x{764A}\x{764B}\x{764C}\x{764D}\x{764F}' - . '\x{7650}\x{7652}\x{7653}\x{7654}\x{7656}\x{7657}\x{7658}\x{7659}\x{765A}' - . '\x{765B}\x{765C}\x{765D}\x{765E}\x{765F}\x{7660}\x{7661}\x{7662}\x{7663}' - . '\x{7664}\x{7665}\x{7666}\x{7667}\x{7668}\x{7669}\x{766A}\x{766B}\x{766C}' - . '\x{766D}\x{766E}\x{766F}\x{7670}\x{7671}\x{7672}\x{7674}\x{7675}\x{7676}' - . '\x{7677}\x{7678}\x{7679}\x{767B}\x{767C}\x{767D}\x{767E}\x{767F}\x{7680}' - . '\x{7681}\x{7682}\x{7683}\x{7684}\x{7685}\x{7686}\x{7687}\x{7688}\x{7689}' - . '\x{768A}\x{768B}\x{768C}\x{768E}\x{768F}\x{7690}\x{7691}\x{7692}\x{7693}' - . '\x{7694}\x{7695}\x{7696}\x{7697}\x{7698}\x{7699}\x{769A}\x{769B}\x{769C}' - . '\x{769D}\x{769E}\x{769F}\x{76A0}\x{76A3}\x{76A4}\x{76A6}\x{76A7}\x{76A9}' - . '\x{76AA}\x{76AB}\x{76AC}\x{76AD}\x{76AE}\x{76AF}\x{76B0}\x{76B1}\x{76B2}' - . '\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}\x{76BB}\x{76BC}\x{76BD}\x{76BE}' - . '\x{76BF}\x{76C0}\x{76C2}\x{76C3}\x{76C4}\x{76C5}\x{76C6}\x{76C7}\x{76C8}' - . '\x{76C9}\x{76CA}\x{76CD}\x{76CE}\x{76CF}\x{76D0}\x{76D1}\x{76D2}\x{76D3}' - . '\x{76D4}\x{76D5}\x{76D6}\x{76D7}\x{76D8}\x{76DA}\x{76DB}\x{76DC}\x{76DD}' - . '\x{76DE}\x{76DF}\x{76E0}\x{76E1}\x{76E2}\x{76E3}\x{76E4}\x{76E5}\x{76E6}' - . '\x{76E7}\x{76E8}\x{76E9}\x{76EA}\x{76EC}\x{76ED}\x{76EE}\x{76EF}\x{76F0}' - . '\x{76F1}\x{76F2}\x{76F3}\x{76F4}\x{76F5}\x{76F6}\x{76F7}\x{76F8}\x{76F9}' - . '\x{76FA}\x{76FB}\x{76FC}\x{76FD}\x{76FE}\x{76FF}\x{7701}\x{7703}\x{7704}' - . '\x{7705}\x{7706}\x{7707}\x{7708}\x{7709}\x{770A}\x{770B}\x{770C}\x{770D}' - . '\x{770F}\x{7710}\x{7711}\x{7712}\x{7713}\x{7714}\x{7715}\x{7716}\x{7717}' - . '\x{7718}\x{7719}\x{771A}\x{771B}\x{771C}\x{771D}\x{771E}\x{771F}\x{7720}' - . '\x{7722}\x{7723}\x{7725}\x{7726}\x{7727}\x{7728}\x{7729}\x{772A}\x{772C}' - . '\x{772D}\x{772E}\x{772F}\x{7730}\x{7731}\x{7732}\x{7733}\x{7734}\x{7735}' - . '\x{7736}\x{7737}\x{7738}\x{7739}\x{773A}\x{773B}\x{773C}\x{773D}\x{773E}' - . '\x{7740}\x{7741}\x{7743}\x{7744}\x{7745}\x{7746}\x{7747}\x{7748}\x{7749}' - . '\x{774A}\x{774B}\x{774C}\x{774D}\x{774E}\x{774F}\x{7750}\x{7751}\x{7752}' - . '\x{7753}\x{7754}\x{7755}\x{7756}\x{7757}\x{7758}\x{7759}\x{775A}\x{775B}' - . '\x{775C}\x{775D}\x{775E}\x{775F}\x{7760}\x{7761}\x{7762}\x{7763}\x{7765}' - . '\x{7766}\x{7767}\x{7768}\x{7769}\x{776A}\x{776B}\x{776C}\x{776D}\x{776E}' - . '\x{776F}\x{7770}\x{7771}\x{7772}\x{7773}\x{7774}\x{7775}\x{7776}\x{7777}' - . '\x{7778}\x{7779}\x{777A}\x{777B}\x{777C}\x{777D}\x{777E}\x{777F}\x{7780}' - . '\x{7781}\x{7782}\x{7783}\x{7784}\x{7785}\x{7786}\x{7787}\x{7788}\x{7789}' - . '\x{778A}\x{778B}\x{778C}\x{778D}\x{778E}\x{778F}\x{7790}\x{7791}\x{7792}' - . '\x{7793}\x{7794}\x{7795}\x{7797}\x{7798}\x{7799}\x{779A}\x{779B}\x{779C}' - . '\x{779D}\x{779E}\x{779F}\x{77A0}\x{77A1}\x{77A2}\x{77A3}\x{77A5}\x{77A6}' - . '\x{77A7}\x{77A8}\x{77A9}\x{77AA}\x{77AB}\x{77AC}\x{77AD}\x{77AE}\x{77AF}' - . '\x{77B0}\x{77B1}\x{77B2}\x{77B3}\x{77B4}\x{77B5}\x{77B6}\x{77B7}\x{77B8}' - . '\x{77B9}\x{77BA}\x{77BB}\x{77BC}\x{77BD}\x{77BF}\x{77C0}\x{77C2}\x{77C3}' - . '\x{77C4}\x{77C5}\x{77C6}\x{77C7}\x{77C8}\x{77C9}\x{77CA}\x{77CB}\x{77CC}' - . '\x{77CD}\x{77CE}\x{77CF}\x{77D0}\x{77D1}\x{77D3}\x{77D4}\x{77D5}\x{77D6}' - . '\x{77D7}\x{77D8}\x{77D9}\x{77DA}\x{77DB}\x{77DC}\x{77DE}\x{77DF}\x{77E0}' - . '\x{77E1}\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E8}\x{77E9}\x{77EA}\x{77EB}' - . '\x{77EC}\x{77ED}\x{77EE}\x{77EF}\x{77F0}\x{77F1}\x{77F2}\x{77F3}\x{77F6}' - . '\x{77F7}\x{77F8}\x{77F9}\x{77FA}\x{77FB}\x{77FC}\x{77FD}\x{77FE}\x{77FF}' - . '\x{7800}\x{7801}\x{7802}\x{7803}\x{7804}\x{7805}\x{7806}\x{7808}\x{7809}' - . '\x{780A}\x{780B}\x{780C}\x{780D}\x{780E}\x{780F}\x{7810}\x{7811}\x{7812}' - . '\x{7813}\x{7814}\x{7815}\x{7816}\x{7817}\x{7818}\x{7819}\x{781A}\x{781B}' - . '\x{781C}\x{781D}\x{781E}\x{781F}\x{7820}\x{7821}\x{7822}\x{7823}\x{7825}' - . '\x{7826}\x{7827}\x{7828}\x{7829}\x{782A}\x{782B}\x{782C}\x{782D}\x{782E}' - . '\x{782F}\x{7830}\x{7831}\x{7832}\x{7833}\x{7834}\x{7835}\x{7837}\x{7838}' - . '\x{7839}\x{783A}\x{783B}\x{783C}\x{783D}\x{783E}\x{7840}\x{7841}\x{7843}' - . '\x{7844}\x{7845}\x{7847}\x{7848}\x{7849}\x{784A}\x{784C}\x{784D}\x{784E}' - . '\x{7850}\x{7851}\x{7852}\x{7853}\x{7854}\x{7855}\x{7856}\x{7857}\x{7858}' - . '\x{7859}\x{785A}\x{785B}\x{785C}\x{785D}\x{785E}\x{785F}\x{7860}\x{7861}' - . '\x{7862}\x{7863}\x{7864}\x{7865}\x{7866}\x{7867}\x{7868}\x{7869}\x{786A}' - . '\x{786B}\x{786C}\x{786D}\x{786E}\x{786F}\x{7870}\x{7871}\x{7872}\x{7873}' - . '\x{7874}\x{7875}\x{7877}\x{7878}\x{7879}\x{787A}\x{787B}\x{787C}\x{787D}' - . '\x{787E}\x{787F}\x{7880}\x{7881}\x{7882}\x{7883}\x{7884}\x{7885}\x{7886}' - . '\x{7887}\x{7889}\x{788A}\x{788B}\x{788C}\x{788D}\x{788E}\x{788F}\x{7890}' - . '\x{7891}\x{7892}\x{7893}\x{7894}\x{7895}\x{7896}\x{7897}\x{7898}\x{7899}' - . '\x{789A}\x{789B}\x{789C}\x{789D}\x{789E}\x{789F}\x{78A0}\x{78A1}\x{78A2}' - . '\x{78A3}\x{78A4}\x{78A5}\x{78A6}\x{78A7}\x{78A8}\x{78A9}\x{78AA}\x{78AB}' - . '\x{78AC}\x{78AD}\x{78AE}\x{78AF}\x{78B0}\x{78B1}\x{78B2}\x{78B3}\x{78B4}' - . '\x{78B5}\x{78B6}\x{78B7}\x{78B8}\x{78B9}\x{78BA}\x{78BB}\x{78BC}\x{78BD}' - . '\x{78BE}\x{78BF}\x{78C0}\x{78C1}\x{78C3}\x{78C4}\x{78C5}\x{78C6}\x{78C8}' - . '\x{78C9}\x{78CA}\x{78CB}\x{78CC}\x{78CD}\x{78CE}\x{78CF}\x{78D0}\x{78D1}' - . '\x{78D3}\x{78D4}\x{78D5}\x{78D6}\x{78D7}\x{78D8}\x{78D9}\x{78DA}\x{78DB}' - . '\x{78DC}\x{78DD}\x{78DE}\x{78DF}\x{78E0}\x{78E1}\x{78E2}\x{78E3}\x{78E4}' - . '\x{78E5}\x{78E6}\x{78E7}\x{78E8}\x{78E9}\x{78EA}\x{78EB}\x{78EC}\x{78ED}' - . '\x{78EE}\x{78EF}\x{78F1}\x{78F2}\x{78F3}\x{78F4}\x{78F5}\x{78F6}\x{78F7}' - . '\x{78F9}\x{78FA}\x{78FB}\x{78FC}\x{78FD}\x{78FE}\x{78FF}\x{7901}\x{7902}' - . '\x{7903}\x{7904}\x{7905}\x{7906}\x{7907}\x{7909}\x{790A}\x{790B}\x{790C}' - . '\x{790E}\x{790F}\x{7910}\x{7911}\x{7912}\x{7913}\x{7914}\x{7916}\x{7917}' - . '\x{7918}\x{7919}\x{791A}\x{791B}\x{791C}\x{791D}\x{791E}\x{7921}\x{7922}' - . '\x{7923}\x{7924}\x{7925}\x{7926}\x{7927}\x{7928}\x{7929}\x{792A}\x{792B}' - . '\x{792C}\x{792D}\x{792E}\x{792F}\x{7930}\x{7931}\x{7933}\x{7934}\x{7935}' - . '\x{7937}\x{7938}\x{7939}\x{793A}\x{793B}\x{793C}\x{793D}\x{793E}\x{793F}' - . '\x{7940}\x{7941}\x{7942}\x{7943}\x{7944}\x{7945}\x{7946}\x{7947}\x{7948}' - . '\x{7949}\x{794A}\x{794B}\x{794C}\x{794D}\x{794E}\x{794F}\x{7950}\x{7951}' - . '\x{7952}\x{7953}\x{7954}\x{7955}\x{7956}\x{7957}\x{7958}\x{795A}\x{795B}' - . '\x{795C}\x{795D}\x{795E}\x{795F}\x{7960}\x{7961}\x{7962}\x{7963}\x{7964}' - . '\x{7965}\x{7966}\x{7967}\x{7968}\x{7969}\x{796A}\x{796B}\x{796D}\x{796F}' - . '\x{7970}\x{7971}\x{7972}\x{7973}\x{7974}\x{7977}\x{7978}\x{7979}\x{797A}' - . '\x{797B}\x{797C}\x{797D}\x{797E}\x{797F}\x{7980}\x{7981}\x{7982}\x{7983}' - . '\x{7984}\x{7985}\x{7988}\x{7989}\x{798A}\x{798B}\x{798C}\x{798D}\x{798E}' - . '\x{798F}\x{7990}\x{7991}\x{7992}\x{7993}\x{7994}\x{7995}\x{7996}\x{7997}' - . '\x{7998}\x{7999}\x{799A}\x{799B}\x{799C}\x{799F}\x{79A0}\x{79A1}\x{79A2}' - . '\x{79A3}\x{79A4}\x{79A5}\x{79A6}\x{79A7}\x{79A8}\x{79AA}\x{79AB}\x{79AC}' - . '\x{79AD}\x{79AE}\x{79AF}\x{79B0}\x{79B1}\x{79B2}\x{79B3}\x{79B4}\x{79B5}' - . '\x{79B6}\x{79B7}\x{79B8}\x{79B9}\x{79BA}\x{79BB}\x{79BD}\x{79BE}\x{79BF}' - . '\x{79C0}\x{79C1}\x{79C2}\x{79C3}\x{79C5}\x{79C6}\x{79C8}\x{79C9}\x{79CA}' - . '\x{79CB}\x{79CD}\x{79CE}\x{79CF}\x{79D0}\x{79D1}\x{79D2}\x{79D3}\x{79D5}' - . '\x{79D6}\x{79D8}\x{79D9}\x{79DA}\x{79DB}\x{79DC}\x{79DD}\x{79DE}\x{79DF}' - . '\x{79E0}\x{79E1}\x{79E2}\x{79E3}\x{79E4}\x{79E5}\x{79E6}\x{79E7}\x{79E8}' - . '\x{79E9}\x{79EA}\x{79EB}\x{79EC}\x{79ED}\x{79EE}\x{79EF}\x{79F0}\x{79F1}' - . '\x{79F2}\x{79F3}\x{79F4}\x{79F5}\x{79F6}\x{79F7}\x{79F8}\x{79F9}\x{79FA}' - . '\x{79FB}\x{79FC}\x{79FD}\x{79FE}\x{79FF}\x{7A00}\x{7A02}\x{7A03}\x{7A04}' - . '\x{7A05}\x{7A06}\x{7A08}\x{7A0A}\x{7A0B}\x{7A0C}\x{7A0D}\x{7A0E}\x{7A0F}' - . '\x{7A10}\x{7A11}\x{7A12}\x{7A13}\x{7A14}\x{7A15}\x{7A16}\x{7A17}\x{7A18}' - . '\x{7A19}\x{7A1A}\x{7A1B}\x{7A1C}\x{7A1D}\x{7A1E}\x{7A1F}\x{7A20}\x{7A21}' - . '\x{7A22}\x{7A23}\x{7A24}\x{7A25}\x{7A26}\x{7A27}\x{7A28}\x{7A29}\x{7A2A}' - . '\x{7A2B}\x{7A2D}\x{7A2E}\x{7A2F}\x{7A30}\x{7A31}\x{7A32}\x{7A33}\x{7A34}' - . '\x{7A35}\x{7A37}\x{7A39}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' - . '\x{7A41}\x{7A42}\x{7A43}\x{7A44}\x{7A45}\x{7A46}\x{7A47}\x{7A48}\x{7A49}' - . '\x{7A4A}\x{7A4B}\x{7A4C}\x{7A4D}\x{7A4E}\x{7A50}\x{7A51}\x{7A52}\x{7A53}' - . '\x{7A54}\x{7A55}\x{7A56}\x{7A57}\x{7A58}\x{7A59}\x{7A5A}\x{7A5B}\x{7A5C}' - . '\x{7A5D}\x{7A5E}\x{7A5F}\x{7A60}\x{7A61}\x{7A62}\x{7A65}\x{7A66}\x{7A67}' - . '\x{7A68}\x{7A69}\x{7A6B}\x{7A6C}\x{7A6D}\x{7A6E}\x{7A70}\x{7A71}\x{7A72}' - . '\x{7A73}\x{7A74}\x{7A75}\x{7A76}\x{7A77}\x{7A78}\x{7A79}\x{7A7A}\x{7A7B}' - . '\x{7A7C}\x{7A7D}\x{7A7E}\x{7A7F}\x{7A80}\x{7A81}\x{7A83}\x{7A84}\x{7A85}' - . '\x{7A86}\x{7A87}\x{7A88}\x{7A89}\x{7A8A}\x{7A8B}\x{7A8C}\x{7A8D}\x{7A8E}' - . '\x{7A8F}\x{7A90}\x{7A91}\x{7A92}\x{7A93}\x{7A94}\x{7A95}\x{7A96}\x{7A97}' - . '\x{7A98}\x{7A99}\x{7A9C}\x{7A9D}\x{7A9E}\x{7A9F}\x{7AA0}\x{7AA1}\x{7AA2}' - . '\x{7AA3}\x{7AA4}\x{7AA5}\x{7AA6}\x{7AA7}\x{7AA8}\x{7AA9}\x{7AAA}\x{7AAB}' - . '\x{7AAC}\x{7AAD}\x{7AAE}\x{7AAF}\x{7AB0}\x{7AB1}\x{7AB2}\x{7AB3}\x{7AB4}' - . '\x{7AB5}\x{7AB6}\x{7AB7}\x{7AB8}\x{7ABA}\x{7ABE}\x{7ABF}\x{7AC0}\x{7AC1}' - . '\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}\x{7AC9}\x{7ACA}\x{7ACB}\x{7ACC}\x{7ACD}' - . '\x{7ACE}\x{7ACF}\x{7AD0}\x{7AD1}\x{7AD2}\x{7AD3}\x{7AD4}\x{7AD5}\x{7AD6}' - . '\x{7AD8}\x{7AD9}\x{7ADB}\x{7ADC}\x{7ADD}\x{7ADE}\x{7ADF}\x{7AE0}\x{7AE1}' - . '\x{7AE2}\x{7AE3}\x{7AE4}\x{7AE5}\x{7AE6}\x{7AE7}\x{7AE8}\x{7AEA}\x{7AEB}' - . '\x{7AEC}\x{7AED}\x{7AEE}\x{7AEF}\x{7AF0}\x{7AF1}\x{7AF2}\x{7AF3}\x{7AF4}' - . '\x{7AF6}\x{7AF7}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFB}\x{7AFD}\x{7AFE}\x{7AFF}' - . '\x{7B00}\x{7B01}\x{7B02}\x{7B03}\x{7B04}\x{7B05}\x{7B06}\x{7B08}\x{7B09}' - . '\x{7B0A}\x{7B0B}\x{7B0C}\x{7B0D}\x{7B0E}\x{7B0F}\x{7B10}\x{7B11}\x{7B12}' - . '\x{7B13}\x{7B14}\x{7B15}\x{7B16}\x{7B17}\x{7B18}\x{7B19}\x{7B1A}\x{7B1B}' - . '\x{7B1C}\x{7B1D}\x{7B1E}\x{7B20}\x{7B21}\x{7B22}\x{7B23}\x{7B24}\x{7B25}' - . '\x{7B26}\x{7B28}\x{7B2A}\x{7B2B}\x{7B2C}\x{7B2D}\x{7B2E}\x{7B2F}\x{7B30}' - . '\x{7B31}\x{7B32}\x{7B33}\x{7B34}\x{7B35}\x{7B36}\x{7B37}\x{7B38}\x{7B39}' - . '\x{7B3A}\x{7B3B}\x{7B3C}\x{7B3D}\x{7B3E}\x{7B3F}\x{7B40}\x{7B41}\x{7B43}' - . '\x{7B44}\x{7B45}\x{7B46}\x{7B47}\x{7B48}\x{7B49}\x{7B4A}\x{7B4B}\x{7B4C}' - . '\x{7B4D}\x{7B4E}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B55}\x{7B56}' - . '\x{7B57}\x{7B58}\x{7B59}\x{7B5A}\x{7B5B}\x{7B5C}\x{7B5D}\x{7B5E}\x{7B5F}' - . '\x{7B60}\x{7B61}\x{7B62}\x{7B63}\x{7B64}\x{7B65}\x{7B66}\x{7B67}\x{7B68}' - . '\x{7B69}\x{7B6A}\x{7B6B}\x{7B6C}\x{7B6D}\x{7B6E}\x{7B70}\x{7B71}\x{7B72}' - . '\x{7B73}\x{7B74}\x{7B75}\x{7B76}\x{7B77}\x{7B78}\x{7B79}\x{7B7B}\x{7B7C}' - . '\x{7B7D}\x{7B7E}\x{7B7F}\x{7B80}\x{7B81}\x{7B82}\x{7B83}\x{7B84}\x{7B85}' - . '\x{7B87}\x{7B88}\x{7B89}\x{7B8A}\x{7B8B}\x{7B8C}\x{7B8D}\x{7B8E}\x{7B8F}' - . '\x{7B90}\x{7B91}\x{7B93}\x{7B94}\x{7B95}\x{7B96}\x{7B97}\x{7B98}\x{7B99}' - . '\x{7B9A}\x{7B9B}\x{7B9C}\x{7B9D}\x{7B9E}\x{7B9F}\x{7BA0}\x{7BA1}\x{7BA2}' - . '\x{7BA4}\x{7BA6}\x{7BA7}\x{7BA8}\x{7BA9}\x{7BAA}\x{7BAB}\x{7BAC}\x{7BAD}' - . '\x{7BAE}\x{7BAF}\x{7BB1}\x{7BB3}\x{7BB4}\x{7BB5}\x{7BB6}\x{7BB7}\x{7BB8}' - . '\x{7BB9}\x{7BBA}\x{7BBB}\x{7BBC}\x{7BBD}\x{7BBE}\x{7BBF}\x{7BC0}\x{7BC1}' - . '\x{7BC2}\x{7BC3}\x{7BC4}\x{7BC5}\x{7BC6}\x{7BC7}\x{7BC8}\x{7BC9}\x{7BCA}' - . '\x{7BCB}\x{7BCC}\x{7BCD}\x{7BCE}\x{7BD0}\x{7BD1}\x{7BD2}\x{7BD3}\x{7BD4}' - . '\x{7BD5}\x{7BD6}\x{7BD7}\x{7BD8}\x{7BD9}\x{7BDA}\x{7BDB}\x{7BDC}\x{7BDD}' - . '\x{7BDE}\x{7BDF}\x{7BE0}\x{7BE1}\x{7BE2}\x{7BE3}\x{7BE4}\x{7BE5}\x{7BE6}' - . '\x{7BE7}\x{7BE8}\x{7BE9}\x{7BEA}\x{7BEB}\x{7BEC}\x{7BED}\x{7BEE}\x{7BEF}' - . '\x{7BF0}\x{7BF1}\x{7BF2}\x{7BF3}\x{7BF4}\x{7BF5}\x{7BF6}\x{7BF7}\x{7BF8}' - . '\x{7BF9}\x{7BFB}\x{7BFC}\x{7BFD}\x{7BFE}\x{7BFF}\x{7C00}\x{7C01}\x{7C02}' - . '\x{7C03}\x{7C04}\x{7C05}\x{7C06}\x{7C07}\x{7C08}\x{7C09}\x{7C0A}\x{7C0B}' - . '\x{7C0C}\x{7C0D}\x{7C0E}\x{7C0F}\x{7C10}\x{7C11}\x{7C12}\x{7C13}\x{7C15}' - . '\x{7C16}\x{7C17}\x{7C18}\x{7C19}\x{7C1A}\x{7C1C}\x{7C1D}\x{7C1E}\x{7C1F}' - . '\x{7C20}\x{7C21}\x{7C22}\x{7C23}\x{7C24}\x{7C25}\x{7C26}\x{7C27}\x{7C28}' - . '\x{7C29}\x{7C2A}\x{7C2B}\x{7C2C}\x{7C2D}\x{7C30}\x{7C31}\x{7C32}\x{7C33}' - . '\x{7C34}\x{7C35}\x{7C36}\x{7C37}\x{7C38}\x{7C39}\x{7C3A}\x{7C3B}\x{7C3C}' - . '\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C41}\x{7C42}\x{7C43}\x{7C44}\x{7C45}' - . '\x{7C46}\x{7C47}\x{7C48}\x{7C49}\x{7C4A}\x{7C4B}\x{7C4C}\x{7C4D}\x{7C4E}' - . '\x{7C50}\x{7C51}\x{7C53}\x{7C54}\x{7C56}\x{7C57}\x{7C58}\x{7C59}\x{7C5A}' - . '\x{7C5B}\x{7C5C}\x{7C5E}\x{7C5F}\x{7C60}\x{7C61}\x{7C62}\x{7C63}\x{7C64}' - . '\x{7C65}\x{7C66}\x{7C67}\x{7C68}\x{7C69}\x{7C6A}\x{7C6B}\x{7C6C}\x{7C6D}' - . '\x{7C6E}\x{7C6F}\x{7C70}\x{7C71}\x{7C72}\x{7C73}\x{7C74}\x{7C75}\x{7C77}' - . '\x{7C78}\x{7C79}\x{7C7A}\x{7C7B}\x{7C7C}\x{7C7D}\x{7C7E}\x{7C7F}\x{7C80}' - . '\x{7C81}\x{7C82}\x{7C84}\x{7C85}\x{7C86}\x{7C88}\x{7C89}\x{7C8A}\x{7C8B}' - . '\x{7C8C}\x{7C8D}\x{7C8E}\x{7C8F}\x{7C90}\x{7C91}\x{7C92}\x{7C94}\x{7C95}' - . '\x{7C96}\x{7C97}\x{7C98}\x{7C99}\x{7C9B}\x{7C9C}\x{7C9D}\x{7C9E}\x{7C9F}' - . '\x{7CA0}\x{7CA1}\x{7CA2}\x{7CA3}\x{7CA4}\x{7CA5}\x{7CA6}\x{7CA7}\x{7CA8}' - . '\x{7CA9}\x{7CAA}\x{7CAD}\x{7CAE}\x{7CAF}\x{7CB0}\x{7CB1}\x{7CB2}\x{7CB3}' - . '\x{7CB4}\x{7CB5}\x{7CB6}\x{7CB7}\x{7CB8}\x{7CB9}\x{7CBA}\x{7CBB}\x{7CBC}' - . '\x{7CBD}\x{7CBE}\x{7CBF}\x{7CC0}\x{7CC1}\x{7CC2}\x{7CC3}\x{7CC4}\x{7CC5}' - . '\x{7CC6}\x{7CC7}\x{7CC8}\x{7CC9}\x{7CCA}\x{7CCB}\x{7CCC}\x{7CCD}\x{7CCE}' - . '\x{7CCF}\x{7CD0}\x{7CD1}\x{7CD2}\x{7CD4}\x{7CD5}\x{7CD6}\x{7CD7}\x{7CD8}' - . '\x{7CD9}\x{7CDC}\x{7CDD}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}' - . '\x{7CE8}\x{7CE9}\x{7CEA}\x{7CEB}\x{7CEC}\x{7CED}\x{7CEE}\x{7CEF}\x{7CF0}' - . '\x{7CF1}\x{7CF2}\x{7CF3}\x{7CF4}\x{7CF5}\x{7CF6}\x{7CF7}\x{7CF8}\x{7CF9}' - . '\x{7CFA}\x{7CFB}\x{7CFD}\x{7CFE}\x{7D00}\x{7D01}\x{7D02}\x{7D03}\x{7D04}' - . '\x{7D05}\x{7D06}\x{7D07}\x{7D08}\x{7D09}\x{7D0A}\x{7D0B}\x{7D0C}\x{7D0D}' - . '\x{7D0E}\x{7D0F}\x{7D10}\x{7D11}\x{7D12}\x{7D13}\x{7D14}\x{7D15}\x{7D16}' - . '\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D1D}\x{7D1E}\x{7D1F}' - . '\x{7D20}\x{7D21}\x{7D22}\x{7D24}\x{7D25}\x{7D26}\x{7D27}\x{7D28}\x{7D29}' - . '\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D31}\x{7D32}\x{7D33}\x{7D34}' - . '\x{7D35}\x{7D36}\x{7D37}\x{7D38}\x{7D39}\x{7D3A}\x{7D3B}\x{7D3C}\x{7D3D}' - . '\x{7D3E}\x{7D3F}\x{7D40}\x{7D41}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}' - . '\x{7D47}\x{7D49}\x{7D4A}\x{7D4B}\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D51}' - . '\x{7D52}\x{7D53}\x{7D54}\x{7D55}\x{7D56}\x{7D57}\x{7D58}\x{7D59}\x{7D5B}' - . '\x{7D5C}\x{7D5D}\x{7D5E}\x{7D5F}\x{7D60}\x{7D61}\x{7D62}\x{7D63}\x{7D65}' - . '\x{7D66}\x{7D67}\x{7D68}\x{7D69}\x{7D6A}\x{7D6B}\x{7D6C}\x{7D6D}\x{7D6E}' - . '\x{7D6F}\x{7D70}\x{7D71}\x{7D72}\x{7D73}\x{7D74}\x{7D75}\x{7D76}\x{7D77}' - . '\x{7D79}\x{7D7A}\x{7D7B}\x{7D7C}\x{7D7D}\x{7D7E}\x{7D7F}\x{7D80}\x{7D81}' - . '\x{7D83}\x{7D84}\x{7D85}\x{7D86}\x{7D87}\x{7D88}\x{7D89}\x{7D8A}\x{7D8B}' - . '\x{7D8C}\x{7D8D}\x{7D8E}\x{7D8F}\x{7D90}\x{7D91}\x{7D92}\x{7D93}\x{7D94}' - . '\x{7D96}\x{7D97}\x{7D99}\x{7D9B}\x{7D9C}\x{7D9D}\x{7D9E}\x{7D9F}\x{7DA0}' - . '\x{7DA1}\x{7DA2}\x{7DA3}\x{7DA5}\x{7DA6}\x{7DA7}\x{7DA9}\x{7DAA}\x{7DAB}' - . '\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}\x{7DB1}\x{7DB2}\x{7DB3}\x{7DB4}' - . '\x{7DB5}\x{7DB6}\x{7DB7}\x{7DB8}\x{7DB9}\x{7DBA}\x{7DBB}\x{7DBC}\x{7DBD}' - . '\x{7DBE}\x{7DBF}\x{7DC0}\x{7DC1}\x{7DC2}\x{7DC3}\x{7DC4}\x{7DC5}\x{7DC6}' - . '\x{7DC7}\x{7DC8}\x{7DC9}\x{7DCA}\x{7DCB}\x{7DCC}\x{7DCE}\x{7DCF}\x{7DD0}' - . '\x{7DD1}\x{7DD2}\x{7DD4}\x{7DD5}\x{7DD6}\x{7DD7}\x{7DD8}\x{7DD9}\x{7DDA}' - . '\x{7DDB}\x{7DDD}\x{7DDE}\x{7DDF}\x{7DE0}\x{7DE1}\x{7DE2}\x{7DE3}\x{7DE6}' - . '\x{7DE7}\x{7DE8}\x{7DE9}\x{7DEA}\x{7DEC}\x{7DED}\x{7DEE}\x{7DEF}\x{7DF0}' - . '\x{7DF1}\x{7DF2}\x{7DF3}\x{7DF4}\x{7DF5}\x{7DF6}\x{7DF7}\x{7DF8}\x{7DF9}' - . '\x{7DFA}\x{7DFB}\x{7DFC}\x{7E00}\x{7E01}\x{7E02}\x{7E03}\x{7E04}\x{7E05}' - . '\x{7E06}\x{7E07}\x{7E08}\x{7E09}\x{7E0A}\x{7E0B}\x{7E0C}\x{7E0D}\x{7E0E}' - . '\x{7E0F}\x{7E10}\x{7E11}\x{7E12}\x{7E13}\x{7E14}\x{7E15}\x{7E16}\x{7E17}' - . '\x{7E19}\x{7E1A}\x{7E1B}\x{7E1C}\x{7E1D}\x{7E1E}\x{7E1F}\x{7E20}\x{7E21}' - . '\x{7E22}\x{7E23}\x{7E24}\x{7E25}\x{7E26}\x{7E27}\x{7E28}\x{7E29}\x{7E2A}' - . '\x{7E2B}\x{7E2C}\x{7E2D}\x{7E2E}\x{7E2F}\x{7E30}\x{7E31}\x{7E32}\x{7E33}' - . '\x{7E34}\x{7E35}\x{7E36}\x{7E37}\x{7E38}\x{7E39}\x{7E3A}\x{7E3B}\x{7E3C}' - . '\x{7E3D}\x{7E3E}\x{7E3F}\x{7E40}\x{7E41}\x{7E42}\x{7E43}\x{7E44}\x{7E45}' - . '\x{7E46}\x{7E47}\x{7E48}\x{7E49}\x{7E4C}\x{7E4D}\x{7E4E}\x{7E4F}\x{7E50}' - . '\x{7E51}\x{7E52}\x{7E53}\x{7E54}\x{7E55}\x{7E56}\x{7E57}\x{7E58}\x{7E59}' - . '\x{7E5A}\x{7E5C}\x{7E5D}\x{7E5E}\x{7E5F}\x{7E60}\x{7E61}\x{7E62}\x{7E63}' - . '\x{7E65}\x{7E66}\x{7E67}\x{7E68}\x{7E69}\x{7E6A}\x{7E6B}\x{7E6C}\x{7E6D}' - . '\x{7E6E}\x{7E6F}\x{7E70}\x{7E71}\x{7E72}\x{7E73}\x{7E74}\x{7E75}\x{7E76}' - . '\x{7E77}\x{7E78}\x{7E79}\x{7E7A}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7E}\x{7E7F}' - . '\x{7E80}\x{7E81}\x{7E82}\x{7E83}\x{7E84}\x{7E85}\x{7E86}\x{7E87}\x{7E88}' - . '\x{7E89}\x{7E8A}\x{7E8B}\x{7E8C}\x{7E8D}\x{7E8E}\x{7E8F}\x{7E90}\x{7E91}' - . '\x{7E92}\x{7E93}\x{7E94}\x{7E95}\x{7E96}\x{7E97}\x{7E98}\x{7E99}\x{7E9A}' - . '\x{7E9B}\x{7E9C}\x{7E9E}\x{7E9F}\x{7EA0}\x{7EA1}\x{7EA2}\x{7EA3}\x{7EA4}' - . '\x{7EA5}\x{7EA6}\x{7EA7}\x{7EA8}\x{7EA9}\x{7EAA}\x{7EAB}\x{7EAC}\x{7EAD}' - . '\x{7EAE}\x{7EAF}\x{7EB0}\x{7EB1}\x{7EB2}\x{7EB3}\x{7EB4}\x{7EB5}\x{7EB6}' - . '\x{7EB7}\x{7EB8}\x{7EB9}\x{7EBA}\x{7EBB}\x{7EBC}\x{7EBD}\x{7EBE}\x{7EBF}' - . '\x{7EC0}\x{7EC1}\x{7EC2}\x{7EC3}\x{7EC4}\x{7EC5}\x{7EC6}\x{7EC7}\x{7EC8}' - . '\x{7EC9}\x{7ECA}\x{7ECB}\x{7ECC}\x{7ECD}\x{7ECE}\x{7ECF}\x{7ED0}\x{7ED1}' - . '\x{7ED2}\x{7ED3}\x{7ED4}\x{7ED5}\x{7ED6}\x{7ED7}\x{7ED8}\x{7ED9}\x{7EDA}' - . '\x{7EDB}\x{7EDC}\x{7EDD}\x{7EDE}\x{7EDF}\x{7EE0}\x{7EE1}\x{7EE2}\x{7EE3}' - . '\x{7EE4}\x{7EE5}\x{7EE6}\x{7EE7}\x{7EE8}\x{7EE9}\x{7EEA}\x{7EEB}\x{7EEC}' - . '\x{7EED}\x{7EEE}\x{7EEF}\x{7EF0}\x{7EF1}\x{7EF2}\x{7EF3}\x{7EF4}\x{7EF5}' - . '\x{7EF6}\x{7EF7}\x{7EF8}\x{7EF9}\x{7EFA}\x{7EFB}\x{7EFC}\x{7EFD}\x{7EFE}' - . '\x{7EFF}\x{7F00}\x{7F01}\x{7F02}\x{7F03}\x{7F04}\x{7F05}\x{7F06}\x{7F07}' - . '\x{7F08}\x{7F09}\x{7F0A}\x{7F0B}\x{7F0C}\x{7F0D}\x{7F0E}\x{7F0F}\x{7F10}' - . '\x{7F11}\x{7F12}\x{7F13}\x{7F14}\x{7F15}\x{7F16}\x{7F17}\x{7F18}\x{7F19}' - . '\x{7F1A}\x{7F1B}\x{7F1C}\x{7F1D}\x{7F1E}\x{7F1F}\x{7F20}\x{7F21}\x{7F22}' - . '\x{7F23}\x{7F24}\x{7F25}\x{7F26}\x{7F27}\x{7F28}\x{7F29}\x{7F2A}\x{7F2B}' - . '\x{7F2C}\x{7F2D}\x{7F2E}\x{7F2F}\x{7F30}\x{7F31}\x{7F32}\x{7F33}\x{7F34}' - . '\x{7F35}\x{7F36}\x{7F37}\x{7F38}\x{7F39}\x{7F3A}\x{7F3D}\x{7F3E}\x{7F3F}' - . '\x{7F40}\x{7F42}\x{7F43}\x{7F44}\x{7F45}\x{7F47}\x{7F48}\x{7F49}\x{7F4A}' - . '\x{7F4B}\x{7F4C}\x{7F4D}\x{7F4E}\x{7F4F}\x{7F50}\x{7F51}\x{7F52}\x{7F53}' - . '\x{7F54}\x{7F55}\x{7F56}\x{7F57}\x{7F58}\x{7F5A}\x{7F5B}\x{7F5C}\x{7F5D}' - . '\x{7F5E}\x{7F5F}\x{7F60}\x{7F61}\x{7F62}\x{7F63}\x{7F64}\x{7F65}\x{7F66}' - . '\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6C}\x{7F6D}\x{7F6E}\x{7F6F}' - . '\x{7F70}\x{7F71}\x{7F72}\x{7F73}\x{7F74}\x{7F75}\x{7F76}\x{7F77}\x{7F78}' - . '\x{7F79}\x{7F7A}\x{7F7B}\x{7F7C}\x{7F7D}\x{7F7E}\x{7F7F}\x{7F80}\x{7F81}' - . '\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}\x{7F88}\x{7F89}\x{7F8A}\x{7F8B}' - . '\x{7F8C}\x{7F8D}\x{7F8E}\x{7F8F}\x{7F91}\x{7F92}\x{7F93}\x{7F94}\x{7F95}' - . '\x{7F96}\x{7F98}\x{7F9A}\x{7F9B}\x{7F9C}\x{7F9D}\x{7F9E}\x{7F9F}\x{7FA0}' - . '\x{7FA1}\x{7FA2}\x{7FA3}\x{7FA4}\x{7FA5}\x{7FA6}\x{7FA7}\x{7FA8}\x{7FA9}' - . '\x{7FAA}\x{7FAB}\x{7FAC}\x{7FAD}\x{7FAE}\x{7FAF}\x{7FB0}\x{7FB1}\x{7FB2}' - . '\x{7FB3}\x{7FB5}\x{7FB6}\x{7FB7}\x{7FB8}\x{7FB9}\x{7FBA}\x{7FBB}\x{7FBC}' - . '\x{7FBD}\x{7FBE}\x{7FBF}\x{7FC0}\x{7FC1}\x{7FC2}\x{7FC3}\x{7FC4}\x{7FC5}' - . '\x{7FC6}\x{7FC7}\x{7FC8}\x{7FC9}\x{7FCA}\x{7FCB}\x{7FCC}\x{7FCD}\x{7FCE}' - . '\x{7FCF}\x{7FD0}\x{7FD1}\x{7FD2}\x{7FD3}\x{7FD4}\x{7FD5}\x{7FD7}\x{7FD8}' - . '\x{7FD9}\x{7FDA}\x{7FDB}\x{7FDC}\x{7FDE}\x{7FDF}\x{7FE0}\x{7FE1}\x{7FE2}' - . '\x{7FE3}\x{7FE5}\x{7FE6}\x{7FE7}\x{7FE8}\x{7FE9}\x{7FEA}\x{7FEB}\x{7FEC}' - . '\x{7FED}\x{7FEE}\x{7FEF}\x{7FF0}\x{7FF1}\x{7FF2}\x{7FF3}\x{7FF4}\x{7FF5}' - . '\x{7FF6}\x{7FF7}\x{7FF8}\x{7FF9}\x{7FFA}\x{7FFB}\x{7FFC}\x{7FFD}\x{7FFE}' - . '\x{7FFF}\x{8000}\x{8001}\x{8002}\x{8003}\x{8004}\x{8005}\x{8006}\x{8007}' - . '\x{8008}\x{8009}\x{800B}\x{800C}\x{800D}\x{800E}\x{800F}\x{8010}\x{8011}' - . '\x{8012}\x{8013}\x{8014}\x{8015}\x{8016}\x{8017}\x{8018}\x{8019}\x{801A}' - . '\x{801B}\x{801C}\x{801D}\x{801E}\x{801F}\x{8020}\x{8021}\x{8022}\x{8023}' - . '\x{8024}\x{8025}\x{8026}\x{8027}\x{8028}\x{8029}\x{802A}\x{802B}\x{802C}' - . '\x{802D}\x{802E}\x{8030}\x{8031}\x{8032}\x{8033}\x{8034}\x{8035}\x{8036}' - . '\x{8037}\x{8038}\x{8039}\x{803A}\x{803B}\x{803D}\x{803E}\x{803F}\x{8041}' - . '\x{8042}\x{8043}\x{8044}\x{8045}\x{8046}\x{8047}\x{8048}\x{8049}\x{804A}' - . '\x{804B}\x{804C}\x{804D}\x{804E}\x{804F}\x{8050}\x{8051}\x{8052}\x{8053}' - . '\x{8054}\x{8055}\x{8056}\x{8057}\x{8058}\x{8059}\x{805A}\x{805B}\x{805C}' - . '\x{805D}\x{805E}\x{805F}\x{8060}\x{8061}\x{8062}\x{8063}\x{8064}\x{8065}' - . '\x{8067}\x{8068}\x{8069}\x{806A}\x{806B}\x{806C}\x{806D}\x{806E}\x{806F}' - . '\x{8070}\x{8071}\x{8072}\x{8073}\x{8074}\x{8075}\x{8076}\x{8077}\x{8078}' - . '\x{8079}\x{807A}\x{807B}\x{807C}\x{807D}\x{807E}\x{807F}\x{8080}\x{8081}' - . '\x{8082}\x{8083}\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808A}\x{808B}' - . '\x{808C}\x{808D}\x{808F}\x{8090}\x{8091}\x{8092}\x{8093}\x{8095}\x{8096}' - . '\x{8097}\x{8098}\x{8099}\x{809A}\x{809B}\x{809C}\x{809D}\x{809E}\x{809F}' - . '\x{80A0}\x{80A1}\x{80A2}\x{80A3}\x{80A4}\x{80A5}\x{80A9}\x{80AA}\x{80AB}' - . '\x{80AD}\x{80AE}\x{80AF}\x{80B0}\x{80B1}\x{80B2}\x{80B4}\x{80B5}\x{80B6}' - . '\x{80B7}\x{80B8}\x{80BA}\x{80BB}\x{80BC}\x{80BD}\x{80BE}\x{80BF}\x{80C0}' - . '\x{80C1}\x{80C2}\x{80C3}\x{80C4}\x{80C5}\x{80C6}\x{80C7}\x{80C8}\x{80C9}' - . '\x{80CA}\x{80CB}\x{80CC}\x{80CD}\x{80CE}\x{80CF}\x{80D0}\x{80D1}\x{80D2}' - . '\x{80D3}\x{80D4}\x{80D5}\x{80D6}\x{80D7}\x{80D8}\x{80D9}\x{80DA}\x{80DB}' - . '\x{80DC}\x{80DD}\x{80DE}\x{80E0}\x{80E1}\x{80E2}\x{80E3}\x{80E4}\x{80E5}' - . '\x{80E6}\x{80E7}\x{80E8}\x{80E9}\x{80EA}\x{80EB}\x{80EC}\x{80ED}\x{80EE}' - . '\x{80EF}\x{80F0}\x{80F1}\x{80F2}\x{80F3}\x{80F4}\x{80F5}\x{80F6}\x{80F7}' - . '\x{80F8}\x{80F9}\x{80FA}\x{80FB}\x{80FC}\x{80FD}\x{80FE}\x{80FF}\x{8100}' - . '\x{8101}\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{810B}' - . '\x{810C}\x{810D}\x{810E}\x{810F}\x{8110}\x{8111}\x{8112}\x{8113}\x{8114}' - . '\x{8115}\x{8116}\x{8118}\x{8119}\x{811A}\x{811B}\x{811C}\x{811D}\x{811E}' - . '\x{811F}\x{8120}\x{8121}\x{8122}\x{8123}\x{8124}\x{8125}\x{8126}\x{8127}' - . '\x{8128}\x{8129}\x{812A}\x{812B}\x{812C}\x{812D}\x{812E}\x{812F}\x{8130}' - . '\x{8131}\x{8132}\x{8136}\x{8137}\x{8138}\x{8139}\x{813A}\x{813B}\x{813C}' - . '\x{813D}\x{813E}\x{813F}\x{8140}\x{8141}\x{8142}\x{8143}\x{8144}\x{8145}' - . '\x{8146}\x{8147}\x{8148}\x{8149}\x{814A}\x{814B}\x{814C}\x{814D}\x{814E}' - . '\x{814F}\x{8150}\x{8151}\x{8152}\x{8153}\x{8154}\x{8155}\x{8156}\x{8157}' - . '\x{8158}\x{8159}\x{815A}\x{815B}\x{815C}\x{815D}\x{815E}\x{8160}\x{8161}' - . '\x{8162}\x{8163}\x{8164}\x{8165}\x{8166}\x{8167}\x{8168}\x{8169}\x{816A}' - . '\x{816B}\x{816C}\x{816D}\x{816E}\x{816F}\x{8170}\x{8171}\x{8172}\x{8173}' - . '\x{8174}\x{8175}\x{8176}\x{8177}\x{8178}\x{8179}\x{817A}\x{817B}\x{817C}' - . '\x{817D}\x{817E}\x{817F}\x{8180}\x{8181}\x{8182}\x{8183}\x{8185}\x{8186}' - . '\x{8187}\x{8188}\x{8189}\x{818A}\x{818B}\x{818C}\x{818D}\x{818E}\x{818F}' - . '\x{8191}\x{8192}\x{8193}\x{8194}\x{8195}\x{8197}\x{8198}\x{8199}\x{819A}' - . '\x{819B}\x{819C}\x{819D}\x{819E}\x{819F}\x{81A0}\x{81A1}\x{81A2}\x{81A3}' - . '\x{81A4}\x{81A5}\x{81A6}\x{81A7}\x{81A8}\x{81A9}\x{81AA}\x{81AB}\x{81AC}' - . '\x{81AD}\x{81AE}\x{81AF}\x{81B0}\x{81B1}\x{81B2}\x{81B3}\x{81B4}\x{81B5}' - . '\x{81B6}\x{81B7}\x{81B8}\x{81B9}\x{81BA}\x{81BB}\x{81BC}\x{81BD}\x{81BE}' - . '\x{81BF}\x{81C0}\x{81C1}\x{81C2}\x{81C3}\x{81C4}\x{81C5}\x{81C6}\x{81C7}' - . '\x{81C8}\x{81C9}\x{81CA}\x{81CC}\x{81CD}\x{81CE}\x{81CF}\x{81D0}\x{81D1}' - . '\x{81D2}\x{81D4}\x{81D5}\x{81D6}\x{81D7}\x{81D8}\x{81D9}\x{81DA}\x{81DB}' - . '\x{81DC}\x{81DD}\x{81DE}\x{81DF}\x{81E0}\x{81E1}\x{81E2}\x{81E3}\x{81E5}' - . '\x{81E6}\x{81E7}\x{81E8}\x{81E9}\x{81EA}\x{81EB}\x{81EC}\x{81ED}\x{81EE}' - . '\x{81F1}\x{81F2}\x{81F3}\x{81F4}\x{81F5}\x{81F6}\x{81F7}\x{81F8}\x{81F9}' - . '\x{81FA}\x{81FB}\x{81FC}\x{81FD}\x{81FE}\x{81FF}\x{8200}\x{8201}\x{8202}' - . '\x{8203}\x{8204}\x{8205}\x{8206}\x{8207}\x{8208}\x{8209}\x{820A}\x{820B}' - . '\x{820C}\x{820D}\x{820E}\x{820F}\x{8210}\x{8211}\x{8212}\x{8214}\x{8215}' - . '\x{8216}\x{8218}\x{8219}\x{821A}\x{821B}\x{821C}\x{821D}\x{821E}\x{821F}' - . '\x{8220}\x{8221}\x{8222}\x{8223}\x{8225}\x{8226}\x{8227}\x{8228}\x{8229}' - . '\x{822A}\x{822B}\x{822C}\x{822D}\x{822F}\x{8230}\x{8231}\x{8232}\x{8233}' - . '\x{8234}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{823A}\x{823B}\x{823C}' - . '\x{823D}\x{823E}\x{823F}\x{8240}\x{8242}\x{8243}\x{8244}\x{8245}\x{8246}' - . '\x{8247}\x{8248}\x{8249}\x{824A}\x{824B}\x{824C}\x{824D}\x{824E}\x{824F}' - . '\x{8250}\x{8251}\x{8252}\x{8253}\x{8254}\x{8255}\x{8256}\x{8257}\x{8258}' - . '\x{8259}\x{825A}\x{825B}\x{825C}\x{825D}\x{825E}\x{825F}\x{8260}\x{8261}' - . '\x{8263}\x{8264}\x{8266}\x{8267}\x{8268}\x{8269}\x{826A}\x{826B}\x{826C}' - . '\x{826D}\x{826E}\x{826F}\x{8270}\x{8271}\x{8272}\x{8273}\x{8274}\x{8275}' - . '\x{8276}\x{8277}\x{8278}\x{8279}\x{827A}\x{827B}\x{827C}\x{827D}\x{827E}' - . '\x{827F}\x{8280}\x{8281}\x{8282}\x{8283}\x{8284}\x{8285}\x{8286}\x{8287}' - . '\x{8288}\x{8289}\x{828A}\x{828B}\x{828D}\x{828E}\x{828F}\x{8290}\x{8291}' - . '\x{8292}\x{8293}\x{8294}\x{8295}\x{8296}\x{8297}\x{8298}\x{8299}\x{829A}' - . '\x{829B}\x{829C}\x{829D}\x{829E}\x{829F}\x{82A0}\x{82A1}\x{82A2}\x{82A3}' - . '\x{82A4}\x{82A5}\x{82A6}\x{82A7}\x{82A8}\x{82A9}\x{82AA}\x{82AB}\x{82AC}' - . '\x{82AD}\x{82AE}\x{82AF}\x{82B0}\x{82B1}\x{82B3}\x{82B4}\x{82B5}\x{82B6}' - . '\x{82B7}\x{82B8}\x{82B9}\x{82BA}\x{82BB}\x{82BC}\x{82BD}\x{82BE}\x{82BF}' - . '\x{82C0}\x{82C1}\x{82C2}\x{82C3}\x{82C4}\x{82C5}\x{82C6}\x{82C7}\x{82C8}' - . '\x{82C9}\x{82CA}\x{82CB}\x{82CC}\x{82CD}\x{82CE}\x{82CF}\x{82D0}\x{82D1}' - . '\x{82D2}\x{82D3}\x{82D4}\x{82D5}\x{82D6}\x{82D7}\x{82D8}\x{82D9}\x{82DA}' - . '\x{82DB}\x{82DC}\x{82DD}\x{82DE}\x{82DF}\x{82E0}\x{82E1}\x{82E3}\x{82E4}' - . '\x{82E5}\x{82E6}\x{82E7}\x{82E8}\x{82E9}\x{82EA}\x{82EB}\x{82EC}\x{82ED}' - . '\x{82EE}\x{82EF}\x{82F0}\x{82F1}\x{82F2}\x{82F3}\x{82F4}\x{82F5}\x{82F6}' - . '\x{82F7}\x{82F8}\x{82F9}\x{82FA}\x{82FB}\x{82FD}\x{82FE}\x{82FF}\x{8300}' - . '\x{8301}\x{8302}\x{8303}\x{8304}\x{8305}\x{8306}\x{8307}\x{8308}\x{8309}' - . '\x{830B}\x{830C}\x{830D}\x{830E}\x{830F}\x{8311}\x{8312}\x{8313}\x{8314}' - . '\x{8315}\x{8316}\x{8317}\x{8318}\x{8319}\x{831A}\x{831B}\x{831C}\x{831D}' - . '\x{831E}\x{831F}\x{8320}\x{8321}\x{8322}\x{8323}\x{8324}\x{8325}\x{8326}' - . '\x{8327}\x{8328}\x{8329}\x{832A}\x{832B}\x{832C}\x{832D}\x{832E}\x{832F}' - . '\x{8331}\x{8332}\x{8333}\x{8334}\x{8335}\x{8336}\x{8337}\x{8338}\x{8339}' - . '\x{833A}\x{833B}\x{833C}\x{833D}\x{833E}\x{833F}\x{8340}\x{8341}\x{8342}' - . '\x{8343}\x{8344}\x{8345}\x{8346}\x{8347}\x{8348}\x{8349}\x{834A}\x{834B}' - . '\x{834C}\x{834D}\x{834E}\x{834F}\x{8350}\x{8351}\x{8352}\x{8353}\x{8354}' - . '\x{8356}\x{8357}\x{8358}\x{8359}\x{835A}\x{835B}\x{835C}\x{835D}\x{835E}' - . '\x{835F}\x{8360}\x{8361}\x{8362}\x{8363}\x{8364}\x{8365}\x{8366}\x{8367}' - . '\x{8368}\x{8369}\x{836A}\x{836B}\x{836C}\x{836D}\x{836E}\x{836F}\x{8370}' - . '\x{8371}\x{8372}\x{8373}\x{8374}\x{8375}\x{8376}\x{8377}\x{8378}\x{8379}' - . '\x{837A}\x{837B}\x{837C}\x{837D}\x{837E}\x{837F}\x{8380}\x{8381}\x{8382}' - . '\x{8383}\x{8384}\x{8385}\x{8386}\x{8387}\x{8388}\x{8389}\x{838A}\x{838B}' - . '\x{838C}\x{838D}\x{838E}\x{838F}\x{8390}\x{8391}\x{8392}\x{8393}\x{8394}' - . '\x{8395}\x{8396}\x{8397}\x{8398}\x{8399}\x{839A}\x{839B}\x{839C}\x{839D}' - . '\x{839E}\x{83A0}\x{83A1}\x{83A2}\x{83A3}\x{83A4}\x{83A5}\x{83A6}\x{83A7}' - . '\x{83A8}\x{83A9}\x{83AA}\x{83AB}\x{83AC}\x{83AD}\x{83AE}\x{83AF}\x{83B0}' - . '\x{83B1}\x{83B2}\x{83B3}\x{83B4}\x{83B6}\x{83B7}\x{83B8}\x{83B9}\x{83BA}' - . '\x{83BB}\x{83BC}\x{83BD}\x{83BF}\x{83C0}\x{83C1}\x{83C2}\x{83C3}\x{83C4}' - . '\x{83C5}\x{83C6}\x{83C7}\x{83C8}\x{83C9}\x{83CA}\x{83CB}\x{83CC}\x{83CD}' - . '\x{83CE}\x{83CF}\x{83D0}\x{83D1}\x{83D2}\x{83D3}\x{83D4}\x{83D5}\x{83D6}' - . '\x{83D7}\x{83D8}\x{83D9}\x{83DA}\x{83DB}\x{83DC}\x{83DD}\x{83DE}\x{83DF}' - . '\x{83E0}\x{83E1}\x{83E2}\x{83E3}\x{83E4}\x{83E5}\x{83E7}\x{83E8}\x{83E9}' - . '\x{83EA}\x{83EB}\x{83EC}\x{83EE}\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F3}' - . '\x{83F4}\x{83F5}\x{83F6}\x{83F7}\x{83F8}\x{83F9}\x{83FA}\x{83FB}\x{83FC}' - . '\x{83FD}\x{83FE}\x{83FF}\x{8400}\x{8401}\x{8402}\x{8403}\x{8404}\x{8405}' - . '\x{8406}\x{8407}\x{8408}\x{8409}\x{840A}\x{840B}\x{840C}\x{840D}\x{840E}' - . '\x{840F}\x{8410}\x{8411}\x{8412}\x{8413}\x{8415}\x{8418}\x{8419}\x{841A}' - . '\x{841B}\x{841C}\x{841D}\x{841E}\x{8421}\x{8422}\x{8423}\x{8424}\x{8425}' - . '\x{8426}\x{8427}\x{8428}\x{8429}\x{842A}\x{842B}\x{842C}\x{842D}\x{842E}' - . '\x{842F}\x{8430}\x{8431}\x{8432}\x{8433}\x{8434}\x{8435}\x{8436}\x{8437}' - . '\x{8438}\x{8439}\x{843A}\x{843B}\x{843C}\x{843D}\x{843E}\x{843F}\x{8440}' - . '\x{8441}\x{8442}\x{8443}\x{8444}\x{8445}\x{8446}\x{8447}\x{8448}\x{8449}' - . '\x{844A}\x{844B}\x{844C}\x{844D}\x{844E}\x{844F}\x{8450}\x{8451}\x{8452}' - . '\x{8453}\x{8454}\x{8455}\x{8456}\x{8457}\x{8459}\x{845A}\x{845B}\x{845C}' - . '\x{845D}\x{845E}\x{845F}\x{8460}\x{8461}\x{8462}\x{8463}\x{8464}\x{8465}' - . '\x{8466}\x{8467}\x{8468}\x{8469}\x{846A}\x{846B}\x{846C}\x{846D}\x{846E}' - . '\x{846F}\x{8470}\x{8471}\x{8472}\x{8473}\x{8474}\x{8475}\x{8476}\x{8477}' - . '\x{8478}\x{8479}\x{847A}\x{847B}\x{847C}\x{847D}\x{847E}\x{847F}\x{8480}' - . '\x{8481}\x{8482}\x{8484}\x{8485}\x{8486}\x{8487}\x{8488}\x{8489}\x{848A}' - . '\x{848B}\x{848C}\x{848D}\x{848E}\x{848F}\x{8490}\x{8491}\x{8492}\x{8493}' - . '\x{8494}\x{8496}\x{8497}\x{8498}\x{8499}\x{849A}\x{849B}\x{849C}\x{849D}' - . '\x{849E}\x{849F}\x{84A0}\x{84A1}\x{84A2}\x{84A3}\x{84A4}\x{84A5}\x{84A6}' - . '\x{84A7}\x{84A8}\x{84A9}\x{84AA}\x{84AB}\x{84AC}\x{84AE}\x{84AF}\x{84B0}' - . '\x{84B1}\x{84B2}\x{84B3}\x{84B4}\x{84B5}\x{84B6}\x{84B8}\x{84B9}\x{84BA}' - . '\x{84BB}\x{84BC}\x{84BD}\x{84BE}\x{84BF}\x{84C0}\x{84C1}\x{84C2}\x{84C4}' - . '\x{84C5}\x{84C6}\x{84C7}\x{84C8}\x{84C9}\x{84CA}\x{84CB}\x{84CC}\x{84CD}' - . '\x{84CE}\x{84CF}\x{84D0}\x{84D1}\x{84D2}\x{84D3}\x{84D4}\x{84D5}\x{84D6}' - . '\x{84D7}\x{84D8}\x{84D9}\x{84DB}\x{84DC}\x{84DD}\x{84DE}\x{84DF}\x{84E0}' - . '\x{84E1}\x{84E2}\x{84E3}\x{84E4}\x{84E5}\x{84E6}\x{84E7}\x{84E8}\x{84E9}' - . '\x{84EA}\x{84EB}\x{84EC}\x{84EE}\x{84EF}\x{84F0}\x{84F1}\x{84F2}\x{84F3}' - . '\x{84F4}\x{84F5}\x{84F6}\x{84F7}\x{84F8}\x{84F9}\x{84FA}\x{84FB}\x{84FC}' - . '\x{84FD}\x{84FE}\x{84FF}\x{8500}\x{8501}\x{8502}\x{8503}\x{8504}\x{8506}' - . '\x{8507}\x{8508}\x{8509}\x{850A}\x{850B}\x{850C}\x{850D}\x{850E}\x{850F}' - . '\x{8511}\x{8512}\x{8513}\x{8514}\x{8515}\x{8516}\x{8517}\x{8518}\x{8519}' - . '\x{851A}\x{851B}\x{851C}\x{851D}\x{851E}\x{851F}\x{8520}\x{8521}\x{8522}' - . '\x{8523}\x{8524}\x{8525}\x{8526}\x{8527}\x{8528}\x{8529}\x{852A}\x{852B}' - . '\x{852C}\x{852D}\x{852E}\x{852F}\x{8530}\x{8531}\x{8534}\x{8535}\x{8536}' - . '\x{8537}\x{8538}\x{8539}\x{853A}\x{853B}\x{853C}\x{853D}\x{853E}\x{853F}' - . '\x{8540}\x{8541}\x{8542}\x{8543}\x{8544}\x{8545}\x{8546}\x{8547}\x{8548}' - . '\x{8549}\x{854A}\x{854B}\x{854D}\x{854E}\x{854F}\x{8551}\x{8552}\x{8553}' - . '\x{8554}\x{8555}\x{8556}\x{8557}\x{8558}\x{8559}\x{855A}\x{855B}\x{855C}' - . '\x{855D}\x{855E}\x{855F}\x{8560}\x{8561}\x{8562}\x{8563}\x{8564}\x{8565}' - . '\x{8566}\x{8567}\x{8568}\x{8569}\x{856A}\x{856B}\x{856C}\x{856D}\x{856E}' - . '\x{856F}\x{8570}\x{8571}\x{8572}\x{8573}\x{8574}\x{8575}\x{8576}\x{8577}' - . '\x{8578}\x{8579}\x{857A}\x{857B}\x{857C}\x{857D}\x{857E}\x{8580}\x{8581}' - . '\x{8582}\x{8583}\x{8584}\x{8585}\x{8586}\x{8587}\x{8588}\x{8589}\x{858A}' - . '\x{858B}\x{858C}\x{858D}\x{858E}\x{858F}\x{8590}\x{8591}\x{8592}\x{8594}' - . '\x{8595}\x{8596}\x{8598}\x{8599}\x{859A}\x{859B}\x{859C}\x{859D}\x{859E}' - . '\x{859F}\x{85A0}\x{85A1}\x{85A2}\x{85A3}\x{85A4}\x{85A5}\x{85A6}\x{85A7}' - . '\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AD}\x{85AE}\x{85AF}\x{85B0}' - . '\x{85B1}\x{85B3}\x{85B4}\x{85B5}\x{85B6}\x{85B7}\x{85B8}\x{85B9}\x{85BA}' - . '\x{85BC}\x{85BD}\x{85BE}\x{85BF}\x{85C0}\x{85C1}\x{85C2}\x{85C3}\x{85C4}' - . '\x{85C5}\x{85C6}\x{85C7}\x{85C8}\x{85C9}\x{85CA}\x{85CB}\x{85CD}\x{85CE}' - . '\x{85CF}\x{85D0}\x{85D1}\x{85D2}\x{85D3}\x{85D4}\x{85D5}\x{85D6}\x{85D7}' - . '\x{85D8}\x{85D9}\x{85DA}\x{85DB}\x{85DC}\x{85DD}\x{85DE}\x{85DF}\x{85E0}' - . '\x{85E1}\x{85E2}\x{85E3}\x{85E4}\x{85E5}\x{85E6}\x{85E7}\x{85E8}\x{85E9}' - . '\x{85EA}\x{85EB}\x{85EC}\x{85ED}\x{85EF}\x{85F0}\x{85F1}\x{85F2}\x{85F4}' - . '\x{85F5}\x{85F6}\x{85F7}\x{85F8}\x{85F9}\x{85FA}\x{85FB}\x{85FD}\x{85FE}' - . '\x{85FF}\x{8600}\x{8601}\x{8602}\x{8604}\x{8605}\x{8606}\x{8607}\x{8608}' - . '\x{8609}\x{860A}\x{860B}\x{860C}\x{860F}\x{8611}\x{8612}\x{8613}\x{8614}' - . '\x{8616}\x{8617}\x{8618}\x{8619}\x{861A}\x{861B}\x{861C}\x{861E}\x{861F}' - . '\x{8620}\x{8621}\x{8622}\x{8623}\x{8624}\x{8625}\x{8626}\x{8627}\x{8628}' - . '\x{8629}\x{862A}\x{862B}\x{862C}\x{862D}\x{862E}\x{862F}\x{8630}\x{8631}' - . '\x{8632}\x{8633}\x{8634}\x{8635}\x{8636}\x{8638}\x{8639}\x{863A}\x{863B}' - . '\x{863C}\x{863D}\x{863E}\x{863F}\x{8640}\x{8641}\x{8642}\x{8643}\x{8644}' - . '\x{8645}\x{8646}\x{8647}\x{8648}\x{8649}\x{864A}\x{864B}\x{864C}\x{864D}' - . '\x{864E}\x{864F}\x{8650}\x{8651}\x{8652}\x{8653}\x{8654}\x{8655}\x{8656}' - . '\x{8658}\x{8659}\x{865A}\x{865B}\x{865C}\x{865D}\x{865E}\x{865F}\x{8660}' - . '\x{8661}\x{8662}\x{8663}\x{8664}\x{8665}\x{8666}\x{8667}\x{8668}\x{8669}' - . '\x{866A}\x{866B}\x{866C}\x{866D}\x{866E}\x{866F}\x{8670}\x{8671}\x{8672}' - . '\x{8673}\x{8674}\x{8676}\x{8677}\x{8678}\x{8679}\x{867A}\x{867B}\x{867C}' - . '\x{867D}\x{867E}\x{867F}\x{8680}\x{8681}\x{8682}\x{8683}\x{8684}\x{8685}' - . '\x{8686}\x{8687}\x{8688}\x{868A}\x{868B}\x{868C}\x{868D}\x{868E}\x{868F}' - . '\x{8690}\x{8691}\x{8693}\x{8694}\x{8695}\x{8696}\x{8697}\x{8698}\x{8699}' - . '\x{869A}\x{869B}\x{869C}\x{869D}\x{869E}\x{869F}\x{86A1}\x{86A2}\x{86A3}' - . '\x{86A4}\x{86A5}\x{86A7}\x{86A8}\x{86A9}\x{86AA}\x{86AB}\x{86AC}\x{86AD}' - . '\x{86AE}\x{86AF}\x{86B0}\x{86B1}\x{86B2}\x{86B3}\x{86B4}\x{86B5}\x{86B6}' - . '\x{86B7}\x{86B8}\x{86B9}\x{86BA}\x{86BB}\x{86BC}\x{86BD}\x{86BE}\x{86BF}' - . '\x{86C0}\x{86C1}\x{86C2}\x{86C3}\x{86C4}\x{86C5}\x{86C6}\x{86C7}\x{86C8}' - . '\x{86C9}\x{86CA}\x{86CB}\x{86CC}\x{86CE}\x{86CF}\x{86D0}\x{86D1}\x{86D2}' - . '\x{86D3}\x{86D4}\x{86D6}\x{86D7}\x{86D8}\x{86D9}\x{86DA}\x{86DB}\x{86DC}' - . '\x{86DD}\x{86DE}\x{86DF}\x{86E1}\x{86E2}\x{86E3}\x{86E4}\x{86E5}\x{86E6}' - . '\x{86E8}\x{86E9}\x{86EA}\x{86EB}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F0}' - . '\x{86F1}\x{86F2}\x{86F3}\x{86F4}\x{86F5}\x{86F6}\x{86F7}\x{86F8}\x{86F9}' - . '\x{86FA}\x{86FB}\x{86FC}\x{86FE}\x{86FF}\x{8700}\x{8701}\x{8702}\x{8703}' - . '\x{8704}\x{8705}\x{8706}\x{8707}\x{8708}\x{8709}\x{870A}\x{870B}\x{870C}' - . '\x{870D}\x{870E}\x{870F}\x{8710}\x{8711}\x{8712}\x{8713}\x{8714}\x{8715}' - . '\x{8716}\x{8717}\x{8718}\x{8719}\x{871A}\x{871B}\x{871C}\x{871E}\x{871F}' - . '\x{8720}\x{8721}\x{8722}\x{8723}\x{8724}\x{8725}\x{8726}\x{8727}\x{8728}' - . '\x{8729}\x{872A}\x{872B}\x{872C}\x{872D}\x{872E}\x{8730}\x{8731}\x{8732}' - . '\x{8733}\x{8734}\x{8735}\x{8736}\x{8737}\x{8738}\x{8739}\x{873A}\x{873B}' - . '\x{873C}\x{873E}\x{873F}\x{8740}\x{8741}\x{8742}\x{8743}\x{8744}\x{8746}' - . '\x{8747}\x{8748}\x{8749}\x{874A}\x{874C}\x{874D}\x{874E}\x{874F}\x{8750}' - . '\x{8751}\x{8752}\x{8753}\x{8754}\x{8755}\x{8756}\x{8757}\x{8758}\x{8759}' - . '\x{875A}\x{875B}\x{875C}\x{875D}\x{875E}\x{875F}\x{8760}\x{8761}\x{8762}' - . '\x{8763}\x{8764}\x{8765}\x{8766}\x{8767}\x{8768}\x{8769}\x{876A}\x{876B}' - . '\x{876C}\x{876D}\x{876E}\x{876F}\x{8770}\x{8772}\x{8773}\x{8774}\x{8775}' - . '\x{8776}\x{8777}\x{8778}\x{8779}\x{877A}\x{877B}\x{877C}\x{877D}\x{877E}' - . '\x{8780}\x{8781}\x{8782}\x{8783}\x{8784}\x{8785}\x{8786}\x{8787}\x{8788}' - . '\x{8789}\x{878A}\x{878B}\x{878C}\x{878D}\x{878F}\x{8790}\x{8791}\x{8792}' - . '\x{8793}\x{8794}\x{8795}\x{8796}\x{8797}\x{8798}\x{879A}\x{879B}\x{879C}' - . '\x{879D}\x{879E}\x{879F}\x{87A0}\x{87A1}\x{87A2}\x{87A3}\x{87A4}\x{87A5}' - . '\x{87A6}\x{87A7}\x{87A8}\x{87A9}\x{87AA}\x{87AB}\x{87AC}\x{87AD}\x{87AE}' - . '\x{87AF}\x{87B0}\x{87B1}\x{87B2}\x{87B3}\x{87B4}\x{87B5}\x{87B6}\x{87B7}' - . '\x{87B8}\x{87B9}\x{87BA}\x{87BB}\x{87BC}\x{87BD}\x{87BE}\x{87BF}\x{87C0}' - . '\x{87C1}\x{87C2}\x{87C3}\x{87C4}\x{87C5}\x{87C6}\x{87C7}\x{87C8}\x{87C9}' - . '\x{87CA}\x{87CB}\x{87CC}\x{87CD}\x{87CE}\x{87CF}\x{87D0}\x{87D1}\x{87D2}' - . '\x{87D3}\x{87D4}\x{87D5}\x{87D6}\x{87D7}\x{87D8}\x{87D9}\x{87DB}\x{87DC}' - . '\x{87DD}\x{87DE}\x{87DF}\x{87E0}\x{87E1}\x{87E2}\x{87E3}\x{87E4}\x{87E5}' - . '\x{87E6}\x{87E7}\x{87E8}\x{87E9}\x{87EA}\x{87EB}\x{87EC}\x{87ED}\x{87EE}' - . '\x{87EF}\x{87F1}\x{87F2}\x{87F3}\x{87F4}\x{87F5}\x{87F6}\x{87F7}\x{87F8}' - . '\x{87F9}\x{87FA}\x{87FB}\x{87FC}\x{87FD}\x{87FE}\x{87FF}\x{8800}\x{8801}' - . '\x{8802}\x{8803}\x{8804}\x{8805}\x{8806}\x{8808}\x{8809}\x{880A}\x{880B}' - . '\x{880C}\x{880D}\x{880E}\x{880F}\x{8810}\x{8811}\x{8813}\x{8814}\x{8815}' - . '\x{8816}\x{8817}\x{8818}\x{8819}\x{881A}\x{881B}\x{881C}\x{881D}\x{881E}' - . '\x{881F}\x{8820}\x{8821}\x{8822}\x{8823}\x{8824}\x{8825}\x{8826}\x{8827}' - . '\x{8828}\x{8829}\x{882A}\x{882B}\x{882C}\x{882E}\x{882F}\x{8830}\x{8831}' - . '\x{8832}\x{8833}\x{8834}\x{8835}\x{8836}\x{8837}\x{8838}\x{8839}\x{883B}' - . '\x{883C}\x{883D}\x{883E}\x{883F}\x{8840}\x{8841}\x{8842}\x{8843}\x{8844}' - . '\x{8845}\x{8846}\x{8848}\x{8849}\x{884A}\x{884B}\x{884C}\x{884D}\x{884E}' - . '\x{884F}\x{8850}\x{8851}\x{8852}\x{8853}\x{8854}\x{8855}\x{8856}\x{8857}' - . '\x{8859}\x{885A}\x{885B}\x{885D}\x{885E}\x{8860}\x{8861}\x{8862}\x{8863}' - . '\x{8864}\x{8865}\x{8866}\x{8867}\x{8868}\x{8869}\x{886A}\x{886B}\x{886C}' - . '\x{886D}\x{886E}\x{886F}\x{8870}\x{8871}\x{8872}\x{8873}\x{8874}\x{8875}' - . '\x{8876}\x{8877}\x{8878}\x{8879}\x{887B}\x{887C}\x{887D}\x{887E}\x{887F}' - . '\x{8880}\x{8881}\x{8882}\x{8883}\x{8884}\x{8885}\x{8886}\x{8887}\x{8888}' - . '\x{8889}\x{888A}\x{888B}\x{888C}\x{888D}\x{888E}\x{888F}\x{8890}\x{8891}' - . '\x{8892}\x{8893}\x{8894}\x{8895}\x{8896}\x{8897}\x{8898}\x{8899}\x{889A}' - . '\x{889B}\x{889C}\x{889D}\x{889E}\x{889F}\x{88A0}\x{88A1}\x{88A2}\x{88A3}' - . '\x{88A4}\x{88A5}\x{88A6}\x{88A7}\x{88A8}\x{88A9}\x{88AA}\x{88AB}\x{88AC}' - . '\x{88AD}\x{88AE}\x{88AF}\x{88B0}\x{88B1}\x{88B2}\x{88B3}\x{88B4}\x{88B6}' - . '\x{88B7}\x{88B8}\x{88B9}\x{88BA}\x{88BB}\x{88BC}\x{88BD}\x{88BE}\x{88BF}' - . '\x{88C0}\x{88C1}\x{88C2}\x{88C3}\x{88C4}\x{88C5}\x{88C6}\x{88C7}\x{88C8}' - . '\x{88C9}\x{88CA}\x{88CB}\x{88CC}\x{88CD}\x{88CE}\x{88CF}\x{88D0}\x{88D1}' - . '\x{88D2}\x{88D3}\x{88D4}\x{88D5}\x{88D6}\x{88D7}\x{88D8}\x{88D9}\x{88DA}' - . '\x{88DB}\x{88DC}\x{88DD}\x{88DE}\x{88DF}\x{88E0}\x{88E1}\x{88E2}\x{88E3}' - . '\x{88E4}\x{88E5}\x{88E7}\x{88E8}\x{88EA}\x{88EB}\x{88EC}\x{88EE}\x{88EF}' - . '\x{88F0}\x{88F1}\x{88F2}\x{88F3}\x{88F4}\x{88F5}\x{88F6}\x{88F7}\x{88F8}' - . '\x{88F9}\x{88FA}\x{88FB}\x{88FC}\x{88FD}\x{88FE}\x{88FF}\x{8900}\x{8901}' - . '\x{8902}\x{8904}\x{8905}\x{8906}\x{8907}\x{8908}\x{8909}\x{890A}\x{890B}' - . '\x{890C}\x{890D}\x{890E}\x{8910}\x{8911}\x{8912}\x{8913}\x{8914}\x{8915}' - . '\x{8916}\x{8917}\x{8918}\x{8919}\x{891A}\x{891B}\x{891C}\x{891D}\x{891E}' - . '\x{891F}\x{8920}\x{8921}\x{8922}\x{8923}\x{8925}\x{8926}\x{8927}\x{8928}' - . '\x{8929}\x{892A}\x{892B}\x{892C}\x{892D}\x{892E}\x{892F}\x{8930}\x{8931}' - . '\x{8932}\x{8933}\x{8934}\x{8935}\x{8936}\x{8937}\x{8938}\x{8939}\x{893A}' - . '\x{893B}\x{893C}\x{893D}\x{893E}\x{893F}\x{8940}\x{8941}\x{8942}\x{8943}' - . '\x{8944}\x{8945}\x{8946}\x{8947}\x{8948}\x{8949}\x{894A}\x{894B}\x{894C}' - . '\x{894E}\x{894F}\x{8950}\x{8951}\x{8952}\x{8953}\x{8954}\x{8955}\x{8956}' - . '\x{8957}\x{8958}\x{8959}\x{895A}\x{895B}\x{895C}\x{895D}\x{895E}\x{895F}' - . '\x{8960}\x{8961}\x{8962}\x{8963}\x{8964}\x{8966}\x{8967}\x{8968}\x{8969}' - . '\x{896A}\x{896B}\x{896C}\x{896D}\x{896E}\x{896F}\x{8970}\x{8971}\x{8972}' - . '\x{8973}\x{8974}\x{8976}\x{8977}\x{8978}\x{8979}\x{897A}\x{897B}\x{897C}' - . '\x{897E}\x{897F}\x{8980}\x{8981}\x{8982}\x{8983}\x{8984}\x{8985}\x{8986}' - . '\x{8987}\x{8988}\x{8989}\x{898A}\x{898B}\x{898C}\x{898E}\x{898F}\x{8991}' - . '\x{8992}\x{8993}\x{8995}\x{8996}\x{8997}\x{8998}\x{899A}\x{899B}\x{899C}' - . '\x{899D}\x{899E}\x{899F}\x{89A0}\x{89A1}\x{89A2}\x{89A3}\x{89A4}\x{89A5}' - . '\x{89A6}\x{89A7}\x{89A8}\x{89AA}\x{89AB}\x{89AC}\x{89AD}\x{89AE}\x{89AF}' - . '\x{89B1}\x{89B2}\x{89B3}\x{89B5}\x{89B6}\x{89B7}\x{89B8}\x{89B9}\x{89BA}' - . '\x{89BD}\x{89BE}\x{89BF}\x{89C0}\x{89C1}\x{89C2}\x{89C3}\x{89C4}\x{89C5}' - . '\x{89C6}\x{89C7}\x{89C8}\x{89C9}\x{89CA}\x{89CB}\x{89CC}\x{89CD}\x{89CE}' - . '\x{89CF}\x{89D0}\x{89D1}\x{89D2}\x{89D3}\x{89D4}\x{89D5}\x{89D6}\x{89D7}' - . '\x{89D8}\x{89D9}\x{89DA}\x{89DB}\x{89DC}\x{89DD}\x{89DE}\x{89DF}\x{89E0}' - . '\x{89E1}\x{89E2}\x{89E3}\x{89E4}\x{89E5}\x{89E6}\x{89E7}\x{89E8}\x{89E9}' - . '\x{89EA}\x{89EB}\x{89EC}\x{89ED}\x{89EF}\x{89F0}\x{89F1}\x{89F2}\x{89F3}' - . '\x{89F4}\x{89F6}\x{89F7}\x{89F8}\x{89FA}\x{89FB}\x{89FC}\x{89FE}\x{89FF}' - . '\x{8A00}\x{8A01}\x{8A02}\x{8A03}\x{8A04}\x{8A07}\x{8A08}\x{8A09}\x{8A0A}' - . '\x{8A0B}\x{8A0C}\x{8A0D}\x{8A0E}\x{8A0F}\x{8A10}\x{8A11}\x{8A12}\x{8A13}' - . '\x{8A15}\x{8A16}\x{8A17}\x{8A18}\x{8A1A}\x{8A1B}\x{8A1C}\x{8A1D}\x{8A1E}' - . '\x{8A1F}\x{8A22}\x{8A23}\x{8A24}\x{8A25}\x{8A26}\x{8A27}\x{8A28}\x{8A29}' - . '\x{8A2A}\x{8A2C}\x{8A2D}\x{8A2E}\x{8A2F}\x{8A30}\x{8A31}\x{8A32}\x{8A34}' - . '\x{8A35}\x{8A36}\x{8A37}\x{8A38}\x{8A39}\x{8A3A}\x{8A3B}\x{8A3C}\x{8A3E}' - . '\x{8A3F}\x{8A40}\x{8A41}\x{8A42}\x{8A43}\x{8A44}\x{8A45}\x{8A46}\x{8A47}' - . '\x{8A48}\x{8A49}\x{8A4A}\x{8A4C}\x{8A4D}\x{8A4E}\x{8A4F}\x{8A50}\x{8A51}' - . '\x{8A52}\x{8A53}\x{8A54}\x{8A55}\x{8A56}\x{8A57}\x{8A58}\x{8A59}\x{8A5A}' - . '\x{8A5B}\x{8A5C}\x{8A5D}\x{8A5E}\x{8A5F}\x{8A60}\x{8A61}\x{8A62}\x{8A63}' - . '\x{8A65}\x{8A66}\x{8A67}\x{8A68}\x{8A69}\x{8A6A}\x{8A6B}\x{8A6C}\x{8A6D}' - . '\x{8A6E}\x{8A6F}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A74}\x{8A75}\x{8A76}' - . '\x{8A77}\x{8A79}\x{8A7A}\x{8A7B}\x{8A7C}\x{8A7E}\x{8A7F}\x{8A80}\x{8A81}' - . '\x{8A82}\x{8A83}\x{8A84}\x{8A85}\x{8A86}\x{8A87}\x{8A89}\x{8A8A}\x{8A8B}' - . '\x{8A8C}\x{8A8D}\x{8A8E}\x{8A8F}\x{8A90}\x{8A91}\x{8A92}\x{8A93}\x{8A94}' - . '\x{8A95}\x{8A96}\x{8A97}\x{8A98}\x{8A99}\x{8A9A}\x{8A9B}\x{8A9C}\x{8A9D}' - . '\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA2}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA7}' - . '\x{8AA8}\x{8AA9}\x{8AAA}\x{8AAB}\x{8AAC}\x{8AAE}\x{8AB0}\x{8AB1}\x{8AB2}' - . '\x{8AB3}\x{8AB4}\x{8AB5}\x{8AB6}\x{8AB8}\x{8AB9}\x{8ABA}\x{8ABB}\x{8ABC}' - . '\x{8ABD}\x{8ABE}\x{8ABF}\x{8AC0}\x{8AC1}\x{8AC2}\x{8AC3}\x{8AC4}\x{8AC5}' - . '\x{8AC6}\x{8AC7}\x{8AC8}\x{8AC9}\x{8ACA}\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACE}' - . '\x{8ACF}\x{8AD1}\x{8AD2}\x{8AD3}\x{8AD4}\x{8AD5}\x{8AD6}\x{8AD7}\x{8AD8}' - . '\x{8AD9}\x{8ADA}\x{8ADB}\x{8ADC}\x{8ADD}\x{8ADE}\x{8ADF}\x{8AE0}\x{8AE1}' - . '\x{8AE2}\x{8AE3}\x{8AE4}\x{8AE5}\x{8AE6}\x{8AE7}\x{8AE8}\x{8AE9}\x{8AEA}' - . '\x{8AEB}\x{8AED}\x{8AEE}\x{8AEF}\x{8AF0}\x{8AF1}\x{8AF2}\x{8AF3}\x{8AF4}' - . '\x{8AF5}\x{8AF6}\x{8AF7}\x{8AF8}\x{8AF9}\x{8AFA}\x{8AFB}\x{8AFC}\x{8AFD}' - . '\x{8AFE}\x{8AFF}\x{8B00}\x{8B01}\x{8B02}\x{8B03}\x{8B04}\x{8B05}\x{8B06}' - . '\x{8B07}\x{8B08}\x{8B09}\x{8B0A}\x{8B0B}\x{8B0D}\x{8B0E}\x{8B0F}\x{8B10}' - . '\x{8B11}\x{8B12}\x{8B13}\x{8B14}\x{8B15}\x{8B16}\x{8B17}\x{8B18}\x{8B19}' - . '\x{8B1A}\x{8B1B}\x{8B1C}\x{8B1D}\x{8B1E}\x{8B1F}\x{8B20}\x{8B21}\x{8B22}' - . '\x{8B23}\x{8B24}\x{8B25}\x{8B26}\x{8B27}\x{8B28}\x{8B2A}\x{8B2B}\x{8B2C}' - . '\x{8B2D}\x{8B2E}\x{8B2F}\x{8B30}\x{8B31}\x{8B33}\x{8B34}\x{8B35}\x{8B36}' - . '\x{8B37}\x{8B39}\x{8B3A}\x{8B3B}\x{8B3C}\x{8B3D}\x{8B3E}\x{8B40}\x{8B41}' - . '\x{8B42}\x{8B43}\x{8B44}\x{8B45}\x{8B46}\x{8B47}\x{8B48}\x{8B49}\x{8B4A}' - . '\x{8B4B}\x{8B4C}\x{8B4D}\x{8B4E}\x{8B4F}\x{8B50}\x{8B51}\x{8B52}\x{8B53}' - . '\x{8B54}\x{8B55}\x{8B56}\x{8B57}\x{8B58}\x{8B59}\x{8B5A}\x{8B5B}\x{8B5C}' - . '\x{8B5D}\x{8B5E}\x{8B5F}\x{8B60}\x{8B63}\x{8B64}\x{8B65}\x{8B66}\x{8B67}' - . '\x{8B68}\x{8B6A}\x{8B6B}\x{8B6C}\x{8B6D}\x{8B6E}\x{8B6F}\x{8B70}\x{8B71}' - . '\x{8B73}\x{8B74}\x{8B76}\x{8B77}\x{8B78}\x{8B79}\x{8B7A}\x{8B7B}\x{8B7D}' - . '\x{8B7E}\x{8B7F}\x{8B80}\x{8B82}\x{8B83}\x{8B84}\x{8B85}\x{8B86}\x{8B88}' - . '\x{8B89}\x{8B8A}\x{8B8B}\x{8B8C}\x{8B8E}\x{8B90}\x{8B91}\x{8B92}\x{8B93}' - . '\x{8B94}\x{8B95}\x{8B96}\x{8B97}\x{8B98}\x{8B99}\x{8B9A}\x{8B9C}\x{8B9D}' - . '\x{8B9E}\x{8B9F}\x{8BA0}\x{8BA1}\x{8BA2}\x{8BA3}\x{8BA4}\x{8BA5}\x{8BA6}' - . '\x{8BA7}\x{8BA8}\x{8BA9}\x{8BAA}\x{8BAB}\x{8BAC}\x{8BAD}\x{8BAE}\x{8BAF}' - . '\x{8BB0}\x{8BB1}\x{8BB2}\x{8BB3}\x{8BB4}\x{8BB5}\x{8BB6}\x{8BB7}\x{8BB8}' - . '\x{8BB9}\x{8BBA}\x{8BBB}\x{8BBC}\x{8BBD}\x{8BBE}\x{8BBF}\x{8BC0}\x{8BC1}' - . '\x{8BC2}\x{8BC3}\x{8BC4}\x{8BC5}\x{8BC6}\x{8BC7}\x{8BC8}\x{8BC9}\x{8BCA}' - . '\x{8BCB}\x{8BCC}\x{8BCD}\x{8BCE}\x{8BCF}\x{8BD0}\x{8BD1}\x{8BD2}\x{8BD3}' - . '\x{8BD4}\x{8BD5}\x{8BD6}\x{8BD7}\x{8BD8}\x{8BD9}\x{8BDA}\x{8BDB}\x{8BDC}' - . '\x{8BDD}\x{8BDE}\x{8BDF}\x{8BE0}\x{8BE1}\x{8BE2}\x{8BE3}\x{8BE4}\x{8BE5}' - . '\x{8BE6}\x{8BE7}\x{8BE8}\x{8BE9}\x{8BEA}\x{8BEB}\x{8BEC}\x{8BED}\x{8BEE}' - . '\x{8BEF}\x{8BF0}\x{8BF1}\x{8BF2}\x{8BF3}\x{8BF4}\x{8BF5}\x{8BF6}\x{8BF7}' - . '\x{8BF8}\x{8BF9}\x{8BFA}\x{8BFB}\x{8BFC}\x{8BFD}\x{8BFE}\x{8BFF}\x{8C00}' - . '\x{8C01}\x{8C02}\x{8C03}\x{8C04}\x{8C05}\x{8C06}\x{8C07}\x{8C08}\x{8C09}' - . '\x{8C0A}\x{8C0B}\x{8C0C}\x{8C0D}\x{8C0E}\x{8C0F}\x{8C10}\x{8C11}\x{8C12}' - . '\x{8C13}\x{8C14}\x{8C15}\x{8C16}\x{8C17}\x{8C18}\x{8C19}\x{8C1A}\x{8C1B}' - . '\x{8C1C}\x{8C1D}\x{8C1E}\x{8C1F}\x{8C20}\x{8C21}\x{8C22}\x{8C23}\x{8C24}' - . '\x{8C25}\x{8C26}\x{8C27}\x{8C28}\x{8C29}\x{8C2A}\x{8C2B}\x{8C2C}\x{8C2D}' - . '\x{8C2E}\x{8C2F}\x{8C30}\x{8C31}\x{8C32}\x{8C33}\x{8C34}\x{8C35}\x{8C36}' - . '\x{8C37}\x{8C39}\x{8C3A}\x{8C3B}\x{8C3C}\x{8C3D}\x{8C3E}\x{8C3F}\x{8C41}' - . '\x{8C42}\x{8C43}\x{8C45}\x{8C46}\x{8C47}\x{8C48}\x{8C49}\x{8C4A}\x{8C4B}' - . '\x{8C4C}\x{8C4D}\x{8C4E}\x{8C4F}\x{8C50}\x{8C54}\x{8C55}\x{8C56}\x{8C57}' - . '\x{8C59}\x{8C5A}\x{8C5B}\x{8C5C}\x{8C5D}\x{8C5E}\x{8C5F}\x{8C60}\x{8C61}' - . '\x{8C62}\x{8C63}\x{8C64}\x{8C65}\x{8C66}\x{8C67}\x{8C68}\x{8C69}\x{8C6A}' - . '\x{8C6B}\x{8C6C}\x{8C6D}\x{8C6E}\x{8C6F}\x{8C70}\x{8C71}\x{8C72}\x{8C73}' - . '\x{8C75}\x{8C76}\x{8C77}\x{8C78}\x{8C79}\x{8C7A}\x{8C7B}\x{8C7D}\x{8C7E}' - . '\x{8C80}\x{8C81}\x{8C82}\x{8C84}\x{8C85}\x{8C86}\x{8C88}\x{8C89}\x{8C8A}' - . '\x{8C8C}\x{8C8D}\x{8C8F}\x{8C90}\x{8C91}\x{8C92}\x{8C93}\x{8C94}\x{8C95}' - . '\x{8C96}\x{8C97}\x{8C98}\x{8C99}\x{8C9A}\x{8C9C}\x{8C9D}\x{8C9E}\x{8C9F}' - . '\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA3}\x{8CA4}\x{8CA5}\x{8CA7}\x{8CA8}\x{8CA9}' - . '\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}\x{8CB1}\x{8CB2}' - . '\x{8CB3}\x{8CB4}\x{8CB5}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CB9}\x{8CBA}\x{8CBB}' - . '\x{8CBC}\x{8CBD}\x{8CBE}\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}' - . '\x{8CC5}\x{8CC6}\x{8CC7}\x{8CC8}\x{8CC9}\x{8CCA}\x{8CCC}\x{8CCE}\x{8CCF}' - . '\x{8CD0}\x{8CD1}\x{8CD2}\x{8CD3}\x{8CD4}\x{8CD5}\x{8CD7}\x{8CD9}\x{8CDA}' - . '\x{8CDB}\x{8CDC}\x{8CDD}\x{8CDE}\x{8CDF}\x{8CE0}\x{8CE1}\x{8CE2}\x{8CE3}' - . '\x{8CE4}\x{8CE5}\x{8CE6}\x{8CE7}\x{8CE8}\x{8CEA}\x{8CEB}\x{8CEC}\x{8CED}' - . '\x{8CEE}\x{8CEF}\x{8CF0}\x{8CF1}\x{8CF2}\x{8CF3}\x{8CF4}\x{8CF5}\x{8CF6}' - . '\x{8CF8}\x{8CF9}\x{8CFA}\x{8CFB}\x{8CFC}\x{8CFD}\x{8CFE}\x{8CFF}\x{8D00}' - . '\x{8D02}\x{8D03}\x{8D04}\x{8D05}\x{8D06}\x{8D07}\x{8D08}\x{8D09}\x{8D0A}' - . '\x{8D0B}\x{8D0C}\x{8D0D}\x{8D0E}\x{8D0F}\x{8D10}\x{8D13}\x{8D14}\x{8D15}' - . '\x{8D16}\x{8D17}\x{8D18}\x{8D19}\x{8D1A}\x{8D1B}\x{8D1C}\x{8D1D}\x{8D1E}' - . '\x{8D1F}\x{8D20}\x{8D21}\x{8D22}\x{8D23}\x{8D24}\x{8D25}\x{8D26}\x{8D27}' - . '\x{8D28}\x{8D29}\x{8D2A}\x{8D2B}\x{8D2C}\x{8D2D}\x{8D2E}\x{8D2F}\x{8D30}' - . '\x{8D31}\x{8D32}\x{8D33}\x{8D34}\x{8D35}\x{8D36}\x{8D37}\x{8D38}\x{8D39}' - . '\x{8D3A}\x{8D3B}\x{8D3C}\x{8D3D}\x{8D3E}\x{8D3F}\x{8D40}\x{8D41}\x{8D42}' - . '\x{8D43}\x{8D44}\x{8D45}\x{8D46}\x{8D47}\x{8D48}\x{8D49}\x{8D4A}\x{8D4B}' - . '\x{8D4C}\x{8D4D}\x{8D4E}\x{8D4F}\x{8D50}\x{8D51}\x{8D52}\x{8D53}\x{8D54}' - . '\x{8D55}\x{8D56}\x{8D57}\x{8D58}\x{8D59}\x{8D5A}\x{8D5B}\x{8D5C}\x{8D5D}' - . '\x{8D5E}\x{8D5F}\x{8D60}\x{8D61}\x{8D62}\x{8D63}\x{8D64}\x{8D65}\x{8D66}' - . '\x{8D67}\x{8D68}\x{8D69}\x{8D6A}\x{8D6B}\x{8D6C}\x{8D6D}\x{8D6E}\x{8D6F}' - . '\x{8D70}\x{8D71}\x{8D72}\x{8D73}\x{8D74}\x{8D75}\x{8D76}\x{8D77}\x{8D78}' - . '\x{8D79}\x{8D7A}\x{8D7B}\x{8D7D}\x{8D7E}\x{8D7F}\x{8D80}\x{8D81}\x{8D82}' - . '\x{8D83}\x{8D84}\x{8D85}\x{8D86}\x{8D87}\x{8D88}\x{8D89}\x{8D8A}\x{8D8B}' - . '\x{8D8C}\x{8D8D}\x{8D8E}\x{8D8F}\x{8D90}\x{8D91}\x{8D92}\x{8D93}\x{8D94}' - . '\x{8D95}\x{8D96}\x{8D97}\x{8D98}\x{8D99}\x{8D9A}\x{8D9B}\x{8D9C}\x{8D9D}' - . '\x{8D9E}\x{8D9F}\x{8DA0}\x{8DA1}\x{8DA2}\x{8DA3}\x{8DA4}\x{8DA5}\x{8DA7}' - . '\x{8DA8}\x{8DA9}\x{8DAA}\x{8DAB}\x{8DAC}\x{8DAD}\x{8DAE}\x{8DAF}\x{8DB0}' - . '\x{8DB1}\x{8DB2}\x{8DB3}\x{8DB4}\x{8DB5}\x{8DB6}\x{8DB7}\x{8DB8}\x{8DB9}' - . '\x{8DBA}\x{8DBB}\x{8DBC}\x{8DBD}\x{8DBE}\x{8DBF}\x{8DC1}\x{8DC2}\x{8DC3}' - . '\x{8DC4}\x{8DC5}\x{8DC6}\x{8DC7}\x{8DC8}\x{8DC9}\x{8DCA}\x{8DCB}\x{8DCC}' - . '\x{8DCD}\x{8DCE}\x{8DCF}\x{8DD0}\x{8DD1}\x{8DD2}\x{8DD3}\x{8DD4}\x{8DD5}' - . '\x{8DD6}\x{8DD7}\x{8DD8}\x{8DD9}\x{8DDA}\x{8DDB}\x{8DDC}\x{8DDD}\x{8DDE}' - . '\x{8DDF}\x{8DE0}\x{8DE1}\x{8DE2}\x{8DE3}\x{8DE4}\x{8DE6}\x{8DE7}\x{8DE8}' - . '\x{8DE9}\x{8DEA}\x{8DEB}\x{8DEC}\x{8DED}\x{8DEE}\x{8DEF}\x{8DF0}\x{8DF1}' - . '\x{8DF2}\x{8DF3}\x{8DF4}\x{8DF5}\x{8DF6}\x{8DF7}\x{8DF8}\x{8DF9}\x{8DFA}' - . '\x{8DFB}\x{8DFC}\x{8DFD}\x{8DFE}\x{8DFF}\x{8E00}\x{8E02}\x{8E03}\x{8E04}' - . '\x{8E05}\x{8E06}\x{8E07}\x{8E08}\x{8E09}\x{8E0A}\x{8E0C}\x{8E0D}\x{8E0E}' - . '\x{8E0F}\x{8E10}\x{8E11}\x{8E12}\x{8E13}\x{8E14}\x{8E15}\x{8E16}\x{8E17}' - . '\x{8E18}\x{8E19}\x{8E1A}\x{8E1B}\x{8E1C}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E20}' - . '\x{8E21}\x{8E22}\x{8E23}\x{8E24}\x{8E25}\x{8E26}\x{8E27}\x{8E28}\x{8E29}' - . '\x{8E2A}\x{8E2B}\x{8E2C}\x{8E2D}\x{8E2E}\x{8E2F}\x{8E30}\x{8E31}\x{8E33}' - . '\x{8E34}\x{8E35}\x{8E36}\x{8E37}\x{8E38}\x{8E39}\x{8E3A}\x{8E3B}\x{8E3C}' - . '\x{8E3D}\x{8E3E}\x{8E3F}\x{8E40}\x{8E41}\x{8E42}\x{8E43}\x{8E44}\x{8E45}' - . '\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4B}\x{8E4C}\x{8E4D}\x{8E4E}\x{8E50}' - . '\x{8E51}\x{8E52}\x{8E53}\x{8E54}\x{8E55}\x{8E56}\x{8E57}\x{8E58}\x{8E59}' - . '\x{8E5A}\x{8E5B}\x{8E5C}\x{8E5D}\x{8E5E}\x{8E5F}\x{8E60}\x{8E61}\x{8E62}' - . '\x{8E63}\x{8E64}\x{8E65}\x{8E66}\x{8E67}\x{8E68}\x{8E69}\x{8E6A}\x{8E6B}' - . '\x{8E6C}\x{8E6D}\x{8E6F}\x{8E70}\x{8E71}\x{8E72}\x{8E73}\x{8E74}\x{8E76}' - . '\x{8E78}\x{8E7A}\x{8E7B}\x{8E7C}\x{8E7D}\x{8E7E}\x{8E7F}\x{8E80}\x{8E81}' - . '\x{8E82}\x{8E83}\x{8E84}\x{8E85}\x{8E86}\x{8E87}\x{8E88}\x{8E89}\x{8E8A}' - . '\x{8E8B}\x{8E8C}\x{8E8D}\x{8E8E}\x{8E8F}\x{8E90}\x{8E91}\x{8E92}\x{8E93}' - . '\x{8E94}\x{8E95}\x{8E96}\x{8E97}\x{8E98}\x{8E9A}\x{8E9C}\x{8E9D}\x{8E9E}' - . '\x{8E9F}\x{8EA0}\x{8EA1}\x{8EA3}\x{8EA4}\x{8EA5}\x{8EA6}\x{8EA7}\x{8EA8}' - . '\x{8EA9}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAD}\x{8EAE}\x{8EAF}\x{8EB0}\x{8EB1}' - . '\x{8EB2}\x{8EB4}\x{8EB5}\x{8EB8}\x{8EB9}\x{8EBA}\x{8EBB}\x{8EBC}\x{8EBD}' - . '\x{8EBE}\x{8EBF}\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}\x{8EC6}\x{8EC7}\x{8EC8}' - . '\x{8EC9}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ECE}\x{8ECF}\x{8ED0}\x{8ED1}' - . '\x{8ED2}\x{8ED3}\x{8ED4}\x{8ED5}\x{8ED6}\x{8ED7}\x{8ED8}\x{8EDA}\x{8EDB}' - . '\x{8EDC}\x{8EDD}\x{8EDE}\x{8EDF}\x{8EE0}\x{8EE1}\x{8EE4}\x{8EE5}\x{8EE6}' - . '\x{8EE7}\x{8EE8}\x{8EE9}\x{8EEA}\x{8EEB}\x{8EEC}\x{8EED}\x{8EEE}\x{8EEF}' - . '\x{8EF1}\x{8EF2}\x{8EF3}\x{8EF4}\x{8EF5}\x{8EF6}\x{8EF7}\x{8EF8}\x{8EF9}' - . '\x{8EFA}\x{8EFB}\x{8EFC}\x{8EFD}\x{8EFE}\x{8EFF}\x{8F00}\x{8F01}\x{8F02}' - . '\x{8F03}\x{8F04}\x{8F05}\x{8F06}\x{8F07}\x{8F08}\x{8F09}\x{8F0A}\x{8F0B}' - . '\x{8F0D}\x{8F0E}\x{8F10}\x{8F11}\x{8F12}\x{8F13}\x{8F14}\x{8F15}\x{8F16}' - . '\x{8F17}\x{8F18}\x{8F1A}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1E}\x{8F1F}\x{8F20}' - . '\x{8F21}\x{8F22}\x{8F23}\x{8F24}\x{8F25}\x{8F26}\x{8F27}\x{8F28}\x{8F29}' - . '\x{8F2A}\x{8F2B}\x{8F2C}\x{8F2E}\x{8F2F}\x{8F30}\x{8F31}\x{8F32}\x{8F33}' - . '\x{8F34}\x{8F35}\x{8F36}\x{8F37}\x{8F38}\x{8F39}\x{8F3B}\x{8F3C}\x{8F3D}' - . '\x{8F3E}\x{8F3F}\x{8F40}\x{8F42}\x{8F43}\x{8F44}\x{8F45}\x{8F46}\x{8F47}' - . '\x{8F48}\x{8F49}\x{8F4A}\x{8F4B}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F4F}\x{8F50}' - . '\x{8F51}\x{8F52}\x{8F53}\x{8F54}\x{8F55}\x{8F56}\x{8F57}\x{8F58}\x{8F59}' - . '\x{8F5A}\x{8F5B}\x{8F5D}\x{8F5E}\x{8F5F}\x{8F60}\x{8F61}\x{8F62}\x{8F63}' - . '\x{8F64}\x{8F65}\x{8F66}\x{8F67}\x{8F68}\x{8F69}\x{8F6A}\x{8F6B}\x{8F6C}' - . '\x{8F6D}\x{8F6E}\x{8F6F}\x{8F70}\x{8F71}\x{8F72}\x{8F73}\x{8F74}\x{8F75}' - . '\x{8F76}\x{8F77}\x{8F78}\x{8F79}\x{8F7A}\x{8F7B}\x{8F7C}\x{8F7D}\x{8F7E}' - . '\x{8F7F}\x{8F80}\x{8F81}\x{8F82}\x{8F83}\x{8F84}\x{8F85}\x{8F86}\x{8F87}' - . '\x{8F88}\x{8F89}\x{8F8A}\x{8F8B}\x{8F8C}\x{8F8D}\x{8F8E}\x{8F8F}\x{8F90}' - . '\x{8F91}\x{8F92}\x{8F93}\x{8F94}\x{8F95}\x{8F96}\x{8F97}\x{8F98}\x{8F99}' - . '\x{8F9A}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA0}\x{8FA1}\x{8FA2}\x{8FA3}' - . '\x{8FA5}\x{8FA6}\x{8FA7}\x{8FA8}\x{8FA9}\x{8FAA}\x{8FAB}\x{8FAC}\x{8FAD}' - . '\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB4}\x{8FB5}\x{8FB6}\x{8FB7}' - . '\x{8FB8}\x{8FB9}\x{8FBB}\x{8FBC}\x{8FBD}\x{8FBE}\x{8FBF}\x{8FC0}\x{8FC1}' - . '\x{8FC2}\x{8FC4}\x{8FC5}\x{8FC6}\x{8FC7}\x{8FC8}\x{8FC9}\x{8FCB}\x{8FCC}' - . '\x{8FCD}\x{8FCE}\x{8FCF}\x{8FD0}\x{8FD1}\x{8FD2}\x{8FD3}\x{8FD4}\x{8FD5}' - . '\x{8FD6}\x{8FD7}\x{8FD8}\x{8FD9}\x{8FDA}\x{8FDB}\x{8FDC}\x{8FDD}\x{8FDE}' - . '\x{8FDF}\x{8FE0}\x{8FE1}\x{8FE2}\x{8FE3}\x{8FE4}\x{8FE5}\x{8FE6}\x{8FE8}' - . '\x{8FE9}\x{8FEA}\x{8FEB}\x{8FEC}\x{8FED}\x{8FEE}\x{8FEF}\x{8FF0}\x{8FF1}' - . '\x{8FF2}\x{8FF3}\x{8FF4}\x{8FF5}\x{8FF6}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}' - . '\x{8FFB}\x{8FFC}\x{8FFD}\x{8FFE}\x{8FFF}\x{9000}\x{9001}\x{9002}\x{9003}' - . '\x{9004}\x{9005}\x{9006}\x{9007}\x{9008}\x{9009}\x{900A}\x{900B}\x{900C}' - . '\x{900D}\x{900F}\x{9010}\x{9011}\x{9012}\x{9013}\x{9014}\x{9015}\x{9016}' - . '\x{9017}\x{9018}\x{9019}\x{901A}\x{901B}\x{901C}\x{901D}\x{901E}\x{901F}' - . '\x{9020}\x{9021}\x{9022}\x{9023}\x{9024}\x{9025}\x{9026}\x{9027}\x{9028}' - . '\x{9029}\x{902B}\x{902D}\x{902E}\x{902F}\x{9030}\x{9031}\x{9032}\x{9033}' - . '\x{9034}\x{9035}\x{9036}\x{9038}\x{903A}\x{903B}\x{903C}\x{903D}\x{903E}' - . '\x{903F}\x{9041}\x{9042}\x{9043}\x{9044}\x{9045}\x{9047}\x{9048}\x{9049}' - . '\x{904A}\x{904B}\x{904C}\x{904D}\x{904E}\x{904F}\x{9050}\x{9051}\x{9052}' - . '\x{9053}\x{9054}\x{9055}\x{9056}\x{9057}\x{9058}\x{9059}\x{905A}\x{905B}' - . '\x{905C}\x{905D}\x{905E}\x{905F}\x{9060}\x{9061}\x{9062}\x{9063}\x{9064}' - . '\x{9065}\x{9066}\x{9067}\x{9068}\x{9069}\x{906A}\x{906B}\x{906C}\x{906D}' - . '\x{906E}\x{906F}\x{9070}\x{9071}\x{9072}\x{9073}\x{9074}\x{9075}\x{9076}' - . '\x{9077}\x{9078}\x{9079}\x{907A}\x{907B}\x{907C}\x{907D}\x{907E}\x{907F}' - . '\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9085}\x{9086}\x{9087}\x{9088}' - . '\x{9089}\x{908A}\x{908B}\x{908C}\x{908D}\x{908E}\x{908F}\x{9090}\x{9091}' - . '\x{9092}\x{9093}\x{9094}\x{9095}\x{9096}\x{9097}\x{9098}\x{9099}\x{909A}' - . '\x{909B}\x{909C}\x{909D}\x{909E}\x{909F}\x{90A0}\x{90A1}\x{90A2}\x{90A3}' - . '\x{90A4}\x{90A5}\x{90A6}\x{90A7}\x{90A8}\x{90A9}\x{90AA}\x{90AC}\x{90AD}' - . '\x{90AE}\x{90AF}\x{90B0}\x{90B1}\x{90B2}\x{90B3}\x{90B4}\x{90B5}\x{90B6}' - . '\x{90B7}\x{90B8}\x{90B9}\x{90BA}\x{90BB}\x{90BC}\x{90BD}\x{90BE}\x{90BF}' - . '\x{90C0}\x{90C1}\x{90C2}\x{90C3}\x{90C4}\x{90C5}\x{90C6}\x{90C7}\x{90C8}' - . '\x{90C9}\x{90CA}\x{90CB}\x{90CE}\x{90CF}\x{90D0}\x{90D1}\x{90D3}\x{90D4}' - . '\x{90D5}\x{90D6}\x{90D7}\x{90D8}\x{90D9}\x{90DA}\x{90DB}\x{90DC}\x{90DD}' - . '\x{90DE}\x{90DF}\x{90E0}\x{90E1}\x{90E2}\x{90E3}\x{90E4}\x{90E5}\x{90E6}' - . '\x{90E7}\x{90E8}\x{90E9}\x{90EA}\x{90EB}\x{90EC}\x{90ED}\x{90EE}\x{90EF}' - . '\x{90F0}\x{90F1}\x{90F2}\x{90F3}\x{90F4}\x{90F5}\x{90F7}\x{90F8}\x{90F9}' - . '\x{90FA}\x{90FB}\x{90FC}\x{90FD}\x{90FE}\x{90FF}\x{9100}\x{9101}\x{9102}' - . '\x{9103}\x{9104}\x{9105}\x{9106}\x{9107}\x{9108}\x{9109}\x{910B}\x{910C}' - . '\x{910D}\x{910E}\x{910F}\x{9110}\x{9111}\x{9112}\x{9113}\x{9114}\x{9115}' - . '\x{9116}\x{9117}\x{9118}\x{9119}\x{911A}\x{911B}\x{911C}\x{911D}\x{911E}' - . '\x{911F}\x{9120}\x{9121}\x{9122}\x{9123}\x{9124}\x{9125}\x{9126}\x{9127}' - . '\x{9128}\x{9129}\x{912A}\x{912B}\x{912C}\x{912D}\x{912E}\x{912F}\x{9130}' - . '\x{9131}\x{9132}\x{9133}\x{9134}\x{9135}\x{9136}\x{9137}\x{9138}\x{9139}' - . '\x{913A}\x{913B}\x{913E}\x{913F}\x{9140}\x{9141}\x{9142}\x{9143}\x{9144}' - . '\x{9145}\x{9146}\x{9147}\x{9148}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}' - . '\x{914E}\x{914F}\x{9150}\x{9151}\x{9152}\x{9153}\x{9154}\x{9155}\x{9156}' - . '\x{9157}\x{9158}\x{915A}\x{915B}\x{915C}\x{915D}\x{915E}\x{915F}\x{9160}' - . '\x{9161}\x{9162}\x{9163}\x{9164}\x{9165}\x{9166}\x{9167}\x{9168}\x{9169}' - . '\x{916A}\x{916B}\x{916C}\x{916D}\x{916E}\x{916F}\x{9170}\x{9171}\x{9172}' - . '\x{9173}\x{9174}\x{9175}\x{9176}\x{9177}\x{9178}\x{9179}\x{917A}\x{917C}' - . '\x{917D}\x{917E}\x{917F}\x{9180}\x{9181}\x{9182}\x{9183}\x{9184}\x{9185}' - . '\x{9186}\x{9187}\x{9188}\x{9189}\x{918A}\x{918B}\x{918C}\x{918D}\x{918E}' - . '\x{918F}\x{9190}\x{9191}\x{9192}\x{9193}\x{9194}\x{9196}\x{9199}\x{919A}' - . '\x{919B}\x{919C}\x{919D}\x{919E}\x{919F}\x{91A0}\x{91A1}\x{91A2}\x{91A3}' - . '\x{91A5}\x{91A6}\x{91A7}\x{91A8}\x{91AA}\x{91AB}\x{91AC}\x{91AD}\x{91AE}' - . '\x{91AF}\x{91B0}\x{91B1}\x{91B2}\x{91B3}\x{91B4}\x{91B5}\x{91B6}\x{91B7}' - . '\x{91B9}\x{91BA}\x{91BB}\x{91BC}\x{91BD}\x{91BE}\x{91C0}\x{91C1}\x{91C2}' - . '\x{91C3}\x{91C5}\x{91C6}\x{91C7}\x{91C9}\x{91CA}\x{91CB}\x{91CC}\x{91CD}' - . '\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D2}\x{91D3}\x{91D4}\x{91D5}\x{91D7}' - . '\x{91D8}\x{91D9}\x{91DA}\x{91DB}\x{91DC}\x{91DD}\x{91DE}\x{91DF}\x{91E2}' - . '\x{91E3}\x{91E4}\x{91E5}\x{91E6}\x{91E7}\x{91E8}\x{91E9}\x{91EA}\x{91EB}' - . '\x{91EC}\x{91ED}\x{91EE}\x{91F0}\x{91F1}\x{91F2}\x{91F3}\x{91F4}\x{91F5}' - . '\x{91F7}\x{91F8}\x{91F9}\x{91FA}\x{91FB}\x{91FD}\x{91FE}\x{91FF}\x{9200}' - . '\x{9201}\x{9202}\x{9203}\x{9204}\x{9205}\x{9206}\x{9207}\x{9208}\x{9209}' - . '\x{920A}\x{920B}\x{920C}\x{920D}\x{920E}\x{920F}\x{9210}\x{9211}\x{9212}' - . '\x{9214}\x{9215}\x{9216}\x{9217}\x{9218}\x{9219}\x{921A}\x{921B}\x{921C}' - . '\x{921D}\x{921E}\x{9220}\x{9221}\x{9223}\x{9224}\x{9225}\x{9226}\x{9227}' - . '\x{9228}\x{9229}\x{922A}\x{922B}\x{922D}\x{922E}\x{922F}\x{9230}\x{9231}' - . '\x{9232}\x{9233}\x{9234}\x{9235}\x{9236}\x{9237}\x{9238}\x{9239}\x{923A}' - . '\x{923B}\x{923C}\x{923D}\x{923E}\x{923F}\x{9240}\x{9241}\x{9242}\x{9245}' - . '\x{9246}\x{9247}\x{9248}\x{9249}\x{924A}\x{924B}\x{924C}\x{924D}\x{924E}' - . '\x{924F}\x{9250}\x{9251}\x{9252}\x{9253}\x{9254}\x{9255}\x{9256}\x{9257}' - . '\x{9258}\x{9259}\x{925A}\x{925B}\x{925C}\x{925D}\x{925E}\x{925F}\x{9260}' - . '\x{9261}\x{9262}\x{9263}\x{9264}\x{9265}\x{9266}\x{9267}\x{9268}\x{926B}' - . '\x{926C}\x{926D}\x{926E}\x{926F}\x{9270}\x{9272}\x{9273}\x{9274}\x{9275}' - . '\x{9276}\x{9277}\x{9278}\x{9279}\x{927A}\x{927B}\x{927C}\x{927D}\x{927E}' - . '\x{927F}\x{9280}\x{9282}\x{9283}\x{9285}\x{9286}\x{9287}\x{9288}\x{9289}' - . '\x{928A}\x{928B}\x{928C}\x{928D}\x{928E}\x{928F}\x{9290}\x{9291}\x{9292}' - . '\x{9293}\x{9294}\x{9295}\x{9296}\x{9297}\x{9298}\x{9299}\x{929A}\x{929B}' - . '\x{929C}\x{929D}\x{929F}\x{92A0}\x{92A1}\x{92A2}\x{92A3}\x{92A4}\x{92A5}' - . '\x{92A6}\x{92A7}\x{92A8}\x{92A9}\x{92AA}\x{92AB}\x{92AC}\x{92AD}\x{92AE}' - . '\x{92AF}\x{92B0}\x{92B1}\x{92B2}\x{92B3}\x{92B4}\x{92B5}\x{92B6}\x{92B7}' - . '\x{92B8}\x{92B9}\x{92BA}\x{92BB}\x{92BC}\x{92BE}\x{92BF}\x{92C0}\x{92C1}' - . '\x{92C2}\x{92C3}\x{92C4}\x{92C5}\x{92C6}\x{92C7}\x{92C8}\x{92C9}\x{92CA}' - . '\x{92CB}\x{92CC}\x{92CD}\x{92CE}\x{92CF}\x{92D0}\x{92D1}\x{92D2}\x{92D3}' - . '\x{92D5}\x{92D6}\x{92D7}\x{92D8}\x{92D9}\x{92DA}\x{92DC}\x{92DD}\x{92DE}' - . '\x{92DF}\x{92E0}\x{92E1}\x{92E3}\x{92E4}\x{92E5}\x{92E6}\x{92E7}\x{92E8}' - . '\x{92E9}\x{92EA}\x{92EB}\x{92EC}\x{92ED}\x{92EE}\x{92EF}\x{92F0}\x{92F1}' - . '\x{92F2}\x{92F3}\x{92F4}\x{92F5}\x{92F6}\x{92F7}\x{92F8}\x{92F9}\x{92FA}' - . '\x{92FB}\x{92FC}\x{92FD}\x{92FE}\x{92FF}\x{9300}\x{9301}\x{9302}\x{9303}' - . '\x{9304}\x{9305}\x{9306}\x{9307}\x{9308}\x{9309}\x{930A}\x{930B}\x{930C}' - . '\x{930D}\x{930E}\x{930F}\x{9310}\x{9311}\x{9312}\x{9313}\x{9314}\x{9315}' - . '\x{9316}\x{9317}\x{9318}\x{9319}\x{931A}\x{931B}\x{931D}\x{931E}\x{931F}' - . '\x{9320}\x{9321}\x{9322}\x{9323}\x{9324}\x{9325}\x{9326}\x{9327}\x{9328}' - . '\x{9329}\x{932A}\x{932B}\x{932D}\x{932E}\x{932F}\x{9332}\x{9333}\x{9334}' - . '\x{9335}\x{9336}\x{9337}\x{9338}\x{9339}\x{933A}\x{933B}\x{933C}\x{933D}' - . '\x{933E}\x{933F}\x{9340}\x{9341}\x{9342}\x{9343}\x{9344}\x{9345}\x{9346}' - . '\x{9347}\x{9348}\x{9349}\x{934A}\x{934B}\x{934C}\x{934D}\x{934E}\x{934F}' - . '\x{9350}\x{9351}\x{9352}\x{9353}\x{9354}\x{9355}\x{9356}\x{9357}\x{9358}' - . '\x{9359}\x{935A}\x{935B}\x{935C}\x{935D}\x{935E}\x{935F}\x{9360}\x{9361}' - . '\x{9363}\x{9364}\x{9365}\x{9366}\x{9367}\x{9369}\x{936A}\x{936C}\x{936D}' - . '\x{936E}\x{9370}\x{9371}\x{9372}\x{9374}\x{9375}\x{9376}\x{9377}\x{9379}' - . '\x{937A}\x{937B}\x{937C}\x{937D}\x{937E}\x{9380}\x{9382}\x{9383}\x{9384}' - . '\x{9385}\x{9386}\x{9387}\x{9388}\x{9389}\x{938A}\x{938C}\x{938D}\x{938E}' - . '\x{938F}\x{9390}\x{9391}\x{9392}\x{9393}\x{9394}\x{9395}\x{9396}\x{9397}' - . '\x{9398}\x{9399}\x{939A}\x{939B}\x{939D}\x{939E}\x{939F}\x{93A1}\x{93A2}' - . '\x{93A3}\x{93A4}\x{93A5}\x{93A6}\x{93A7}\x{93A8}\x{93A9}\x{93AA}\x{93AC}' - . '\x{93AD}\x{93AE}\x{93AF}\x{93B0}\x{93B1}\x{93B2}\x{93B3}\x{93B4}\x{93B5}' - . '\x{93B6}\x{93B7}\x{93B8}\x{93B9}\x{93BA}\x{93BC}\x{93BD}\x{93BE}\x{93BF}' - . '\x{93C0}\x{93C1}\x{93C2}\x{93C3}\x{93C4}\x{93C5}\x{93C6}\x{93C7}\x{93C8}' - . '\x{93C9}\x{93CA}\x{93CB}\x{93CC}\x{93CD}\x{93CE}\x{93CF}\x{93D0}\x{93D1}' - . '\x{93D2}\x{93D3}\x{93D4}\x{93D5}\x{93D6}\x{93D7}\x{93D8}\x{93D9}\x{93DA}' - . '\x{93DB}\x{93DC}\x{93DD}\x{93DE}\x{93DF}\x{93E1}\x{93E2}\x{93E3}\x{93E4}' - . '\x{93E6}\x{93E7}\x{93E8}\x{93E9}\x{93EA}\x{93EB}\x{93EC}\x{93ED}\x{93EE}' - . '\x{93EF}\x{93F0}\x{93F1}\x{93F2}\x{93F4}\x{93F5}\x{93F6}\x{93F7}\x{93F8}' - . '\x{93F9}\x{93FA}\x{93FB}\x{93FC}\x{93FD}\x{93FE}\x{93FF}\x{9400}\x{9401}' - . '\x{9403}\x{9404}\x{9405}\x{9406}\x{9407}\x{9408}\x{9409}\x{940A}\x{940B}' - . '\x{940C}\x{940D}\x{940E}\x{940F}\x{9410}\x{9411}\x{9412}\x{9413}\x{9414}' - . '\x{9415}\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}\x{9422}\x{9423}' - . '\x{9425}\x{9426}\x{9427}\x{9428}\x{9429}\x{942A}\x{942B}\x{942C}\x{942D}' - . '\x{942E}\x{942F}\x{9430}\x{9431}\x{9432}\x{9433}\x{9434}\x{9435}\x{9436}' - . '\x{9437}\x{9438}\x{9439}\x{943A}\x{943B}\x{943C}\x{943D}\x{943E}\x{943F}' - . '\x{9440}\x{9441}\x{9442}\x{9444}\x{9445}\x{9446}\x{9447}\x{9448}\x{9449}' - . '\x{944A}\x{944B}\x{944C}\x{944D}\x{944F}\x{9450}\x{9451}\x{9452}\x{9453}' - . '\x{9454}\x{9455}\x{9456}\x{9457}\x{9458}\x{9459}\x{945B}\x{945C}\x{945D}' - . '\x{945E}\x{945F}\x{9460}\x{9461}\x{9462}\x{9463}\x{9464}\x{9465}\x{9466}' - . '\x{9467}\x{9468}\x{9469}\x{946A}\x{946B}\x{946D}\x{946E}\x{946F}\x{9470}' - . '\x{9471}\x{9472}\x{9473}\x{9474}\x{9475}\x{9476}\x{9477}\x{9478}\x{9479}' - . '\x{947A}\x{947C}\x{947D}\x{947E}\x{947F}\x{9480}\x{9481}\x{9482}\x{9483}' - . '\x{9484}\x{9485}\x{9486}\x{9487}\x{9488}\x{9489}\x{948A}\x{948B}\x{948C}' - . '\x{948D}\x{948E}\x{948F}\x{9490}\x{9491}\x{9492}\x{9493}\x{9494}\x{9495}' - . '\x{9496}\x{9497}\x{9498}\x{9499}\x{949A}\x{949B}\x{949C}\x{949D}\x{949E}' - . '\x{949F}\x{94A0}\x{94A1}\x{94A2}\x{94A3}\x{94A4}\x{94A5}\x{94A6}\x{94A7}' - . '\x{94A8}\x{94A9}\x{94AA}\x{94AB}\x{94AC}\x{94AD}\x{94AE}\x{94AF}\x{94B0}' - . '\x{94B1}\x{94B2}\x{94B3}\x{94B4}\x{94B5}\x{94B6}\x{94B7}\x{94B8}\x{94B9}' - . '\x{94BA}\x{94BB}\x{94BC}\x{94BD}\x{94BE}\x{94BF}\x{94C0}\x{94C1}\x{94C2}' - . '\x{94C3}\x{94C4}\x{94C5}\x{94C6}\x{94C7}\x{94C8}\x{94C9}\x{94CA}\x{94CB}' - . '\x{94CC}\x{94CD}\x{94CE}\x{94CF}\x{94D0}\x{94D1}\x{94D2}\x{94D3}\x{94D4}' - . '\x{94D5}\x{94D6}\x{94D7}\x{94D8}\x{94D9}\x{94DA}\x{94DB}\x{94DC}\x{94DD}' - . '\x{94DE}\x{94DF}\x{94E0}\x{94E1}\x{94E2}\x{94E3}\x{94E4}\x{94E5}\x{94E6}' - . '\x{94E7}\x{94E8}\x{94E9}\x{94EA}\x{94EB}\x{94EC}\x{94ED}\x{94EE}\x{94EF}' - . '\x{94F0}\x{94F1}\x{94F2}\x{94F3}\x{94F4}\x{94F5}\x{94F6}\x{94F7}\x{94F8}' - . '\x{94F9}\x{94FA}\x{94FB}\x{94FC}\x{94FD}\x{94FE}\x{94FF}\x{9500}\x{9501}' - . '\x{9502}\x{9503}\x{9504}\x{9505}\x{9506}\x{9507}\x{9508}\x{9509}\x{950A}' - . '\x{950B}\x{950C}\x{950D}\x{950E}\x{950F}\x{9510}\x{9511}\x{9512}\x{9513}' - . '\x{9514}\x{9515}\x{9516}\x{9517}\x{9518}\x{9519}\x{951A}\x{951B}\x{951C}' - . '\x{951D}\x{951E}\x{951F}\x{9520}\x{9521}\x{9522}\x{9523}\x{9524}\x{9525}' - . '\x{9526}\x{9527}\x{9528}\x{9529}\x{952A}\x{952B}\x{952C}\x{952D}\x{952E}' - . '\x{952F}\x{9530}\x{9531}\x{9532}\x{9533}\x{9534}\x{9535}\x{9536}\x{9537}' - . '\x{9538}\x{9539}\x{953A}\x{953B}\x{953C}\x{953D}\x{953E}\x{953F}\x{9540}' - . '\x{9541}\x{9542}\x{9543}\x{9544}\x{9545}\x{9546}\x{9547}\x{9548}\x{9549}' - . '\x{954A}\x{954B}\x{954C}\x{954D}\x{954E}\x{954F}\x{9550}\x{9551}\x{9552}' - . '\x{9553}\x{9554}\x{9555}\x{9556}\x{9557}\x{9558}\x{9559}\x{955A}\x{955B}' - . '\x{955C}\x{955D}\x{955E}\x{955F}\x{9560}\x{9561}\x{9562}\x{9563}\x{9564}' - . '\x{9565}\x{9566}\x{9567}\x{9568}\x{9569}\x{956A}\x{956B}\x{956C}\x{956D}' - . '\x{956E}\x{956F}\x{9570}\x{9571}\x{9572}\x{9573}\x{9574}\x{9575}\x{9576}' - . '\x{9577}\x{957A}\x{957B}\x{957C}\x{957D}\x{957F}\x{9580}\x{9581}\x{9582}' - . '\x{9583}\x{9584}\x{9586}\x{9587}\x{9588}\x{9589}\x{958A}\x{958B}\x{958C}' - . '\x{958D}\x{958E}\x{958F}\x{9590}\x{9591}\x{9592}\x{9593}\x{9594}\x{9595}' - . '\x{9596}\x{9598}\x{9599}\x{959A}\x{959B}\x{959C}\x{959D}\x{959E}\x{959F}' - . '\x{95A1}\x{95A2}\x{95A3}\x{95A4}\x{95A5}\x{95A6}\x{95A7}\x{95A8}\x{95A9}' - . '\x{95AA}\x{95AB}\x{95AC}\x{95AD}\x{95AE}\x{95AF}\x{95B0}\x{95B1}\x{95B2}' - . '\x{95B5}\x{95B6}\x{95B7}\x{95B9}\x{95BA}\x{95BB}\x{95BC}\x{95BD}\x{95BE}' - . '\x{95BF}\x{95C0}\x{95C2}\x{95C3}\x{95C4}\x{95C5}\x{95C6}\x{95C7}\x{95C8}' - . '\x{95C9}\x{95CA}\x{95CB}\x{95CC}\x{95CD}\x{95CE}\x{95CF}\x{95D0}\x{95D1}' - . '\x{95D2}\x{95D3}\x{95D4}\x{95D5}\x{95D6}\x{95D7}\x{95D8}\x{95DA}\x{95DB}' - . '\x{95DC}\x{95DE}\x{95DF}\x{95E0}\x{95E1}\x{95E2}\x{95E3}\x{95E4}\x{95E5}' - . '\x{95E6}\x{95E7}\x{95E8}\x{95E9}\x{95EA}\x{95EB}\x{95EC}\x{95ED}\x{95EE}' - . '\x{95EF}\x{95F0}\x{95F1}\x{95F2}\x{95F3}\x{95F4}\x{95F5}\x{95F6}\x{95F7}' - . '\x{95F8}\x{95F9}\x{95FA}\x{95FB}\x{95FC}\x{95FD}\x{95FE}\x{95FF}\x{9600}' - . '\x{9601}\x{9602}\x{9603}\x{9604}\x{9605}\x{9606}\x{9607}\x{9608}\x{9609}' - . '\x{960A}\x{960B}\x{960C}\x{960D}\x{960E}\x{960F}\x{9610}\x{9611}\x{9612}' - . '\x{9613}\x{9614}\x{9615}\x{9616}\x{9617}\x{9618}\x{9619}\x{961A}\x{961B}' - . '\x{961C}\x{961D}\x{961E}\x{961F}\x{9620}\x{9621}\x{9622}\x{9623}\x{9624}' - . '\x{9627}\x{9628}\x{962A}\x{962B}\x{962C}\x{962D}\x{962E}\x{962F}\x{9630}' - . '\x{9631}\x{9632}\x{9633}\x{9634}\x{9635}\x{9636}\x{9637}\x{9638}\x{9639}' - . '\x{963A}\x{963B}\x{963C}\x{963D}\x{963F}\x{9640}\x{9641}\x{9642}\x{9643}' - . '\x{9644}\x{9645}\x{9646}\x{9647}\x{9648}\x{9649}\x{964A}\x{964B}\x{964C}' - . '\x{964D}\x{964E}\x{964F}\x{9650}\x{9651}\x{9652}\x{9653}\x{9654}\x{9655}' - . '\x{9658}\x{9659}\x{965A}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9660}' - . '\x{9661}\x{9662}\x{9663}\x{9664}\x{9666}\x{9667}\x{9668}\x{9669}\x{966A}' - . '\x{966B}\x{966C}\x{966D}\x{966E}\x{966F}\x{9670}\x{9671}\x{9672}\x{9673}' - . '\x{9674}\x{9675}\x{9676}\x{9677}\x{9678}\x{967C}\x{967D}\x{967E}\x{9680}' - . '\x{9683}\x{9684}\x{9685}\x{9686}\x{9687}\x{9688}\x{9689}\x{968A}\x{968B}' - . '\x{968D}\x{968E}\x{968F}\x{9690}\x{9691}\x{9692}\x{9693}\x{9694}\x{9695}' - . '\x{9697}\x{9698}\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}\x{96A1}\x{96A2}' - . '\x{96A3}\x{96A4}\x{96A5}\x{96A6}\x{96A7}\x{96A8}\x{96A9}\x{96AA}\x{96AC}' - . '\x{96AD}\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}\x{96B7}\x{96B8}' - . '\x{96B9}\x{96BA}\x{96BB}\x{96BC}\x{96BD}\x{96BE}\x{96BF}\x{96C0}\x{96C1}' - . '\x{96C2}\x{96C3}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C8}\x{96C9}\x{96CA}' - . '\x{96CB}\x{96CC}\x{96CD}\x{96CE}\x{96CF}\x{96D0}\x{96D1}\x{96D2}\x{96D3}' - . '\x{96D4}\x{96D5}\x{96D6}\x{96D7}\x{96D8}\x{96D9}\x{96DA}\x{96DB}\x{96DC}' - . '\x{96DD}\x{96DE}\x{96DF}\x{96E0}\x{96E1}\x{96E2}\x{96E3}\x{96E5}\x{96E8}' - . '\x{96E9}\x{96EA}\x{96EB}\x{96EC}\x{96ED}\x{96EE}\x{96EF}\x{96F0}\x{96F1}' - . '\x{96F2}\x{96F3}\x{96F4}\x{96F5}\x{96F6}\x{96F7}\x{96F8}\x{96F9}\x{96FA}' - . '\x{96FB}\x{96FD}\x{96FE}\x{96FF}\x{9700}\x{9701}\x{9702}\x{9703}\x{9704}' - . '\x{9705}\x{9706}\x{9707}\x{9708}\x{9709}\x{970A}\x{970B}\x{970C}\x{970D}' - . '\x{970E}\x{970F}\x{9710}\x{9711}\x{9712}\x{9713}\x{9715}\x{9716}\x{9718}' - . '\x{9719}\x{971C}\x{971D}\x{971E}\x{971F}\x{9720}\x{9721}\x{9722}\x{9723}' - . '\x{9724}\x{9725}\x{9726}\x{9727}\x{9728}\x{9729}\x{972A}\x{972B}\x{972C}' - . '\x{972D}\x{972E}\x{972F}\x{9730}\x{9731}\x{9732}\x{9735}\x{9736}\x{9738}' - . '\x{9739}\x{973A}\x{973B}\x{973C}\x{973D}\x{973E}\x{973F}\x{9742}\x{9743}' - . '\x{9744}\x{9745}\x{9746}\x{9747}\x{9748}\x{9749}\x{974A}\x{974B}\x{974C}' - . '\x{974E}\x{974F}\x{9750}\x{9751}\x{9752}\x{9753}\x{9754}\x{9755}\x{9756}' - . '\x{9758}\x{9759}\x{975A}\x{975B}\x{975C}\x{975D}\x{975E}\x{975F}\x{9760}' - . '\x{9761}\x{9762}\x{9765}\x{9766}\x{9767}\x{9768}\x{9769}\x{976A}\x{976B}' - . '\x{976C}\x{976D}\x{976E}\x{976F}\x{9770}\x{9772}\x{9773}\x{9774}\x{9776}' - . '\x{9777}\x{9778}\x{9779}\x{977A}\x{977B}\x{977C}\x{977D}\x{977E}\x{977F}' - . '\x{9780}\x{9781}\x{9782}\x{9783}\x{9784}\x{9785}\x{9786}\x{9788}\x{978A}' - . '\x{978B}\x{978C}\x{978D}\x{978E}\x{978F}\x{9790}\x{9791}\x{9792}\x{9793}' - . '\x{9794}\x{9795}\x{9796}\x{9797}\x{9798}\x{9799}\x{979A}\x{979C}\x{979D}' - . '\x{979E}\x{979F}\x{97A0}\x{97A1}\x{97A2}\x{97A3}\x{97A4}\x{97A5}\x{97A6}' - . '\x{97A7}\x{97A8}\x{97AA}\x{97AB}\x{97AC}\x{97AD}\x{97AE}\x{97AF}\x{97B2}' - . '\x{97B3}\x{97B4}\x{97B6}\x{97B7}\x{97B8}\x{97B9}\x{97BA}\x{97BB}\x{97BC}' - . '\x{97BD}\x{97BF}\x{97C1}\x{97C2}\x{97C3}\x{97C4}\x{97C5}\x{97C6}\x{97C7}' - . '\x{97C8}\x{97C9}\x{97CA}\x{97CB}\x{97CC}\x{97CD}\x{97CE}\x{97CF}\x{97D0}' - . '\x{97D1}\x{97D3}\x{97D4}\x{97D5}\x{97D6}\x{97D7}\x{97D8}\x{97D9}\x{97DA}' - . '\x{97DB}\x{97DC}\x{97DD}\x{97DE}\x{97DF}\x{97E0}\x{97E1}\x{97E2}\x{97E3}' - . '\x{97E4}\x{97E5}\x{97E6}\x{97E7}\x{97E8}\x{97E9}\x{97EA}\x{97EB}\x{97EC}' - . '\x{97ED}\x{97EE}\x{97EF}\x{97F0}\x{97F1}\x{97F2}\x{97F3}\x{97F4}\x{97F5}' - . '\x{97F6}\x{97F7}\x{97F8}\x{97F9}\x{97FA}\x{97FB}\x{97FD}\x{97FE}\x{97FF}' - . '\x{9800}\x{9801}\x{9802}\x{9803}\x{9804}\x{9805}\x{9806}\x{9807}\x{9808}' - . '\x{9809}\x{980A}\x{980B}\x{980C}\x{980D}\x{980E}\x{980F}\x{9810}\x{9811}' - . '\x{9812}\x{9813}\x{9814}\x{9815}\x{9816}\x{9817}\x{9818}\x{9819}\x{981A}' - . '\x{981B}\x{981C}\x{981D}\x{981E}\x{9820}\x{9821}\x{9822}\x{9823}\x{9824}' - . '\x{9826}\x{9827}\x{9828}\x{9829}\x{982B}\x{982D}\x{982E}\x{982F}\x{9830}' - . '\x{9831}\x{9832}\x{9834}\x{9835}\x{9836}\x{9837}\x{9838}\x{9839}\x{983B}' - . '\x{983C}\x{983D}\x{983F}\x{9840}\x{9841}\x{9843}\x{9844}\x{9845}\x{9846}' - . '\x{9848}\x{9849}\x{984A}\x{984C}\x{984D}\x{984E}\x{984F}\x{9850}\x{9851}' - . '\x{9852}\x{9853}\x{9854}\x{9855}\x{9857}\x{9858}\x{9859}\x{985A}\x{985B}' - . '\x{985C}\x{985D}\x{985E}\x{985F}\x{9860}\x{9861}\x{9862}\x{9863}\x{9864}' - . '\x{9865}\x{9867}\x{9869}\x{986A}\x{986B}\x{986C}\x{986D}\x{986E}\x{986F}' - . '\x{9870}\x{9871}\x{9872}\x{9873}\x{9874}\x{9875}\x{9876}\x{9877}\x{9878}' - . '\x{9879}\x{987A}\x{987B}\x{987C}\x{987D}\x{987E}\x{987F}\x{9880}\x{9881}' - . '\x{9882}\x{9883}\x{9884}\x{9885}\x{9886}\x{9887}\x{9888}\x{9889}\x{988A}' - . '\x{988B}\x{988C}\x{988D}\x{988E}\x{988F}\x{9890}\x{9891}\x{9892}\x{9893}' - . '\x{9894}\x{9895}\x{9896}\x{9897}\x{9898}\x{9899}\x{989A}\x{989B}\x{989C}' - . '\x{989D}\x{989E}\x{989F}\x{98A0}\x{98A1}\x{98A2}\x{98A3}\x{98A4}\x{98A5}' - . '\x{98A6}\x{98A7}\x{98A8}\x{98A9}\x{98AA}\x{98AB}\x{98AC}\x{98AD}\x{98AE}' - . '\x{98AF}\x{98B0}\x{98B1}\x{98B2}\x{98B3}\x{98B4}\x{98B5}\x{98B6}\x{98B8}' - . '\x{98B9}\x{98BA}\x{98BB}\x{98BC}\x{98BD}\x{98BE}\x{98BF}\x{98C0}\x{98C1}' - . '\x{98C2}\x{98C3}\x{98C4}\x{98C5}\x{98C6}\x{98C8}\x{98C9}\x{98CB}\x{98CC}' - . '\x{98CD}\x{98CE}\x{98CF}\x{98D0}\x{98D1}\x{98D2}\x{98D3}\x{98D4}\x{98D5}' - . '\x{98D6}\x{98D7}\x{98D8}\x{98D9}\x{98DA}\x{98DB}\x{98DC}\x{98DD}\x{98DE}' - . '\x{98DF}\x{98E0}\x{98E2}\x{98E3}\x{98E5}\x{98E6}\x{98E7}\x{98E8}\x{98E9}' - . '\x{98EA}\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}\x{98F3}\x{98F4}\x{98F5}' - . '\x{98F6}\x{98F7}\x{98F9}\x{98FA}\x{98FC}\x{98FD}\x{98FE}\x{98FF}\x{9900}' - . '\x{9901}\x{9902}\x{9903}\x{9904}\x{9905}\x{9906}\x{9907}\x{9908}\x{9909}' - . '\x{990A}\x{990B}\x{990C}\x{990D}\x{990E}\x{990F}\x{9910}\x{9911}\x{9912}' - . '\x{9913}\x{9914}\x{9915}\x{9916}\x{9917}\x{9918}\x{991A}\x{991B}\x{991C}' - . '\x{991D}\x{991E}\x{991F}\x{9920}\x{9921}\x{9922}\x{9923}\x{9924}\x{9925}' - . '\x{9926}\x{9927}\x{9928}\x{9929}\x{992A}\x{992B}\x{992C}\x{992D}\x{992E}' - . '\x{992F}\x{9930}\x{9931}\x{9932}\x{9933}\x{9934}\x{9935}\x{9936}\x{9937}' - . '\x{9938}\x{9939}\x{993A}\x{993C}\x{993D}\x{993E}\x{993F}\x{9940}\x{9941}' - . '\x{9942}\x{9943}\x{9945}\x{9946}\x{9947}\x{9948}\x{9949}\x{994A}\x{994B}' - . '\x{994C}\x{994E}\x{994F}\x{9950}\x{9951}\x{9952}\x{9953}\x{9954}\x{9955}' - . '\x{9956}\x{9957}\x{9958}\x{9959}\x{995B}\x{995C}\x{995E}\x{995F}\x{9960}' - . '\x{9961}\x{9962}\x{9963}\x{9964}\x{9965}\x{9966}\x{9967}\x{9968}\x{9969}' - . '\x{996A}\x{996B}\x{996C}\x{996D}\x{996E}\x{996F}\x{9970}\x{9971}\x{9972}' - . '\x{9973}\x{9974}\x{9975}\x{9976}\x{9977}\x{9978}\x{9979}\x{997A}\x{997B}' - . '\x{997C}\x{997D}\x{997E}\x{997F}\x{9980}\x{9981}\x{9982}\x{9983}\x{9984}' - . '\x{9985}\x{9986}\x{9987}\x{9988}\x{9989}\x{998A}\x{998B}\x{998C}\x{998D}' - . '\x{998E}\x{998F}\x{9990}\x{9991}\x{9992}\x{9993}\x{9994}\x{9995}\x{9996}' - . '\x{9997}\x{9998}\x{9999}\x{999A}\x{999B}\x{999C}\x{999D}\x{999E}\x{999F}' - . '\x{99A0}\x{99A1}\x{99A2}\x{99A3}\x{99A4}\x{99A5}\x{99A6}\x{99A7}\x{99A8}' - . '\x{99A9}\x{99AA}\x{99AB}\x{99AC}\x{99AD}\x{99AE}\x{99AF}\x{99B0}\x{99B1}' - . '\x{99B2}\x{99B3}\x{99B4}\x{99B5}\x{99B6}\x{99B7}\x{99B8}\x{99B9}\x{99BA}' - . '\x{99BB}\x{99BC}\x{99BD}\x{99BE}\x{99C0}\x{99C1}\x{99C2}\x{99C3}\x{99C4}' - . '\x{99C6}\x{99C7}\x{99C8}\x{99C9}\x{99CA}\x{99CB}\x{99CC}\x{99CD}\x{99CE}' - . '\x{99CF}\x{99D0}\x{99D1}\x{99D2}\x{99D3}\x{99D4}\x{99D5}\x{99D6}\x{99D7}' - . '\x{99D8}\x{99D9}\x{99DA}\x{99DB}\x{99DC}\x{99DD}\x{99DE}\x{99DF}\x{99E1}' - . '\x{99E2}\x{99E3}\x{99E4}\x{99E5}\x{99E7}\x{99E8}\x{99E9}\x{99EA}\x{99EC}' - . '\x{99ED}\x{99EE}\x{99EF}\x{99F0}\x{99F1}\x{99F2}\x{99F3}\x{99F4}\x{99F6}' - . '\x{99F7}\x{99F8}\x{99F9}\x{99FA}\x{99FB}\x{99FC}\x{99FD}\x{99FE}\x{99FF}' - . '\x{9A00}\x{9A01}\x{9A02}\x{9A03}\x{9A04}\x{9A05}\x{9A06}\x{9A07}\x{9A08}' - . '\x{9A09}\x{9A0A}\x{9A0B}\x{9A0C}\x{9A0D}\x{9A0E}\x{9A0F}\x{9A11}\x{9A14}' - . '\x{9A15}\x{9A16}\x{9A19}\x{9A1A}\x{9A1B}\x{9A1C}\x{9A1D}\x{9A1E}\x{9A1F}' - . '\x{9A20}\x{9A21}\x{9A22}\x{9A23}\x{9A24}\x{9A25}\x{9A26}\x{9A27}\x{9A29}' - . '\x{9A2A}\x{9A2B}\x{9A2C}\x{9A2D}\x{9A2E}\x{9A2F}\x{9A30}\x{9A31}\x{9A32}' - . '\x{9A33}\x{9A34}\x{9A35}\x{9A36}\x{9A37}\x{9A38}\x{9A39}\x{9A3A}\x{9A3C}' - . '\x{9A3D}\x{9A3E}\x{9A3F}\x{9A40}\x{9A41}\x{9A42}\x{9A43}\x{9A44}\x{9A45}' - . '\x{9A46}\x{9A47}\x{9A48}\x{9A49}\x{9A4A}\x{9A4B}\x{9A4C}\x{9A4D}\x{9A4E}' - . '\x{9A4F}\x{9A50}\x{9A52}\x{9A53}\x{9A54}\x{9A55}\x{9A56}\x{9A57}\x{9A59}' - . '\x{9A5A}\x{9A5B}\x{9A5C}\x{9A5E}\x{9A5F}\x{9A60}\x{9A61}\x{9A62}\x{9A64}' - . '\x{9A65}\x{9A66}\x{9A67}\x{9A68}\x{9A69}\x{9A6A}\x{9A6B}\x{9A6C}\x{9A6D}' - . '\x{9A6E}\x{9A6F}\x{9A70}\x{9A71}\x{9A72}\x{9A73}\x{9A74}\x{9A75}\x{9A76}' - . '\x{9A77}\x{9A78}\x{9A79}\x{9A7A}\x{9A7B}\x{9A7C}\x{9A7D}\x{9A7E}\x{9A7F}' - . '\x{9A80}\x{9A81}\x{9A82}\x{9A83}\x{9A84}\x{9A85}\x{9A86}\x{9A87}\x{9A88}' - . '\x{9A89}\x{9A8A}\x{9A8B}\x{9A8C}\x{9A8D}\x{9A8E}\x{9A8F}\x{9A90}\x{9A91}' - . '\x{9A92}\x{9A93}\x{9A94}\x{9A95}\x{9A96}\x{9A97}\x{9A98}\x{9A99}\x{9A9A}' - . '\x{9A9B}\x{9A9C}\x{9A9D}\x{9A9E}\x{9A9F}\x{9AA0}\x{9AA1}\x{9AA2}\x{9AA3}' - . '\x{9AA4}\x{9AA5}\x{9AA6}\x{9AA7}\x{9AA8}\x{9AAA}\x{9AAB}\x{9AAC}\x{9AAD}' - . '\x{9AAE}\x{9AAF}\x{9AB0}\x{9AB1}\x{9AB2}\x{9AB3}\x{9AB4}\x{9AB5}\x{9AB6}' - . '\x{9AB7}\x{9AB8}\x{9AB9}\x{9ABA}\x{9ABB}\x{9ABC}\x{9ABE}\x{9ABF}\x{9AC0}' - . '\x{9AC1}\x{9AC2}\x{9AC3}\x{9AC4}\x{9AC5}\x{9AC6}\x{9AC7}\x{9AC9}\x{9ACA}' - . '\x{9ACB}\x{9ACC}\x{9ACD}\x{9ACE}\x{9ACF}\x{9AD0}\x{9AD1}\x{9AD2}\x{9AD3}' - . '\x{9AD4}\x{9AD5}\x{9AD6}\x{9AD8}\x{9AD9}\x{9ADA}\x{9ADB}\x{9ADC}\x{9ADD}' - . '\x{9ADE}\x{9ADF}\x{9AE1}\x{9AE2}\x{9AE3}\x{9AE5}\x{9AE6}\x{9AE7}\x{9AEA}' - . '\x{9AEB}\x{9AEC}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF2}\x{9AF3}\x{9AF4}' - . '\x{9AF5}\x{9AF6}\x{9AF7}\x{9AF8}\x{9AF9}\x{9AFA}\x{9AFB}\x{9AFC}\x{9AFD}' - . '\x{9AFE}\x{9AFF}\x{9B01}\x{9B03}\x{9B04}\x{9B05}\x{9B06}\x{9B07}\x{9B08}' - . '\x{9B0A}\x{9B0B}\x{9B0C}\x{9B0D}\x{9B0E}\x{9B0F}\x{9B10}\x{9B11}\x{9B12}' - . '\x{9B13}\x{9B15}\x{9B16}\x{9B17}\x{9B18}\x{9B19}\x{9B1A}\x{9B1C}\x{9B1D}' - . '\x{9B1E}\x{9B1F}\x{9B20}\x{9B21}\x{9B22}\x{9B23}\x{9B24}\x{9B25}\x{9B26}' - . '\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2B}\x{9B2C}\x{9B2D}\x{9B2E}\x{9B2F}' - . '\x{9B30}\x{9B31}\x{9B32}\x{9B33}\x{9B35}\x{9B36}\x{9B37}\x{9B38}\x{9B39}' - . '\x{9B3A}\x{9B3B}\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}\x{9B42}\x{9B43}\x{9B44}' - . '\x{9B45}\x{9B46}\x{9B47}\x{9B48}\x{9B49}\x{9B4A}\x{9B4B}\x{9B4C}\x{9B4D}' - . '\x{9B4E}\x{9B4F}\x{9B51}\x{9B52}\x{9B53}\x{9B54}\x{9B55}\x{9B56}\x{9B58}' - . '\x{9B59}\x{9B5A}\x{9B5B}\x{9B5C}\x{9B5D}\x{9B5E}\x{9B5F}\x{9B60}\x{9B61}' - . '\x{9B63}\x{9B64}\x{9B65}\x{9B66}\x{9B67}\x{9B68}\x{9B69}\x{9B6A}\x{9B6B}' - . '\x{9B6C}\x{9B6D}\x{9B6E}\x{9B6F}\x{9B70}\x{9B71}\x{9B73}\x{9B74}\x{9B75}' - . '\x{9B76}\x{9B77}\x{9B78}\x{9B79}\x{9B7A}\x{9B7B}\x{9B7C}\x{9B7D}\x{9B7E}' - . '\x{9B7F}\x{9B80}\x{9B81}\x{9B82}\x{9B83}\x{9B84}\x{9B85}\x{9B86}\x{9B87}' - . '\x{9B88}\x{9B8A}\x{9B8B}\x{9B8D}\x{9B8E}\x{9B8F}\x{9B90}\x{9B91}\x{9B92}' - . '\x{9B93}\x{9B94}\x{9B95}\x{9B96}\x{9B97}\x{9B98}\x{9B9A}\x{9B9B}\x{9B9C}' - . '\x{9B9D}\x{9B9E}\x{9B9F}\x{9BA0}\x{9BA1}\x{9BA2}\x{9BA3}\x{9BA4}\x{9BA5}' - . '\x{9BA6}\x{9BA7}\x{9BA8}\x{9BA9}\x{9BAA}\x{9BAB}\x{9BAC}\x{9BAD}\x{9BAE}' - . '\x{9BAF}\x{9BB0}\x{9BB1}\x{9BB2}\x{9BB3}\x{9BB4}\x{9BB5}\x{9BB6}\x{9BB7}' - . '\x{9BB8}\x{9BB9}\x{9BBA}\x{9BBB}\x{9BBC}\x{9BBD}\x{9BBE}\x{9BBF}\x{9BC0}' - . '\x{9BC1}\x{9BC3}\x{9BC4}\x{9BC5}\x{9BC6}\x{9BC7}\x{9BC8}\x{9BC9}\x{9BCA}' - . '\x{9BCB}\x{9BCC}\x{9BCD}\x{9BCE}\x{9BCF}\x{9BD0}\x{9BD1}\x{9BD2}\x{9BD3}' - . '\x{9BD4}\x{9BD5}\x{9BD6}\x{9BD7}\x{9BD8}\x{9BD9}\x{9BDA}\x{9BDB}\x{9BDC}' - . '\x{9BDD}\x{9BDE}\x{9BDF}\x{9BE0}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}\x{9BE5}' - . '\x{9BE6}\x{9BE7}\x{9BE8}\x{9BE9}\x{9BEA}\x{9BEB}\x{9BEC}\x{9BED}\x{9BEE}' - . '\x{9BEF}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF3}\x{9BF4}\x{9BF5}\x{9BF7}\x{9BF8}' - . '\x{9BF9}\x{9BFA}\x{9BFB}\x{9BFC}\x{9BFD}\x{9BFE}\x{9BFF}\x{9C02}\x{9C05}' - . '\x{9C06}\x{9C07}\x{9C08}\x{9C09}\x{9C0A}\x{9C0B}\x{9C0C}\x{9C0D}\x{9C0E}' - . '\x{9C0F}\x{9C10}\x{9C11}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C16}\x{9C17}' - . '\x{9C18}\x{9C19}\x{9C1A}\x{9C1B}\x{9C1C}\x{9C1D}\x{9C1E}\x{9C1F}\x{9C20}' - . '\x{9C21}\x{9C22}\x{9C23}\x{9C24}\x{9C25}\x{9C26}\x{9C27}\x{9C28}\x{9C29}' - . '\x{9C2A}\x{9C2B}\x{9C2C}\x{9C2D}\x{9C2F}\x{9C30}\x{9C31}\x{9C32}\x{9C33}' - . '\x{9C34}\x{9C35}\x{9C36}\x{9C37}\x{9C38}\x{9C39}\x{9C3A}\x{9C3B}\x{9C3C}' - . '\x{9C3D}\x{9C3E}\x{9C3F}\x{9C40}\x{9C41}\x{9C43}\x{9C44}\x{9C45}\x{9C46}' - . '\x{9C47}\x{9C48}\x{9C49}\x{9C4A}\x{9C4B}\x{9C4C}\x{9C4D}\x{9C4E}\x{9C50}' - . '\x{9C52}\x{9C53}\x{9C54}\x{9C55}\x{9C56}\x{9C57}\x{9C58}\x{9C59}\x{9C5A}' - . '\x{9C5B}\x{9C5C}\x{9C5D}\x{9C5E}\x{9C5F}\x{9C60}\x{9C62}\x{9C63}\x{9C65}' - . '\x{9C66}\x{9C67}\x{9C68}\x{9C69}\x{9C6A}\x{9C6B}\x{9C6C}\x{9C6D}\x{9C6E}' - . '\x{9C6F}\x{9C70}\x{9C71}\x{9C72}\x{9C73}\x{9C74}\x{9C75}\x{9C77}\x{9C78}' - . '\x{9C79}\x{9C7A}\x{9C7C}\x{9C7D}\x{9C7E}\x{9C7F}\x{9C80}\x{9C81}\x{9C82}' - . '\x{9C83}\x{9C84}\x{9C85}\x{9C86}\x{9C87}\x{9C88}\x{9C89}\x{9C8A}\x{9C8B}' - . '\x{9C8C}\x{9C8D}\x{9C8E}\x{9C8F}\x{9C90}\x{9C91}\x{9C92}\x{9C93}\x{9C94}' - . '\x{9C95}\x{9C96}\x{9C97}\x{9C98}\x{9C99}\x{9C9A}\x{9C9B}\x{9C9C}\x{9C9D}' - . '\x{9C9E}\x{9C9F}\x{9CA0}\x{9CA1}\x{9CA2}\x{9CA3}\x{9CA4}\x{9CA5}\x{9CA6}' - . '\x{9CA7}\x{9CA8}\x{9CA9}\x{9CAA}\x{9CAB}\x{9CAC}\x{9CAD}\x{9CAE}\x{9CAF}' - . '\x{9CB0}\x{9CB1}\x{9CB2}\x{9CB3}\x{9CB4}\x{9CB5}\x{9CB6}\x{9CB7}\x{9CB8}' - . '\x{9CB9}\x{9CBA}\x{9CBB}\x{9CBC}\x{9CBD}\x{9CBE}\x{9CBF}\x{9CC0}\x{9CC1}' - . '\x{9CC2}\x{9CC3}\x{9CC4}\x{9CC5}\x{9CC6}\x{9CC7}\x{9CC8}\x{9CC9}\x{9CCA}' - . '\x{9CCB}\x{9CCC}\x{9CCD}\x{9CCE}\x{9CCF}\x{9CD0}\x{9CD1}\x{9CD2}\x{9CD3}' - . '\x{9CD4}\x{9CD5}\x{9CD6}\x{9CD7}\x{9CD8}\x{9CD9}\x{9CDA}\x{9CDB}\x{9CDC}' - . '\x{9CDD}\x{9CDE}\x{9CDF}\x{9CE0}\x{9CE1}\x{9CE2}\x{9CE3}\x{9CE4}\x{9CE5}' - . '\x{9CE6}\x{9CE7}\x{9CE8}\x{9CE9}\x{9CEA}\x{9CEB}\x{9CEC}\x{9CED}\x{9CEE}' - . '\x{9CEF}\x{9CF0}\x{9CF1}\x{9CF2}\x{9CF3}\x{9CF4}\x{9CF5}\x{9CF6}\x{9CF7}' - . '\x{9CF8}\x{9CF9}\x{9CFA}\x{9CFB}\x{9CFC}\x{9CFD}\x{9CFE}\x{9CFF}\x{9D00}' - . '\x{9D01}\x{9D02}\x{9D03}\x{9D04}\x{9D05}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' - . '\x{9D0A}\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}\x{9D13}\x{9D14}\x{9D15}\x{9D16}' - . '\x{9D17}\x{9D18}\x{9D19}\x{9D1A}\x{9D1B}\x{9D1C}\x{9D1D}\x{9D1E}\x{9D1F}' - . '\x{9D20}\x{9D21}\x{9D22}\x{9D23}\x{9D24}\x{9D25}\x{9D26}\x{9D28}\x{9D29}' - . '\x{9D2B}\x{9D2D}\x{9D2E}\x{9D2F}\x{9D30}\x{9D31}\x{9D32}\x{9D33}\x{9D34}' - . '\x{9D36}\x{9D37}\x{9D38}\x{9D39}\x{9D3A}\x{9D3B}\x{9D3D}\x{9D3E}\x{9D3F}' - . '\x{9D40}\x{9D41}\x{9D42}\x{9D43}\x{9D45}\x{9D46}\x{9D47}\x{9D48}\x{9D49}' - . '\x{9D4A}\x{9D4B}\x{9D4C}\x{9D4D}\x{9D4E}\x{9D4F}\x{9D50}\x{9D51}\x{9D52}' - . '\x{9D53}\x{9D54}\x{9D55}\x{9D56}\x{9D57}\x{9D58}\x{9D59}\x{9D5A}\x{9D5B}' - . '\x{9D5C}\x{9D5D}\x{9D5E}\x{9D5F}\x{9D60}\x{9D61}\x{9D62}\x{9D63}\x{9D64}' - . '\x{9D65}\x{9D66}\x{9D67}\x{9D68}\x{9D69}\x{9D6A}\x{9D6B}\x{9D6C}\x{9D6E}' - . '\x{9D6F}\x{9D70}\x{9D71}\x{9D72}\x{9D73}\x{9D74}\x{9D75}\x{9D76}\x{9D77}' - . '\x{9D78}\x{9D79}\x{9D7A}\x{9D7B}\x{9D7C}\x{9D7D}\x{9D7E}\x{9D7F}\x{9D80}' - . '\x{9D81}\x{9D82}\x{9D83}\x{9D84}\x{9D85}\x{9D86}\x{9D87}\x{9D88}\x{9D89}' - . '\x{9D8A}\x{9D8B}\x{9D8C}\x{9D8D}\x{9D8E}\x{9D90}\x{9D91}\x{9D92}\x{9D93}' - . '\x{9D94}\x{9D96}\x{9D97}\x{9D98}\x{9D99}\x{9D9A}\x{9D9B}\x{9D9C}\x{9D9D}' - . '\x{9D9E}\x{9D9F}\x{9DA0}\x{9DA1}\x{9DA2}\x{9DA3}\x{9DA4}\x{9DA5}\x{9DA6}' - . '\x{9DA7}\x{9DA8}\x{9DA9}\x{9DAA}\x{9DAB}\x{9DAC}\x{9DAD}\x{9DAF}\x{9DB0}' - . '\x{9DB1}\x{9DB2}\x{9DB3}\x{9DB4}\x{9DB5}\x{9DB6}\x{9DB7}\x{9DB8}\x{9DB9}' - . '\x{9DBA}\x{9DBB}\x{9DBC}\x{9DBE}\x{9DBF}\x{9DC1}\x{9DC2}\x{9DC3}\x{9DC4}' - . '\x{9DC5}\x{9DC7}\x{9DC8}\x{9DC9}\x{9DCA}\x{9DCB}\x{9DCC}\x{9DCD}\x{9DCE}' - . '\x{9DCF}\x{9DD0}\x{9DD1}\x{9DD2}\x{9DD3}\x{9DD4}\x{9DD5}\x{9DD6}\x{9DD7}' - . '\x{9DD8}\x{9DD9}\x{9DDA}\x{9DDB}\x{9DDC}\x{9DDD}\x{9DDE}\x{9DDF}\x{9DE0}' - . '\x{9DE1}\x{9DE2}\x{9DE3}\x{9DE4}\x{9DE5}\x{9DE6}\x{9DE7}\x{9DE8}\x{9DE9}' - . '\x{9DEB}\x{9DEC}\x{9DED}\x{9DEE}\x{9DEF}\x{9DF0}\x{9DF1}\x{9DF2}\x{9DF3}' - . '\x{9DF4}\x{9DF5}\x{9DF6}\x{9DF7}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFB}\x{9DFD}' - . '\x{9DFE}\x{9DFF}\x{9E00}\x{9E01}\x{9E02}\x{9E03}\x{9E04}\x{9E05}\x{9E06}' - . '\x{9E07}\x{9E08}\x{9E09}\x{9E0A}\x{9E0B}\x{9E0C}\x{9E0D}\x{9E0F}\x{9E10}' - . '\x{9E11}\x{9E12}\x{9E13}\x{9E14}\x{9E15}\x{9E17}\x{9E18}\x{9E19}\x{9E1A}' - . '\x{9E1B}\x{9E1D}\x{9E1E}\x{9E1F}\x{9E20}\x{9E21}\x{9E22}\x{9E23}\x{9E24}' - . '\x{9E25}\x{9E26}\x{9E27}\x{9E28}\x{9E29}\x{9E2A}\x{9E2B}\x{9E2C}\x{9E2D}' - . '\x{9E2E}\x{9E2F}\x{9E30}\x{9E31}\x{9E32}\x{9E33}\x{9E34}\x{9E35}\x{9E36}' - . '\x{9E37}\x{9E38}\x{9E39}\x{9E3A}\x{9E3B}\x{9E3C}\x{9E3D}\x{9E3E}\x{9E3F}' - . '\x{9E40}\x{9E41}\x{9E42}\x{9E43}\x{9E44}\x{9E45}\x{9E46}\x{9E47}\x{9E48}' - . '\x{9E49}\x{9E4A}\x{9E4B}\x{9E4C}\x{9E4D}\x{9E4E}\x{9E4F}\x{9E50}\x{9E51}' - . '\x{9E52}\x{9E53}\x{9E54}\x{9E55}\x{9E56}\x{9E57}\x{9E58}\x{9E59}\x{9E5A}' - . '\x{9E5B}\x{9E5C}\x{9E5D}\x{9E5E}\x{9E5F}\x{9E60}\x{9E61}\x{9E62}\x{9E63}' - . '\x{9E64}\x{9E65}\x{9E66}\x{9E67}\x{9E68}\x{9E69}\x{9E6A}\x{9E6B}\x{9E6C}' - . '\x{9E6D}\x{9E6E}\x{9E6F}\x{9E70}\x{9E71}\x{9E72}\x{9E73}\x{9E74}\x{9E75}' - . '\x{9E76}\x{9E77}\x{9E79}\x{9E7A}\x{9E7C}\x{9E7D}\x{9E7E}\x{9E7F}\x{9E80}' - . '\x{9E81}\x{9E82}\x{9E83}\x{9E84}\x{9E85}\x{9E86}\x{9E87}\x{9E88}\x{9E89}' - . '\x{9E8A}\x{9E8B}\x{9E8C}\x{9E8D}\x{9E8E}\x{9E91}\x{9E92}\x{9E93}\x{9E94}' - . '\x{9E96}\x{9E97}\x{9E99}\x{9E9A}\x{9E9B}\x{9E9C}\x{9E9D}\x{9E9F}\x{9EA0}' - . '\x{9EA1}\x{9EA3}\x{9EA4}\x{9EA5}\x{9EA6}\x{9EA7}\x{9EA8}\x{9EA9}\x{9EAA}' - . '\x{9EAD}\x{9EAE}\x{9EAF}\x{9EB0}\x{9EB2}\x{9EB3}\x{9EB4}\x{9EB5}\x{9EB6}' - . '\x{9EB7}\x{9EB8}\x{9EBB}\x{9EBC}\x{9EBD}\x{9EBE}\x{9EBF}\x{9EC0}\x{9EC1}' - . '\x{9EC2}\x{9EC3}\x{9EC4}\x{9EC5}\x{9EC6}\x{9EC7}\x{9EC8}\x{9EC9}\x{9ECA}' - . '\x{9ECB}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED1}\x{9ED2}\x{9ED3}' - . '\x{9ED4}\x{9ED5}\x{9ED6}\x{9ED7}\x{9ED8}\x{9ED9}\x{9EDA}\x{9EDB}\x{9EDC}' - . '\x{9EDD}\x{9EDE}\x{9EDF}\x{9EE0}\x{9EE1}\x{9EE2}\x{9EE3}\x{9EE4}\x{9EE5}' - . '\x{9EE6}\x{9EE7}\x{9EE8}\x{9EE9}\x{9EEA}\x{9EEB}\x{9EED}\x{9EEE}\x{9EEF}' - . '\x{9EF0}\x{9EF2}\x{9EF3}\x{9EF4}\x{9EF5}\x{9EF6}\x{9EF7}\x{9EF8}\x{9EF9}' - . '\x{9EFA}\x{9EFB}\x{9EFC}\x{9EFD}\x{9EFE}\x{9EFF}\x{9F00}\x{9F01}\x{9F02}' - . '\x{9F04}\x{9F05}\x{9F06}\x{9F07}\x{9F08}\x{9F09}\x{9F0A}\x{9F0B}\x{9F0C}' - . '\x{9F0D}\x{9F0E}\x{9F0F}\x{9F10}\x{9F12}\x{9F13}\x{9F15}\x{9F16}\x{9F17}' - . '\x{9F18}\x{9F19}\x{9F1A}\x{9F1B}\x{9F1C}\x{9F1D}\x{9F1E}\x{9F1F}\x{9F20}' - . '\x{9F22}\x{9F23}\x{9F24}\x{9F25}\x{9F27}\x{9F28}\x{9F29}\x{9F2A}\x{9F2B}' - . '\x{9F2C}\x{9F2D}\x{9F2E}\x{9F2F}\x{9F30}\x{9F31}\x{9F32}\x{9F33}\x{9F34}' - . '\x{9F35}\x{9F36}\x{9F37}\x{9F38}\x{9F39}\x{9F3A}\x{9F3B}\x{9F3C}\x{9F3D}' - . '\x{9F3E}\x{9F3F}\x{9F40}\x{9F41}\x{9F42}\x{9F43}\x{9F44}\x{9F46}\x{9F47}' - . '\x{9F48}\x{9F49}\x{9F4A}\x{9F4B}\x{9F4C}\x{9F4D}\x{9F4E}\x{9F4F}\x{9F50}' - . '\x{9F51}\x{9F52}\x{9F54}\x{9F55}\x{9F56}\x{9F57}\x{9F58}\x{9F59}\x{9F5A}' - . '\x{9F5B}\x{9F5C}\x{9F5D}\x{9F5E}\x{9F5F}\x{9F60}\x{9F61}\x{9F63}\x{9F64}' - . '\x{9F65}\x{9F66}\x{9F67}\x{9F68}\x{9F69}\x{9F6A}\x{9F6B}\x{9F6C}\x{9F6E}' - . '\x{9F6F}\x{9F70}\x{9F71}\x{9F72}\x{9F73}\x{9F74}\x{9F75}\x{9F76}\x{9F77}' - . '\x{9F78}\x{9F79}\x{9F7A}\x{9F7B}\x{9F7C}\x{9F7D}\x{9F7E}\x{9F7F}\x{9F80}' - . '\x{9F81}\x{9F82}\x{9F83}\x{9F84}\x{9F85}\x{9F86}\x{9F87}\x{9F88}\x{9F89}' - . '\x{9F8A}\x{9F8B}\x{9F8C}\x{9F8D}\x{9F8E}\x{9F8F}\x{9F90}\x{9F91}\x{9F92}' - . '\x{9F93}\x{9F94}\x{9F95}\x{9F96}\x{9F97}\x{9F98}\x{9F99}\x{9F9A}\x{9F9B}' - . '\x{9F9C}\x{9F9D}\x{9F9E}\x{9F9F}\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu', + . '\x{49B6}\x{49B7}\x{4C77}\x{4C9F}-\x{4CA3}\x{4D13}-\x{4D19}\x{4DAE}' + . '\x{4E00}-\x{4E11}\x{4E13}-\x{4E28}\x{4E2A}-\x{4E54}\x{4E56}-\x{4E67}' + . '\x{4E69}-\x{4E78}\x{4E7A}-\x{4E89}\x{4E8B}-\x{4E95}\x{4E97}-\x{4EA2}' + . '\x{4EA4}-\x{4EBB}\x{4EBD}-\x{4ECB}\x{4ECD}-\x{4EE6}\x{4EE8}-\x{4EEC}' + . '\x{4EEF}-\x{4EF7}\x{4EFB}\x{4EFD}\x{4EFF}-\x{4F06}\x{4F08}-\x{4F15}' + . '\x{4F17}-\x{4F27}\x{4F29}-\x{4F30}\x{4F32}-\x{4F34}\x{4F36}\x{4F38}-\x{4F3F}' + . '\x{4F41}-\x{4F43}\x{4F45}-\x{4F70}\x{4F72}-\x{4F8B}\x{4F8D}\x{4F8F}-\x{4FA1}' + . '\x{4FA3}-\x{4FAC}\x{4FAE}-\x{4FBC}\x{4FBE}-\x{4FC5}\x{4FC7}\x{4FC9}-\x{4FCB}' + . '\x{4FCD}-\x{4FE1}\x{4FE3}-\x{4FFB}\x{4FFE}-\x{500F}\x{5011}-\x{5033}' + . '\x{5035}-\x{5037}\x{5039}-\x{503C}\x{503E}-\x{5041}\x{5043}-\x{504F}\x{5051}' + . '\x{5053}-\x{5057}\x{5059}-\x{507B}\x{507D}-\x{5080}\x{5082}-\x{5092}' + . '\x{5094}-\x{5096}\x{5098}-\x{509E}\x{50A2}-\x{50B8}\x{50BA}-\x{50C2}' + . '\x{50C4}-\x{50D7}\x{50D9}-\x{50DE}\x{50E0}\x{50E3}-\x{50EA}\x{50EC}-\x{50F3}' + . '\x{50F5}\x{50F6}\x{50F8}-\x{511A}\x{511C}-\x{5127}\x{5129}\x{512A}' + . '\x{512C}-\x{5141}\x{5143}-\x{5149}\x{514B}-\x{514E}\x{5150}-\x{5152}' + . '\x{5154}-\x{5157}\x{5159}-\x{515F}\x{5161}-\x{5163}\x{5165}-\x{5171}' + . '\x{5173}-\x{517D}\x{517F}-\x{5182}\x{5185}-\x{518D}\x{518F}-\x{51A0}\x{51A2}' + . '\x{51A4}-\x{51A8}\x{51AA}-\x{51AC}\x{51AE}-\x{51B3}\x{51B5}-\x{51B7}\x{51B9}' + . '\x{51BB}-\x{51C1}\x{51C3}-\x{51D1}\x{51D4}-\x{51DE}\x{51E0}-\x{51E5}' + . '\x{51E7}-\x{51EB}\x{51ED}\x{51EF}-\x{51F1}\x{51F3}-\x{5226}\x{5228}-\x{524E}' + . '\x{5250}-\x{5252}\x{5254}-\x{5265}\x{5267}-\x{5270}\x{5272}-\x{5278}' + . '\x{527A}-\x{5284}\x{5286}-\x{528D}\x{528F}-\x{52A3}\x{52A5}-\x{52C3}\x{52C6}' + . '\x{52C7}\x{52C9}-\x{52CB}\x{52CD}\x{52CF}\x{52D0}\x{52D2}\x{52D3}' + . '\x{52D5}-\x{52E0}\x{52E2}-\x{52E4}\x{52E6}-\x{52ED}\x{52EF}-\x{5302}' + . '\x{5305}-\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}-\x{5326}\x{5328}' + . '\x{532A}-\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}-\x{5341}\x{5343}-\x{535A}' + . '\x{535C}\x{535E}-\x{5367}\x{5369}\x{536B}\x{536C}\x{536E}-\x{537F}' + . '\x{5381}-\x{53A0}\x{53A2}-\x{53A9}\x{53AC}-\x{53AE}\x{53B0}-\x{53B9}' + . '\x{53BB}-\x{53C4}\x{53C6}-\x{53CE}\x{53D0}-\x{53D9}\x{53DB}\x{53DC}' + . '\x{53DF}-\x{53E6}\x{53E8}-\x{53FE}\x{5401}-\x{5419}\x{541B}-\x{5421}' + . '\x{5423}-\x{544B}\x{544D}-\x{545C}\x{545E}-\x{5468}\x{546A}-\x{5489}' + . '\x{548B}-\x{54B4}\x{54B6}-\x{54F5}\x{54F7}-\x{5514}\x{5516}\x{5517}' + . '\x{551A}-\x{5546}\x{5548}-\x{555F}\x{5561}-\x{5579}\x{557B}-\x{55DF}' + . '\x{55E1}-\x{55F7}\x{55F9}-\x{5604}\x{5606}-\x{5609}\x{560C}-\x{561F}' + . '\x{5621}-\x{562A}\x{562C}-\x{5636}\x{5638}-\x{563B}\x{563D}-\x{5643}' + . '\x{5645}-\x{564A}\x{564C}-\x{5650}\x{5652}-\x{5655}\x{5657}-\x{565E}\x{5660}' + . '\x{5662}-\x{5674}\x{5676}-\x{567C}\x{567E}-\x{5687}\x{568A}\x{568C}-\x{5695}' + . '\x{5697}-\x{569D}\x{569F}-\x{56A1}\x{56A3}-\x{56B9}\x{56BB}-\x{56CE}' + . '\x{56D0}-\x{56D8}\x{56DA}-\x{56E5}\x{56E7}-\x{56F5}\x{56F7}\x{56F9}\x{56FA}' + . '\x{56FD}-\x{5704}\x{5706}-\x{5710}\x{5712}-\x{5716}\x{5718}-\x{5720}\x{5722}' + . '\x{5723}\x{5725}-\x{573C}\x{573E}-\x{5742}\x{5744}-\x{5747}\x{5749}-\x{5754}' + . '\x{5757}\x{5759}-\x{5762}\x{5764}-\x{576D}\x{576F}-\x{5777}\x{5779}-\x{5780}' + . '\x{5782}-\x{5786}\x{5788}-\x{5795}\x{5797}-\x{57A7}\x{57A9}-\x{57C9}' + . '\x{57CB}-\x{57D0}\x{57D2}-\x{57D6}\x{57D8}-\x{57DA}\x{57DC}\x{57DD}' + . '\x{57DF}-\x{5816}\x{5819}-\x{5840}\x{5842}-\x{584F}\x{5851}-\x{5855}' + . '\x{5857}-\x{585F}\x{5861}-\x{5865}\x{5868}-\x{5876}\x{5878}-\x{5894}' + . '\x{5896}-\x{58A9}\x{58AB}-\x{58B4}\x{58B7}-\x{58BF}\x{58C1}\x{58C2}' + . '\x{58C5}-\x{58CB}\x{58CE}\x{58CF}\x{58D1}-\x{58DB}\x{58DD}-\x{58E0}' + . '\x{58E2}-\x{58E5}\x{58E7}-\x{58F4}\x{58F6}-\x{5900}\x{5902}-\x{5904}\x{5906}' + . '\x{5907}\x{5909}-\x{5910}\x{5912}\x{5914}-\x{5922}\x{5924}-\x{5932}\x{5934}' + . '\x{5935}\x{5937}-\x{5958}\x{595A}\x{595C}-\x{599A}\x{599C}-\x{59B6}' + . '\x{59B8}-\x{59E6}\x{59E8}-\x{5A23}\x{5A25}\x{5A27}-\x{5A2B}\x{5A2D}-\x{5A2F}' + . '\x{5A31}-\x{5A53}\x{5A55}-\x{5A58}\x{5A5A}-\x{5A6E}\x{5A70}\x{5A72}-\x{5A86}' + . '\x{5A88}-\x{5A8C}\x{5A8E}-\x{5AAA}\x{5AAC}-\x{5ACF}\x{5AD1}\x{5AD2}' + . '\x{5AD4}-\x{5AEE}\x{5AF1}-\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}-\x{5B38}' + . '\x{5B3A}-\x{5B45}\x{5B47}-\x{5B4E}\x{5B50}\x{5B51}\x{5B53}-\x{5B5F}' + . '\x{5B62}-\x{5B6E}\x{5B70}-\x{5B78}\x{5B7A}-\x{5B7D}\x{5B7F}-\x{5B85}' + . '\x{5B87}-\x{5B8F}\x{5B91}-\x{5BA8}\x{5BAA}-\x{5BB1}\x{5BB3}-\x{5BB6}' + . '\x{5BB8}-\x{5BBB}\x{5BBD}-\x{5BC7}\x{5BCA}-\x{5BD6}\x{5BD8}\x{5BD9}' + . '\x{5BDB}-\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}-\x{5C1A}\x{5C1C}-\x{5C22}\x{5C24}' + . '\x{5C25}\x{5C27}\x{5C28}\x{5C2A}-\x{5C35}\x{5C37}-\x{5C59}\x{5C5B}-\x{5C84}' + . '\x{5C86}-\x{5CB3}\x{5CB5}-\x{5CB8}\x{5CBA}-\x{5CBF}\x{5CC1}-\x{5CD4}' + . '\x{5CD6}-\x{5CDC}\x{5CDE}-\x{5CF4}\x{5CF6}-\x{5D2A}\x{5D2C}-\x{5D2E}' + . '\x{5D30}-\x{5D3A}\x{5D3C}-\x{5D52}\x{5D54}-\x{5D56}\x{5D58}-\x{5D5B}' + . '\x{5D5D}-\x{5D5F}\x{5D61}-\x{5D82}\x{5D84}-\x{5D95}\x{5D97}-\x{5DA2}' + . '\x{5DA5}-\x{5DAA}\x{5DAC}-\x{5DB2}\x{5DB4}-\x{5DB8}\x{5DBA}-\x{5DC3}' + . '\x{5DC5}-\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}-\x{5DF5}\x{5DF7}-\x{5E11}' + . '\x{5E13}-\x{5E3E}\x{5E40}-\x{5E47}\x{5E49}-\x{5E50}\x{5E52}-\x{5E91}' + . '\x{5E93}-\x{5EB9}\x{5EBB}-\x{5EBF}\x{5EC1}-\x{5EEA}\x{5EEC}-\x{5EF8}' + . '\x{5EFA}-\x{5F08}\x{5F0A}-\x{5F0D}\x{5F0F}\x{5F11}-\x{5F3A}\x{5F3C}' + . '\x{5F3E}-\x{5F8E}\x{5F90}-\x{5F99}\x{5F9B}-\x{5FA2}\x{5FA5}-\x{5FAF}' + . '\x{5FB1}-\x{5FC1}\x{5FC3}-\x{5FCD}\x{5FCF}-\x{5FDA}\x{5FDC}-\x{5FDE}\x{5FE0}' + . '\x{5FE1}\x{5FE3}-\x{5FEB}\x{5FED}-\x{5FFB}\x{5FFD}-\x{6022}\x{6024}-\x{6055}' + . '\x{6057}-\x{605F}\x{6062}-\x{6070}\x{6072}\x{6073}\x{6075}-\x{6090}\x{6092}' + . '\x{6094}-\x{60A4}\x{60A6}-\x{60A8}\x{60AA}-\x{60D1}\x{60D3}-\x{60D5}' + . '\x{60D7}-\x{60DD}\x{60DF}-\x{60E2}\x{60E4}\x{60E6}-\x{60FC}\x{60FE}-\x{6101}' + . '\x{6103}-\x{6106}\x{6108}-\x{6110}\x{6112}-\x{611D}\x{611F}\x{6120}' + . '\x{6122}-\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}-\x{615F}' + . '\x{6161}-\x{616E}\x{6170}-\x{617A}\x{617C}\x{617E}\x{6180}-\x{6185}' + . '\x{6187}-\x{6196}\x{6198}-\x{619B}\x{619D}-\x{61B8}\x{61BA}\x{61BC}-\x{61D2}' + . '\x{61D4}\x{61D6}-\x{61EB}\x{61ED}\x{61EE}\x{61F0}-\x{61F3}\x{61F5}-\x{6204}' + . '\x{6206}-\x{6234}\x{6236}-\x{6238}\x{623A}-\x{6256}\x{6258}-\x{6281}' + . '\x{6283}-\x{628C}\x{628E}-\x{629C}\x{629E}-\x{62A5}\x{62A7}-\x{62DD}' + . '\x{62DF}-\x{62E9}\x{62EB}-\x{6309}\x{630B}-\x{6316}\x{6318}-\x{6330}' + . '\x{6332}-\x{6334}\x{6336}\x{6338}-\x{633E}\x{6340}-\x{635A}\x{635C}-\x{637E}' + . '\x{6380}-\x{638A}\x{638C}-\x{6392}\x{6394}-\x{63BA}\x{63BC}-\x{63D0}' + . '\x{63D2}-\x{6406}\x{6408}-\x{643A}\x{643D}-\x{6441}\x{6443}-\x{6448}' + . '\x{644A}-\x{6459}\x{645B}-\x{647D}\x{647F}-\x{6485}\x{6487}-\x{64A0}' + . '\x{64A2}-\x{64AE}\x{64B0}-\x{64B5}\x{64B7}-\x{64C7}\x{64C9}-\x{64D4}' + . '\x{64D6}-\x{64E0}\x{64E2}-\x{64E4}\x{64E6}-\x{64ED}\x{64EF}-\x{64F4}' + . '\x{64F6}-\x{64F8}\x{64FA}-\x{6501}\x{6503}-\x{6509}\x{650B}-\x{651E}' + . '\x{6520}-\x{6527}\x{6529}-\x{653F}\x{6541}\x{6543}-\x{6559}\x{655B}-\x{655E}' + . '\x{6560}-\x{656C}\x{656E}-\x{657C}\x{657E}-\x{6589}\x{658B}-\x{6599}' + . '\x{659B}-\x{65B4}\x{65B6}-\x{65BD}\x{65BF}-\x{65C7}\x{65CA}-\x{65D0}' + . '\x{65D2}-\x{65D7}\x{65DA}\x{65DB}\x{65DD}-\x{65E3}\x{65E5}-\x{65E9}' + . '\x{65EB}-\x{65F8}\x{65FA}-\x{65FD}\x{6600}-\x{6616}\x{6618}-\x{661D}' + . '\x{661F}-\x{662B}\x{662D}-\x{6636}\x{6639}\x{663A}\x{663C}-\x{663E}' + . '\x{6640}-\x{6647}\x{6649}-\x{664C}\x{664E}-\x{665F}\x{6661}\x{6662}' + . '\x{6664}-\x{6666}\x{6668}-\x{6691}\x{6693}-\x{669B}\x{669D}\x{669F}-\x{66AB}' + . '\x{66AE}-\x{66CF}\x{66D1}\x{66D2}\x{66D4}-\x{66D6}\x{66D8}-\x{66DE}' + . '\x{66E0}-\x{66EE}\x{66F0}-\x{66FC}\x{66FE}-\x{6701}\x{6703}-\x{6706}' + . '\x{6708}-\x{6718}\x{671A}-\x{6723}\x{6725}-\x{6728}\x{672A}-\x{6766}' + . '\x{6768}-\x{6787}\x{6789}-\x{6795}\x{6797}-\x{67A8}\x{67AA}-\x{67BC}\x{67BE}' + . '\x{67C0}-\x{67D4}\x{67D6}\x{67D8}-\x{67F8}\x{67FA}-\x{6800}\x{6802}-\x{6814}' + . '\x{6816}-\x{681D}\x{681F}-\x{6826}\x{6828}-\x{682F}\x{6831}-\x{6857}\x{685B}' + . '\x{685D}\x{6860}-\x{6879}\x{687B}-\x{6894}\x{6896}-\x{6898}\x{689A}-\x{68A4}' + . '\x{68A6}-\x{68B7}\x{68B9}\x{68BB}-\x{68C2}\x{68C4}\x{68C6}-\x{68D8}' + . '\x{68DA}-\x{68E1}\x{68E3}\x{68E4}\x{68E6}-\x{68FF}\x{6901}-\x{6908}' + . '\x{690A}-\x{693D}\x{693F}-\x{694C}\x{694E}-\x{699E}\x{69A0}\x{69A1}' + . '\x{69A3}-\x{69BF}\x{69C1}-\x{69D0}\x{69D3}\x{69D4}\x{69D8}-\x{69F8}' + . '\x{69FA}-\x{6A02}\x{6A04}-\x{6A0B}\x{6A0D}-\x{6A1B}\x{6A1D}-\x{6A23}' + . '\x{6A25}-\x{6A36}\x{6A38}-\x{6A49}\x{6A4B}-\x{6A52}\x{6A54}-\x{6A5B}' + . '\x{6A5D}-\x{6A6D}\x{6A6F}\x{6A71}-\x{6A85}\x{6A87}-\x{6A89}\x{6A8B}-\x{6A8E}' + . '\x{6A90}-\x{6A98}\x{6A9A}-\x{6A9C}\x{6A9E}-\x{6AA9}\x{6AAB}-\x{6AB0}' + . '\x{6AB2}-\x{6ABD}\x{6ABF}\x{6AC1}-\x{6AC3}\x{6AC5}-\x{6AC7}\x{6ACA}-\x{6AD7}' + . '\x{6AD9}-\x{6AE8}\x{6AEA}-\x{6B0D}\x{6B0F}-\x{6B1A}\x{6B1C}-\x{6B2D}' + . '\x{6B2F}-\x{6B34}\x{6B36}-\x{6B3F}\x{6B41}-\x{6B56}\x{6B59}-\x{6B5C}' + . '\x{6B5E}-\x{6B67}\x{6B69}-\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}-\x{6B74}' + . '\x{6B76}-\x{6B7C}\x{6B7E}-\x{6BB0}\x{6BB2}-\x{6BB7}\x{6BB9}-\x{6BE8}' + . '\x{6BEA}-\x{6BF0}\x{6BF2}\x{6BF3}\x{6BF5}-\x{6BF9}\x{6BFB}-\x{6C09}' + . '\x{6C0B}-\x{6C16}\x{6C18}-\x{6C1B}\x{6C1D}-\x{6C2C}\x{6C2E}-\x{6C38}\x{6C3A}' + . '\x{6C3B}\x{6C3D}-\x{6C44}\x{6C46}-\x{6C6B}\x{6C6D}\x{6C6F}-\x{6C9F}' + . '\x{6CA1}-\x{6CD7}\x{6CD9}-\x{6CF3}\x{6CF5}-\x{6D01}\x{6D03}-\x{6D1B}' + . '\x{6D1D}-\x{6D23}\x{6D25}-\x{6D70}\x{6D72}-\x{6D80}\x{6D82}-\x{6D95}' + . '\x{6D97}-\x{6D9B}\x{6D9D}-\x{6DAF}\x{6DB2}-\x{6DB5}\x{6DB7}-\x{6DFD}\x{6E00}' + . '\x{6E03}-\x{6E05}\x{6E07}-\x{6E11}\x{6E14}-\x{6E17}\x{6E19}-\x{6E29}' + . '\x{6E2B}-\x{6E4B}\x{6E4D}-\x{6E6B}\x{6E6D}-\x{6E75}\x{6E77}-\x{6E79}' + . '\x{6E7E}-\x{6E8A}\x{6E8D}-\x{6E94}\x{6E96}-\x{6EDA}\x{6EDC}\x{6EDE}-\x{6EE2}' + . '\x{6EE4}-\x{6F03}\x{6F05}-\x{6F0A}\x{6F0C}-\x{6F41}\x{6F43}-\x{6F47}\x{6F49}' + . '\x{6F4B}-\x{6F78}\x{6F7A}-\x{6F97}\x{6F99}\x{6F9B}-\x{6F9E}\x{6FA0}-\x{6FB6}' + . '\x{6FB8}-\x{6FC4}\x{6FC6}-\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}-\x{6FF4}' + . '\x{6FF6}-\x{6FFC}\x{6FFE}-\x{700F}\x{7011}\x{7012}\x{7014}-\x{701D}' + . '\x{701F}-\x{7046}\x{7048}-\x{704A}\x{704C}\x{704D}\x{704F}-\x{7071}' + . '\x{7074}-\x{707A}\x{707C}-\x{7080}\x{7082}-\x{708C}\x{708E}-\x{7096}' + . '\x{7098}-\x{709A}\x{709C}-\x{70A9}\x{70AB}-\x{70B1}\x{70B3}-\x{70B5}' + . '\x{70B7}-\x{70D4}\x{70D6}-\x{70FD}\x{70FF}-\x{7107}\x{7109}-\x{7113}' + . '\x{7115}-\x{7123}\x{7125}-\x{7132}\x{7135}-\x{713B}\x{713D}-\x{7154}\x{7156}' + . '\x{7158}-\x{716A}\x{716C}\x{716E}-\x{718C}\x{718E}-\x{7195}\x{7197}-\x{71A5}' + . '\x{71A7}-\x{71AA}\x{71AC}-\x{71B5}\x{71B7}-\x{71CB}\x{71CD}-\x{71D2}' + . '\x{71D4}-\x{71F2}\x{71F4}-\x{71F9}\x{71FB}-\x{71FF}\x{7201}-\x{720A}' + . '\x{720C}-\x{7210}\x{7212}-\x{7214}\x{7216}\x{7218}-\x{721F}\x{7221}-\x{7223}' + . '\x{7226}-\x{722E}\x{7230}-\x{7233}\x{7235}-\x{7244}\x{7246}-\x{724D}\x{724F}' + . '\x{7251}-\x{7254}\x{7256}-\x{729F}\x{72A1}-\x{72AA}\x{72AC}-\x{72BD}' + . '\x{72BF}-\x{7301}\x{7303}-\x{730F}\x{7311}-\x{731E}\x{7320}-\x{7327}' + . '\x{7329}-\x{732E}\x{7330}-\x{734E}\x{7350}-\x{7352}\x{7354}-\x{7362}' + . '\x{7364}-\x{739B}\x{739D}-\x{73C0}\x{73C2}-\x{73E0}\x{73E2}\x{73E3}' + . '\x{73E5}-\x{73F2}\x{73F4}-\x{73FA}\x{73FC}-\x{7417}\x{7419}-\x{7438}' + . '\x{743A}-\x{743D}\x{743F}-\x{7446}\x{7448}\x{744A}-\x{7457}\x{7459}-\x{745F}' + . '\x{7461}-\x{747A}\x{747C}-\x{7483}\x{7485}-\x{7495}\x{7497}-\x{749C}' + . '\x{749E}-\x{74A1}\x{74A3}-\x{74C6}\x{74CA}\x{74CB}\x{74CD}-\x{74EA}' + . '\x{74EC}-\x{750D}\x{750F}-\x{751F}\x{7521}-\x{7533}\x{7535}-\x{7540}' + . '\x{7542}-\x{7549}\x{754B}-\x{7551}\x{7553}\x{7554}\x{7556}-\x{755D}\x{755F}' + . '\x{7560}\x{7562}-\x{7570}\x{7572}\x{7574}-\x{7579}\x{757C}-\x{7584}' + . '\x{7586}-\x{758D}\x{758F}-\x{75A8}\x{75AA}-\x{75B6}\x{75B8}-\x{75DB}' + . '\x{75DD}-\x{75E8}\x{75EA}-\x{75ED}\x{75EF}-\x{762B}\x{762D}-\x{7643}' + . '\x{7646}-\x{764D}\x{764F}\x{7650}\x{7652}-\x{7654}\x{7656}-\x{7672}' + . '\x{7674}-\x{7679}\x{767B}-\x{768C}\x{768E}-\x{76A0}\x{76A3}\x{76A4}\x{76A6}' + . '\x{76A7}\x{76A9}-\x{76B2}\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}-\x{76C0}' + . '\x{76C2}-\x{76CA}\x{76CD}-\x{76D8}\x{76DA}-\x{76EA}\x{76EC}-\x{76FF}\x{7701}' + . '\x{7703}-\x{770D}\x{770F}-\x{7720}\x{7722}\x{7723}\x{7725}-\x{772A}' + . '\x{772C}-\x{773E}\x{7740}\x{7741}\x{7743}-\x{7763}\x{7765}-\x{7795}' + . '\x{7797}-\x{77A3}\x{77A5}-\x{77BD}\x{77BF}\x{77C0}\x{77C2}-\x{77D1}' + . '\x{77D3}-\x{77DC}\x{77DE}-\x{77E3}\x{77E5}\x{77E7}-\x{77F3}\x{77F6}-\x{7806}' + . '\x{7808}-\x{7823}\x{7825}-\x{7835}\x{7837}-\x{783E}\x{7840}\x{7841}' + . '\x{7843}-\x{7845}\x{7847}-\x{784A}\x{784C}-\x{784E}\x{7850}-\x{7875}' + . '\x{7877}-\x{7887}\x{7889}-\x{78C1}\x{78C3}-\x{78C6}\x{78C8}-\x{78D1}' + . '\x{78D3}-\x{78EF}\x{78F1}-\x{78F7}\x{78F9}-\x{78FF}\x{7901}-\x{7907}' + . '\x{7909}-\x{790C}\x{790E}-\x{7914}\x{7916}-\x{791E}\x{7921}-\x{7931}' + . '\x{7933}-\x{7935}\x{7937}-\x{7958}\x{795A}-\x{796B}\x{796D}\x{796F}-\x{7974}' + . '\x{7977}-\x{7985}\x{7988}-\x{799C}\x{799F}-\x{79A8}\x{79AA}-\x{79BB}' + . '\x{79BD}-\x{79C3}\x{79C5}\x{79C6}\x{79C8}-\x{79CB}\x{79CD}-\x{79D3}\x{79D5}' + . '\x{79D6}\x{79D8}-\x{7A00}\x{7A02}-\x{7A06}\x{7A08}\x{7A0A}-\x{7A2B}' + . '\x{7A2D}-\x{7A35}\x{7A37}\x{7A39}\x{7A3B}-\x{7A4E}\x{7A50}-\x{7A62}' + . '\x{7A65}-\x{7A69}\x{7A6B}-\x{7A6E}\x{7A70}-\x{7A81}\x{7A83}-\x{7A99}' + . '\x{7A9C}-\x{7AB8}\x{7ABA}\x{7ABE}-\x{7AC1}\x{7AC4}\x{7AC5}\x{7AC7}-\x{7AD6}' + . '\x{7AD8}\x{7AD9}\x{7ADB}-\x{7AE8}\x{7AEA}-\x{7AF4}\x{7AF6}-\x{7AFB}' + . '\x{7AFD}-\x{7B06}\x{7B08}-\x{7B1E}\x{7B20}-\x{7B26}\x{7B28}\x{7B2A}-\x{7B41}' + . '\x{7B43}-\x{7B52}\x{7B54}-\x{7B6E}\x{7B70}-\x{7B79}\x{7B7B}-\x{7B85}' + . '\x{7B87}-\x{7B91}\x{7B93}-\x{7BA2}\x{7BA4}\x{7BA6}-\x{7BAF}\x{7BB1}' + . '\x{7BB3}-\x{7BCE}\x{7BD0}-\x{7BF9}\x{7BFB}-\x{7C13}\x{7C15}-\x{7C1A}' + . '\x{7C1C}-\x{7C2D}\x{7C30}-\x{7C4E}\x{7C50}\x{7C51}\x{7C53}\x{7C54}' + . '\x{7C56}-\x{7C5C}\x{7C5E}-\x{7C75}\x{7C77}-\x{7C82}\x{7C84}-\x{7C86}' + . '\x{7C88}-\x{7C92}\x{7C94}-\x{7C99}\x{7C9B}-\x{7CAA}\x{7CAD}-\x{7CD2}' + . '\x{7CD4}-\x{7CD9}\x{7CDC}-\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}-\x{7CFB}\x{7CFD}' + . '\x{7CFE}\x{7D00}-\x{7D22}\x{7D24}-\x{7D29}\x{7D2B}\x{7D2C}\x{7D2E}-\x{7D47}' + . '\x{7D49}-\x{7D4C}\x{7D4E}-\x{7D59}\x{7D5B}-\x{7D63}\x{7D65}-\x{7D77}' + . '\x{7D79}-\x{7D81}\x{7D83}-\x{7D94}\x{7D96}\x{7D97}\x{7D99}\x{7D9B}-\x{7DA3}' + . '\x{7DA5}-\x{7DA7}\x{7DA9}-\x{7DCC}\x{7DCE}-\x{7DD2}\x{7DD4}-\x{7DDB}' + . '\x{7DDD}-\x{7DE3}\x{7DE6}-\x{7DEA}\x{7DEC}-\x{7DFC}\x{7E00}-\x{7E17}' + . '\x{7E19}-\x{7E49}\x{7E4C}-\x{7E5A}\x{7E5C}-\x{7E63}\x{7E65}-\x{7E9C}' + . '\x{7E9E}-\x{7F3A}\x{7F3D}-\x{7F40}\x{7F42}-\x{7F45}\x{7F47}-\x{7F58}' + . '\x{7F5A}-\x{7F83}\x{7F85}-\x{7F8F}\x{7F91}-\x{7F96}\x{7F98}\x{7F9A}-\x{7FB3}' + . '\x{7FB5}-\x{7FD5}\x{7FD7}-\x{7FDC}\x{7FDE}-\x{7FE3}\x{7FE5}-\x{8009}' + . '\x{800B}-\x{802E}\x{8030}-\x{803B}\x{803D}-\x{803F}\x{8041}-\x{8065}' + . '\x{8067}-\x{8087}\x{8089}-\x{808D}\x{808F}-\x{8093}\x{8095}-\x{80A5}' + . '\x{80A9}-\x{80AB}\x{80AD}-\x{80B2}\x{80B4}-\x{80B8}\x{80BA}-\x{80DE}' + . '\x{80E0}-\x{8102}\x{8105}-\x{8116}\x{8118}-\x{8132}\x{8136}-\x{815E}' + . '\x{8160}-\x{8183}\x{8185}-\x{818F}\x{8191}-\x{8195}\x{8197}-\x{81CA}' + . '\x{81CC}-\x{81D2}\x{81D4}-\x{81E3}\x{81E5}-\x{81EE}\x{81F1}-\x{8212}' + . '\x{8214}-\x{8216}\x{8218}-\x{8223}\x{8225}-\x{822D}\x{822F}-\x{8240}' + . '\x{8242}-\x{8261}\x{8263}\x{8264}\x{8266}-\x{828B}\x{828D}-\x{82B1}' + . '\x{82B3}-\x{82E1}\x{82E3}-\x{82FB}\x{82FD}-\x{8309}\x{830B}-\x{830F}' + . '\x{8311}-\x{832F}\x{8331}-\x{8354}\x{8356}-\x{839E}\x{83A0}-\x{83B4}' + . '\x{83B6}-\x{83BD}\x{83BF}-\x{83E5}\x{83E7}-\x{83EC}\x{83EE}-\x{8413}\x{8415}' + . '\x{8418}-\x{841E}\x{8421}-\x{8457}\x{8459}-\x{8482}\x{8484}-\x{8494}' + . '\x{8496}-\x{84AC}\x{84AE}-\x{84B6}\x{84B8}-\x{84C2}\x{84C4}-\x{84D9}' + . '\x{84DB}-\x{84EC}\x{84EE}-\x{8504}\x{8506}-\x{850F}\x{8511}-\x{8531}' + . '\x{8534}-\x{854B}\x{854D}-\x{854F}\x{8551}-\x{857E}\x{8580}-\x{8592}' + . '\x{8594}-\x{8596}\x{8598}-\x{85B1}\x{85B3}-\x{85BA}\x{85BC}-\x{85CB}' + . '\x{85CD}-\x{85ED}\x{85EF}-\x{85F2}\x{85F4}-\x{85FB}\x{85FD}-\x{8602}' + . '\x{8604}-\x{860C}\x{860F}\x{8611}-\x{8614}\x{8616}-\x{861C}\x{861E}-\x{8636}' + . '\x{8638}-\x{8656}\x{8658}-\x{8674}\x{8676}-\x{8688}\x{868A}-\x{8691}' + . '\x{8693}-\x{869F}\x{86A1}-\x{86A5}\x{86A7}-\x{86CC}\x{86CE}-\x{86D4}' + . '\x{86D6}-\x{86DF}\x{86E1}-\x{86E6}\x{86E8}-\x{86FC}\x{86FE}-\x{871C}' + . '\x{871E}-\x{872E}\x{8730}-\x{873C}\x{873E}-\x{8744}\x{8746}-\x{874A}' + . '\x{874C}-\x{8770}\x{8772}-\x{877E}\x{8780}-\x{878D}\x{878F}-\x{8798}' + . '\x{879A}-\x{87D9}\x{87DB}-\x{87EF}\x{87F1}-\x{8806}\x{8808}-\x{8811}' + . '\x{8813}-\x{882C}\x{882E}-\x{8839}\x{883B}-\x{8846}\x{8848}-\x{8857}' + . '\x{8859}-\x{885B}\x{885D}\x{885E}\x{8860}-\x{8879}\x{887B}-\x{88B4}' + . '\x{88B6}-\x{88E5}\x{88E7}\x{88E8}\x{88EA}-\x{88EC}\x{88EE}-\x{8902}' + . '\x{8904}-\x{890E}\x{8910}-\x{8923}\x{8925}-\x{894C}\x{894E}-\x{8964}' + . '\x{8966}-\x{8974}\x{8976}-\x{897C}\x{897E}-\x{898C}\x{898E}\x{898F}' + . '\x{8991}-\x{8993}\x{8995}-\x{8998}\x{899A}-\x{89A8}\x{89AA}-\x{89AF}' + . '\x{89B1}-\x{89B3}\x{89B5}-\x{89BA}\x{89BD}-\x{89ED}\x{89EF}-\x{89F4}' + . '\x{89F6}-\x{89F8}\x{89FA}-\x{89FC}\x{89FE}-\x{8A04}\x{8A07}-\x{8A13}' + . '\x{8A15}-\x{8A18}\x{8A1A}-\x{8A1F}\x{8A22}-\x{8A2A}\x{8A2C}-\x{8A32}' + . '\x{8A34}-\x{8A3C}\x{8A3E}-\x{8A4A}\x{8A4C}-\x{8A63}\x{8A65}-\x{8A77}' + . '\x{8A79}-\x{8A7C}\x{8A7E}-\x{8A87}\x{8A89}-\x{8A9E}\x{8AA0}-\x{8AAC}\x{8AAE}' + . '\x{8AB0}-\x{8AB6}\x{8AB8}-\x{8ACF}\x{8AD1}-\x{8AEB}\x{8AED}-\x{8B0B}' + . '\x{8B0D}-\x{8B28}\x{8B2A}-\x{8B31}\x{8B33}-\x{8B37}\x{8B39}-\x{8B3E}' + . '\x{8B40}-\x{8B60}\x{8B63}-\x{8B68}\x{8B6A}-\x{8B71}\x{8B73}\x{8B74}' + . '\x{8B76}-\x{8B7B}\x{8B7D}-\x{8B80}\x{8B82}-\x{8B86}\x{8B88}-\x{8B8C}\x{8B8E}' + . '\x{8B90}-\x{8B9A}\x{8B9C}-\x{8C37}\x{8C39}-\x{8C3F}\x{8C41}-\x{8C43}' + . '\x{8C45}-\x{8C50}\x{8C54}-\x{8C57}\x{8C59}-\x{8C73}\x{8C75}-\x{8C7B}\x{8C7D}' + . '\x{8C7E}\x{8C80}-\x{8C82}\x{8C84}-\x{8C86}\x{8C88}-\x{8C8A}\x{8C8C}\x{8C8D}' + . '\x{8C8F}-\x{8C9A}\x{8C9C}-\x{8CA5}\x{8CA7}-\x{8CCA}\x{8CCC}\x{8CCE}-\x{8CD5}' + . '\x{8CD7}\x{8CD9}-\x{8CE8}\x{8CEA}-\x{8CF6}\x{8CF8}-\x{8D00}\x{8D02}-\x{8D10}' + . '\x{8D13}-\x{8D7B}\x{8D7D}-\x{8DA5}\x{8DA7}-\x{8DBF}\x{8DC1}-\x{8DE4}' + . '\x{8DE6}-\x{8E00}\x{8E02}-\x{8E0A}\x{8E0C}-\x{8E31}\x{8E33}-\x{8E45}' + . '\x{8E47}-\x{8E4E}\x{8E50}-\x{8E6D}\x{8E6F}-\x{8E74}\x{8E76}\x{8E78}' + . '\x{8E7A}-\x{8E98}\x{8E9A}\x{8E9C}-\x{8EA1}\x{8EA3}-\x{8EB2}\x{8EB4}\x{8EB5}' + . '\x{8EB8}-\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}-\x{8ED8}\x{8EDA}-\x{8EE1}' + . '\x{8EE4}-\x{8EEF}\x{8EF1}-\x{8F0B}\x{8F0D}\x{8F0E}\x{8F10}-\x{8F18}' + . '\x{8F1A}-\x{8F2C}\x{8F2E}-\x{8F39}\x{8F3B}-\x{8F40}\x{8F42}-\x{8F5B}' + . '\x{8F5D}-\x{8F9C}\x{8F9E}-\x{8FA3}\x{8FA5}-\x{8FB2}\x{8FB4}-\x{8FB9}' + . '\x{8FBB}-\x{8FC2}\x{8FC4}-\x{8FC9}\x{8FCB}-\x{8FE6}\x{8FE8}-\x{900D}' + . '\x{900F}-\x{9029}\x{902B}\x{902D}-\x{9036}\x{9038}\x{903A}-\x{903F}' + . '\x{9041}-\x{9045}\x{9047}-\x{90AA}\x{90AC}-\x{90CB}\x{90CE}-\x{90D1}' + . '\x{90D3}-\x{90F5}\x{90F7}-\x{9109}\x{910B}-\x{913B}\x{913E}-\x{9158}' + . '\x{915A}-\x{917A}\x{917C}-\x{9194}\x{9196}\x{9199}-\x{91A3}\x{91A5}-\x{91A8}' + . '\x{91AA}-\x{91B7}\x{91B9}-\x{91BE}\x{91C0}-\x{91C3}\x{91C5}-\x{91C7}' + . '\x{91C9}-\x{91D5}\x{91D7}-\x{91DF}\x{91E2}-\x{91EE}\x{91F0}-\x{91F5}' + . '\x{91F7}-\x{91FB}\x{91FD}-\x{9212}\x{9214}-\x{921E}\x{9220}\x{9221}' + . '\x{9223}-\x{922B}\x{922D}-\x{9242}\x{9245}-\x{9268}\x{926B}-\x{9270}' + . '\x{9272}-\x{9280}\x{9282}\x{9283}\x{9285}-\x{929D}\x{929F}-\x{92BC}' + . '\x{92BE}-\x{92D3}\x{92D5}-\x{92DA}\x{92DC}-\x{92E1}\x{92E3}-\x{931B}' + . '\x{931D}-\x{932B}\x{932D}-\x{932F}\x{9332}-\x{9361}\x{9363}-\x{9367}\x{9369}' + . '\x{936A}\x{936C}-\x{936E}\x{9370}-\x{9372}\x{9374}-\x{9377}\x{9379}-\x{937E}' + . '\x{9380}\x{9382}-\x{938A}\x{938C}-\x{939B}\x{939D}-\x{939F}\x{93A1}-\x{93AA}' + . '\x{93AC}-\x{93BA}\x{93BC}-\x{93DF}\x{93E1}-\x{93E4}\x{93E6}-\x{93F2}' + . '\x{93F4}-\x{9401}\x{9403}-\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}' + . '\x{9422}\x{9423}\x{9425}-\x{9442}\x{9444}-\x{944D}\x{944F}-\x{9459}' + . '\x{945B}-\x{946B}\x{946D}-\x{947A}\x{947C}-\x{9577}\x{957A}-\x{957D}' + . '\x{957F}-\x{9584}\x{9586}-\x{9596}\x{9598}-\x{959F}\x{95A1}-\x{95B2}' + . '\x{95B5}-\x{95B7}\x{95B9}-\x{95C0}\x{95C2}-\x{95D8}\x{95DA}-\x{95DC}' + . '\x{95DE}-\x{9624}\x{9627}\x{9628}\x{962A}-\x{963D}\x{963F}-\x{9655}' + . '\x{9658}-\x{9664}\x{9666}-\x{9678}\x{967C}-\x{967E}\x{9680}\x{9683}-\x{968B}' + . '\x{968D}-\x{9695}\x{9697}-\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}-\x{96AA}' + . '\x{96AC}-\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}-\x{96E3}\x{96E5}' + . '\x{96E8}-\x{96FB}\x{96FD}-\x{9713}\x{9715}\x{9716}\x{9718}\x{9719}' + . '\x{971C}-\x{9732}\x{9735}\x{9736}\x{9738}-\x{973F}\x{9742}-\x{974C}' + . '\x{974E}-\x{9756}\x{9758}-\x{9762}\x{9765}-\x{9770}\x{9772}-\x{9774}' + . '\x{9776}-\x{9786}\x{9788}\x{978A}-\x{979A}\x{979C}-\x{97A8}\x{97AA}-\x{97AF}' + . '\x{97B2}-\x{97B4}\x{97B6}-\x{97BD}\x{97BF}\x{97C1}-\x{97D1}\x{97D3}-\x{97FB}' + . '\x{97FD}-\x{981E}\x{9820}-\x{9824}\x{9826}-\x{9829}\x{982B}\x{982D}-\x{9832}' + . '\x{9834}-\x{9839}\x{983B}-\x{983D}\x{983F}-\x{9841}\x{9843}-\x{9846}' + . '\x{9848}-\x{984A}\x{984C}-\x{9855}\x{9857}-\x{9865}\x{9867}\x{9869}-\x{98B6}' + . '\x{98B8}-\x{98C6}\x{98C8}\x{98C9}\x{98CB}-\x{98E0}\x{98E2}\x{98E3}' + . '\x{98E5}-\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}-\x{98F7}\x{98F9}\x{98FA}' + . '\x{98FC}-\x{9918}\x{991A}-\x{993A}\x{993C}-\x{9943}\x{9945}-\x{994C}' + . '\x{994E}-\x{9959}\x{995B}\x{995C}\x{995E}-\x{99BE}\x{99C0}-\x{99C4}' + . '\x{99C6}-\x{99DF}\x{99E1}-\x{99E5}\x{99E7}-\x{99EA}\x{99EC}-\x{99F4}' + . '\x{99F6}-\x{9A0F}\x{9A11}\x{9A14}-\x{9A16}\x{9A19}-\x{9A27}\x{9A29}-\x{9A3A}' + . '\x{9A3C}-\x{9A50}\x{9A52}-\x{9A57}\x{9A59}-\x{9A5C}\x{9A5E}-\x{9A62}' + . '\x{9A64}-\x{9AA8}\x{9AAA}-\x{9ABC}\x{9ABE}-\x{9AC7}\x{9AC9}-\x{9AD6}' + . '\x{9AD8}-\x{9ADF}\x{9AE1}-\x{9AE3}\x{9AE5}-\x{9AE7}\x{9AEA}-\x{9AEF}' + . '\x{9AF1}-\x{9AFF}\x{9B01}\x{9B03}-\x{9B08}\x{9B0A}-\x{9B13}\x{9B15}-\x{9B1A}' + . '\x{9B1C}-\x{9B33}\x{9B35}-\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}-\x{9B4F}' + . '\x{9B51}-\x{9B56}\x{9B58}-\x{9B61}\x{9B63}-\x{9B71}\x{9B73}-\x{9B88}\x{9B8A}' + . '\x{9B8B}\x{9B8D}-\x{9B98}\x{9B9A}-\x{9BC1}\x{9BC3}-\x{9BF5}\x{9BF7}-\x{9BFF}' + . '\x{9C02}\x{9C05}-\x{9C2D}\x{9C2F}-\x{9C41}\x{9C43}-\x{9C4E}\x{9C50}' + . '\x{9C52}-\x{9C60}\x{9C62}\x{9C63}\x{9C65}-\x{9C75}\x{9C77}-\x{9C7A}' + . '\x{9C7C}-\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}-\x{9D26}\x{9D28}\x{9D29}\x{9D2B}' + . '\x{9D2D}-\x{9D34}\x{9D36}-\x{9D3B}\x{9D3D}-\x{9D43}\x{9D45}-\x{9D6C}' + . '\x{9D6E}-\x{9D8E}\x{9D90}-\x{9D94}\x{9D96}-\x{9DAD}\x{9DAF}-\x{9DBC}\x{9DBE}' + . '\x{9DBF}\x{9DC1}-\x{9DC5}\x{9DC7}-\x{9DE9}\x{9DEB}-\x{9DFB}\x{9DFD}-\x{9E0D}' + . '\x{9E0F}-\x{9E15}\x{9E17}-\x{9E1B}\x{9E1D}-\x{9E77}\x{9E79}\x{9E7A}' + . '\x{9E7C}-\x{9E8E}\x{9E91}-\x{9E94}\x{9E96}\x{9E97}\x{9E99}-\x{9E9D}' + . '\x{9E9F}-\x{9EA1}\x{9EA3}-\x{9EAA}\x{9EAD}-\x{9EB0}\x{9EB2}-\x{9EB8}' + . '\x{9EBB}-\x{9EEB}\x{9EED}-\x{9EF0}\x{9EF2}-\x{9F02}\x{9F04}-\x{9F10}\x{9F12}' + . '\x{9F13}\x{9F15}-\x{9F20}\x{9F22}-\x{9F25}\x{9F27}-\x{9F44}\x{9F46}-\x{9F52}' + . '\x{9F54}-\x{9F61}\x{9F63}-\x{9F6C}\x{9F6E}-\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu', ]; diff --git a/vendor/league/color-extractor/.gitignore b/vendor/league/color-extractor/.gitignore new file mode 100644 index 000000000..74ef5f876 --- /dev/null +++ b/vendor/league/color-extractor/.gitignore @@ -0,0 +1,5 @@ +vendor +composer.lock +.DS_Store +.idea +.php_cs.cache \ No newline at end of file diff --git a/vendor/league/color-extractor/.php_cs b/vendor/league/color-extractor/.php_cs new file mode 100644 index 000000000..c18187489 --- /dev/null +++ b/vendor/league/color-extractor/.php_cs @@ -0,0 +1,13 @@ +files() + ->name('*.php') + ->in(array('src', 'tests')); + +return PhpCsFixer\Config::create() + ->setFinder($finder) + ->setRules([ + '@Symfony' => true, + 'array_syntax' => ['syntax' => 'short'], + ]); \ No newline at end of file diff --git a/vendor/league/color-extractor/.travis.yml b/vendor/league/color-extractor/.travis.yml new file mode 100644 index 000000000..073521ec0 --- /dev/null +++ b/vendor/league/color-extractor/.travis.yml @@ -0,0 +1,16 @@ +language: php + +php: + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - hhvm + +before_script: + - travis_retry composer self-update + - travis_retry composer install --no-interaction --prefer-source --dev + +script: + - phpunit --coverage-text + - ./vendor/bin/phpcs src --standard=psr2 diff --git a/vendor/league/color-extractor/composer.json b/vendor/league/color-extractor/composer.json new file mode 100644 index 000000000..a5fb0099d --- /dev/null +++ b/vendor/league/color-extractor/composer.json @@ -0,0 +1,32 @@ +{ + "name": "league/color-extractor", + "type": "library", + "description": "Extract colors from an image as a human would do.", + "keywords": ["image", "color", "extract", "palette", "human"], + "homepage": "https://github.com/thephpleague/color-extractor", + "license": "MIT", + "replace": { + "matthecat/colorextractor": "*" + }, + "authors": [ + { + "name": "Mathieu Lechat", + "email": "math.lechat@gmail.com", + "homepage": "http://matthecat.com", + "role": "Developer" + } + ], + "require": { + "php": ">=5.4.0", + "ext-gd": "*" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~5" + }, + "autoload": { + "psr-4": { + "": "src" + } + } +} diff --git a/vendor/league/color-extractor/tests/League/ColorExtractor/Test/PaletteTest.php b/vendor/league/color-extractor/tests/League/ColorExtractor/Test/PaletteTest.php new file mode 100644 index 000000000..c9a8eeb8c --- /dev/null +++ b/vendor/league/color-extractor/tests/League/ColorExtractor/Test/PaletteTest.php @@ -0,0 +1,67 @@ +jpegPath)); + $colors = $extractor->extract(1); + + $this->assertInternalType('array', $colors); + $this->assertCount(1, $colors); + $this->assertEquals(15985688, $colors[0]); + } + + public function testGifExtractSingleColor() + { + $extractor = new ColorExtractor(Palette::fromFilename($this->gifPath)); + $colors = $extractor->extract(1); + + $this->assertInternalType('array', $colors); + $this->assertCount(1, $colors); + $this->assertEquals(12022491, $colors[0]); + } + + public function testPngExtractSingleColor() + { + $extractor = new ColorExtractor(Palette::fromFilename($this->pngPath)); + $colors = $extractor->extract(1); + + $this->assertInternalType('array', $colors); + $this->assertCount(1, $colors); + $this->assertEquals(14024704, $colors[0]); + } + + public function testJpegExtractMultipleColors() + { + $extractor = new ColorExtractor(Palette::fromFilename($this->pngPath)); + $numColors = 3; + $colors = $extractor->extract($numColors); + + $this->assertInternalType('array', $colors); + $this->assertCount($numColors, $colors); + $this->assertEquals($colors, [14024704, 3407872, 7111569]); + } + + public function testTransparencyHandling() + { + $this->assertCount(0, Palette::fromFilename($this->transparentPngPath)); + + $whiteBackgroundPalette = Palette::fromFilename($this->transparentPngPath, Color::fromHexToInt('#FFFFFF')); + $this->assertEquals(iterator_to_array($whiteBackgroundPalette), [Color::fromHexToInt('#FF8080') => 1]); + + $blackBackgroundPalette = Palette::fromFilename($this->transparentPngPath, Color::fromHexToInt('#000000')); + $this->assertEquals(iterator_to_array($blackBackgroundPalette), [Color::fromHexToInt('#7E0000') => 1]); + } +} diff --git a/vendor/league/color-extractor/tests/assets/google.png b/vendor/league/color-extractor/tests/assets/google.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a210d93137eb34c6370cecdf0ca9be227df54e GIT binary patch literal 21801 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 literal 0 HcmV?d00001 diff --git a/vendor/league/color-extractor/tests/assets/test.jpeg b/vendor/league/color-extractor/tests/assets/test.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4f68aead63f822eeff64fe32d1fc5a332fb5fd8c GIT binary patch literal 16432 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 literal 0 HcmV?d00001 diff --git a/vendor/league/color-extractor/tests/assets/test.png b/vendor/league/color-extractor/tests/assets/test.png new file mode 100644 index 0000000000000000000000000000000000000000..25c88fd7e048d47189ef5681b2b45041c21b81ab GIT binary patch literal 296329 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Ν?9nF92ZgAf8D2;DbCT2e_OX3l=*OK)cZ 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

" + - "" + - ""; - for (i=0; i"; // fc- needed for setDayID - } - s += - "" + - "" + - "" + - "" + - "" + - ""; - for (i=0; i" + // fc- needed for setDayID - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - } - s += - "
" + - "" + - "" + - "
, usually */ -.fc-widget-content { /* , usually */ - border: 1px solid #ccc; - } - -.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ - background: #ffc; - } - -.fc-cell-overlay { /* semi-transparent rectangle while dragging */ - background: #9cf; - opacity: .2; - filter: alpha(opacity=20); /* for IE */ - } - - - -/* Buttons -------------------------------------------------------------------------*/ - -.fc-button { - position: relative; - display: inline-block; - cursor: pointer; - } - -.fc-state-default { /* non-theme */ - border-style: solid; - border-width: 1px 0; - } - -.fc-button-inner { - position: relative; - float: left; - overflow: hidden; - } - -.fc-state-default .fc-button-inner { /* non-theme */ - border-style: solid; - border-width: 0 1px; - } - -.fc-button-content { - position: relative; - float: left; - height: 1.9em; - line-height: 1.9em; - padding: 0 .6em; - white-space: nowrap; - } - -/* icon (for jquery ui) */ - -.fc-button-content .fc-icon-wrap { - position: relative; - float: left; - top: 50%; - } - -.fc-button-content .ui-icon { - position: relative; - float: left; - margin-top: -50%; - *margin-top: 0; - *top: -50%; - } - -/* gloss effect */ - -.fc-state-default .fc-button-effect { - position: absolute; - top: 50%; - left: 0; - } - -.fc-state-default .fc-button-effect span { - position: absolute; - top: -100px; - left: 0; - width: 500px; - height: 100px; - border-width: 100px 0 0 1px; - border-style: solid; - border-color: #fff; - background: #444; - opacity: .09; - filter: alpha(opacity=9); - } - -/* button states (determines colors) */ - -.fc-state-default, -.fc-state-default .fc-button-inner { - border-style: solid; - border-color: #ccc #bbb #aaa; - background: #F3F3F3; - color: #000; - } - -.fc-state-hover, -.fc-state-hover .fc-button-inner { - border-color: #999; - } - -.fc-state-down, -.fc-state-down .fc-button-inner { - border-color: #555; - background: #777; - } - -.fc-state-active, -.fc-state-active .fc-button-inner { - border-color: #555; - background: #777; - color: #fff; - } - -.fc-state-disabled, -.fc-state-disabled .fc-button-inner { - color: #999; - border-color: #ddd; - } - -.fc-state-disabled { - cursor: default; - } - -.fc-state-disabled .fc-button-effect { - display: none; - } - - - -/* Global Event Styles -------------------------------------------------------------------------*/ - -.fc-event { - border-style: solid; - border-width: 0; - font-size: .85em; - cursor: default; - } - -a.fc-event, -.fc-event-draggable { - cursor: pointer; - } - -a.fc-event { - text-decoration: none; - } - -.fc-rtl .fc-event { - text-align: right; - } - -.fc-event-skin { - border-color: #36c; /* default BORDER color */ - background-color: #36c; /* default BACKGROUND color */ - color: #fff; /* default TEXT color */ - } - -.fc-event-inner { - position: relative; - width: 100%; - height: 100%; - border-style: solid; - border-width: 0; - overflow: hidden; - } - -.fc-event-time, -.fc-event-title { - padding: 0 1px; - } - -.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/ - display: block; - position: absolute; - z-index: 99999; - overflow: hidden; /* hacky spaces (IE6/7) */ - font-size: 300%; /* */ - line-height: 50%; /* */ - } - - - -/* Horizontal Events -------------------------------------------------------------------------*/ - -.fc-event-hori { - border-width: 1px 0; - margin-bottom: 1px; - } - -/* resizable */ - -.fc-event-hori .ui-resizable-e { - top: 0 !important; /* importants override pre jquery ui 1.7 styles */ - right: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: e-resize; - } - -.fc-event-hori .ui-resizable-w { - top: 0 !important; - left: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: w-resize; - } - -.fc-event-hori .ui-resizable-handle { - _padding-bottom: 14px; /* IE6 had 0 height */ - } - - - -/* Fake Rounded Corners (for buttons and events) -------------------------------------------------------------*/ - -.fc-corner-left { - margin-left: 1px; - } - -.fc-corner-left .fc-button-inner, -.fc-corner-left .fc-event-inner { - margin-left: -1px; - } - -.fc-corner-right { - margin-right: 1px; - } - -.fc-corner-right .fc-button-inner, -.fc-corner-right .fc-event-inner { - margin-right: -1px; - } - -.fc-corner-top { - margin-top: 1px; - } - -.fc-corner-top .fc-event-inner { - margin-top: -1px; - } - -.fc-corner-bottom { - margin-bottom: 1px; - } - -.fc-corner-bottom .fc-event-inner { - margin-bottom: -1px; - } - - - -/* Fake Rounded Corners SPECIFICALLY FOR EVENTS ------------------------------------------------------------------*/ - -.fc-corner-left .fc-event-inner { - border-left-width: 1px; - } - -.fc-corner-right .fc-event-inner { - border-right-width: 1px; - } - -.fc-corner-top .fc-event-inner { - border-top-width: 1px; - } - -.fc-corner-bottom .fc-event-inner { - border-bottom-width: 1px; - } - - - -/* Reusable Separate-border Table -------------------------------------------------------------*/ - -table.fc-border-separate { - border-collapse: separate; - } - -.fc-border-separate th, -.fc-border-separate td { - border-width: 1px 0 0 1px; - } - -.fc-border-separate th.fc-last, -.fc-border-separate td.fc-last { - border-right-width: 1px; - } - -.fc-border-separate tr.fc-last th, -.fc-border-separate tr.fc-last td { - border-bottom-width: 1px; - } - -.fc-border-separate tbody tr.fc-first td, -.fc-border-separate tbody tr.fc-first th { - border-top-width: 0; - } - - - -/* Month View, Basic Week View, Basic Day View -------------------------------------------------------------------------*/ - -.fc-grid th { - text-align: center; - } - -.fc-grid .fc-day-number { - float: right; - padding: 0 2px; - } - -.fc-grid .fc-other-month .fc-day-number { - opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ - /* opacity with small font can sometimes look too faded - might want to set the 'color' property instead - making day-numbers bold also fixes the problem */ - } - -.fc-grid .fc-day-content { - clear: both; - padding: 2px 2px 1px; /* distance between events and day edges */ - } - -/* event styles */ - -.fc-grid .fc-event-time { - font-weight: bold; - } - -/* right-to-left */ - -.fc-rtl .fc-grid .fc-day-number { - float: left; - } - -.fc-rtl .fc-grid .fc-event-time { - float: right; - } - - - -/* Agenda Week View, Agenda Day View -------------------------------------------------------------------------*/ - -.fc-agenda table { - border-collapse: separate; - } - -.fc-agenda-days th { - text-align: center; - } - -.fc-agenda .fc-agenda-axis { - width: 50px; - padding: 0 4px; - vertical-align: middle; - text-align: right; - white-space: nowrap; - font-weight: normal; - } - -.fc-agenda .fc-day-content { - padding: 2px 2px 1px; - } - -/* make axis border take precedence */ - -.fc-agenda-days .fc-agenda-axis { - border-right-width: 1px; - } - -.fc-agenda-days .fc-col0 { - border-left-width: 0; - } - -/* all-day area */ - -.fc-agenda-allday th { - border-width: 0 1px; - } - -.fc-agenda-allday .fc-day-content { - min-height: 34px; /* TODO: doesnt work well in quirksmode */ - _height: 34px; - } - -/* divider (between all-day and slots) */ - -.fc-agenda-divider-inner { - height: 2px; - overflow: hidden; - } - -.fc-widget-header .fc-agenda-divider-inner { - background: #eee; - } - -/* slot rows */ - -.fc-agenda-slots th { - border-width: 1px 1px 0; - } - -.fc-agenda-slots td { - border-width: 1px 0 0; - background: none; - } - -.fc-agenda-slots td div { - height: 20px; - } - -.fc-agenda-slots tr.fc-slot0 th, -.fc-agenda-slots tr.fc-slot0 td { - border-top-width: 0; - } - -.fc-agenda-slots tr.fc-minor th, -.fc-agenda-slots tr.fc-minor td { - border-top-style: dotted; - } - -.fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ - } - - - -/* Vertical Events -------------------------------------------------------------------------*/ - -.fc-event-vert { - border-width: 0 1px; - } - -.fc-event-vert .fc-event-head, -.fc-event-vert .fc-event-content { - position: relative; - z-index: 2; - width: 100%; - overflow: hidden; - } - -.fc-event-vert .fc-event-time { - white-space: nowrap; - font-size: 10px; - } - -.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; - opacity: .3; - filter: alpha(opacity=30); - } - -.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg { - display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ - } - -/* resizable */ - -.fc-event-vert .ui-resizable-s { - bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ - width: 100% !important; - height: 8px !important; - overflow: hidden !important; - line-height: 8px !important; - font-size: 11px !important; - font-family: monospace; - text-align: center; - cursor: s-resize; - } - -.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ - _overflow: hidden; - } - - diff --git a/www/plugins/fullcalendar-1.5.3/fullcalendar.js b/www/plugins/fullcalendar-1.5.3/fullcalendar.js deleted file mode 100644 index 85acda371..000000000 --- a/www/plugins/fullcalendar-1.5.3/fullcalendar.js +++ /dev/null @@ -1,5235 +0,0 @@ -/** - * @preserve - * FullCalendar v1.5.3 - * http://arshaw.com/fullcalendar/ - * - * Use fullcalendar.css for basic styling. - * For event drag & drop, requires jQuery UI draggable. - * For event resizing, requires jQuery UI resizable. - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - -(function($, undefined) { - - -var defaults = { - - // display - defaultView: 'month', - aspectRatio: 1.35, - header: { - left: 'title', - center: '', - right: 'tasks today prev,next' - }, - weekends: true, - - // editing - //editable: false, - //disableDragging: false, - //disableResizing: false, - - allDayDefault: true, - ignoreTimezone: true, - - // event ajax - lazyFetching: true, - startParam: 'start', - endParam: 'end', - - // time formats - titleFormat: { - month: 'MMMM yyyy', - week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", - day: 'dddd, MMM d, yyyy' - }, - columnFormat: { - month: 'ddd', - week: 'ddd M/d', - day: 'dddd M/d' - }, - timeFormat: { // for event elements - '': 'h(:mm)t' // default - }, - - // locale - isRTL: false, - firstDay: 0, - monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], - monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], - dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], - buttonText: { - prev: ' ◄ ', - next: ' ► ', - prevYear: ' << ', - nextYear: ' >> ', - today: 'Heute', - tasks: 'Aufgaben anzeigen', - month: 'Monat', - week: 'Woche', - day: 'Tag' - }, - - // jquery-ui theming - theme: false, - buttonIcons: { - prev: 'circle-triangle-w', - next: 'circle-triangle-e' - }, - - //selectable: false, - unselectAuto: true, - - dropAccept: '*' - -}; - -// right-to-left defaults -var rtlDefaults = { - header: { - left: 'next,prev today tasks', - center: '', - right: 'title' - }, - buttonText: { - prev: ' ► ', - next: ' ◄ ', - tasks: ' Aufgaben anzeigen ', - prevYear: ' >> ', - nextYear: ' << ' - }, - buttonIcons: { - prev: 'circle-triangle-e', - next: 'circle-triangle-w' - } -}; - - - -var fc = $.fullCalendar = { version: "1.5.3" }; -var fcViews = fc.views = {}; - - -$.fn.fullCalendar = function(options) { - - - // method calling - if (typeof options == 'string') { - var args = Array.prototype.slice.call(arguments, 1); - var res; - this.each(function() { - var calendar = $.data(this, 'fullCalendar'); - if (calendar && $.isFunction(calendar[options])) { - var r = calendar[options].apply(calendar, args); - if (res === undefined) { - res = r; - } - if (options == 'destroy') { - $.removeData(this, 'fullCalendar'); - } - } - }); - if (res !== undefined) { - return res; - } - return this; - } - - - // would like to have this logic in EventManager, but needs to happen before options are recursively extended - var eventSources = options.eventSources || []; - delete options.eventSources; - if (options.events) { - eventSources.push(options.events); - delete options.events; - } - - - options = $.extend(true, {}, - defaults, - (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, - options - ); - - - this.each(function(i, _element) { - var element = $(_element); - var calendar = new Calendar(element, options, eventSources); - element.data('fullCalendar', calendar); // TODO: look into memory leak implications - calendar.render(); - }); - - - return this; - -}; - - -// function for adding/overriding defaults -function setDefaults(d) { - $.extend(true, defaults, d); -} - - - - -function Calendar(element, options, eventSources) { - var t = this; - - - // exports - t.options = options; - t.render = render; - t.destroy = destroy; - t.refetchEvents = refetchEvents; - t.reportEvents = reportEvents; - t.reportEventChange = reportEventChange; - t.rerenderEvents = rerenderEvents; - t.changeView = changeView; - t.select = select; - t.unselect = unselect; - t.prev = prev; - t.next = next; - t.prevYear = prevYear; - t.nextYear = nextYear; - t.today = today; - t.tasks = tasks; - t.gotoDate = gotoDate; - t.incrementDate = incrementDate; - t.formatDate = function(format, date) { return formatDate(format, date, options) }; - t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; - t.getDate = getDate; - t.getView = getView; - t.option = option; - t.trigger = trigger; - - - // imports - EventManager.call(t, options, eventSources); - var isFetchNeeded = t.isFetchNeeded; - var fetchEvents = t.fetchEvents; - - - // locals - var _element = element[0]; - var header; - var headerElement; - var content; - var tm; // for making theme classes - var currentView; - var viewInstances = {}; - var elementOuterWidth; - var suggestedViewHeight; - var absoluteViewElement; - var resizeUID = 0; - var ignoreWindowResize = 0; - var date = new Date(); - var events = []; - var _dragElement; - - - - /* Main Rendering - -----------------------------------------------------------------------------*/ - - - setYMD(date, options.year, options.month, options.date); - - - function render(inc) { - if (!content) { - initialRender(); - }else{ - calcSize(); - markSizesDirty(); - markEventsDirty(); - renderView(inc); - } - } - - - function initialRender() { - tm = options.theme ? 'ui' : 'fc'; - element.addClass('fc'); - if (options.isRTL) { - element.addClass('fc-rtl'); - } - if (options.theme) { - element.addClass('ui-widget'); - } - content = $("
") - .prependTo(element); - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - changeView(options.defaultView); - $(window).resize(windowResize); - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - $(window).unbind('resize', windowResize); - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - - function elementVisible() { - return _element.offsetWidth !== 0; - } - - - function bodyVisible() { - return $('body')[0].offsetWidth !== 0; - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - // TODO: improve view switching (still weird transition in IE, and FF has whiteout problem) - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - ignoreWindowResize++; // because setMinHeight might change the height before render (and subsequently setSize) is reached - - unselect(); - - var oldView = currentView; - var newViewElement; - - if (oldView) { - (oldView.beforeHide || noop)(); // called before changing min-height. if called after, scroll state is reset (in Opera) - setMinHeight(content, content.height()); - oldView.element.hide(); - }else{ - setMinHeight(content, 1); // needs to be 1 (not 0) for IE7, or else view dimensions miscalculated - } - content.css('overflow', 'hidden'); - - currentView = viewInstances[newViewName]; - if (currentView) { - currentView.element.show(); - }else{ - currentView = viewInstances[newViewName] = new fcViews[newViewName]( - newViewElement = absoluteViewElement = - $("
") - .appendTo(content), - t // the calendar object - ); - } - - if (oldView) { - header.deactivateButton(oldView.name); - } - header.activateButton(newViewName); - - renderView(); // after height has been set, will make absoluteViewElement's position=relative, then set to null - - content.css('overflow', ''); - if (oldView) { - setMinHeight(content, 1); - } - - if (!newViewElement) { - (currentView.afterShow || noop)(); // called after setting min-height/overflow, so in final scroll state (for Opera) - } - - ignoreWindowResize--; - } - } - - - - function renderView(inc) { - if (elementVisible()) { - ignoreWindowResize++; // because renderEvents might temporarily change the height before setSize is reached - - unselect(); - - if (suggestedViewHeight === undefined) { - calcSize(); - } - - var forceEventRender = false; - if (!currentView.start || inc || date < currentView.start || date >= currentView.end) { - // view must render an entire new date range (and refetch/render events) - currentView.render(date, inc || 0); // responsible for clearing events - setSize(true); - forceEventRender = true; - } - else if (currentView.sizeDirty) { - // view must resize (and rerender events) - currentView.clearEvents(); - setSize(); - forceEventRender = true; - } - else if (currentView.eventsDirty) { - currentView.clearEvents(); - forceEventRender = true; - } - currentView.sizeDirty = false; - currentView.eventsDirty = false; - updateEvents(forceEventRender); - - elementOuterWidth = element.outerWidth(); - - header.updateTitle(currentView.title); - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - }else{ - header.enableButton('today'); - } - - ignoreWindowResize--; - currentView.trigger('viewDisplay', _element); - } - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - markSizesDirty(); - if (elementVisible()) { - calcSize(); - setSize(); - unselect(); - currentView.clearEvents(); - currentView.renderEvents(events); - currentView.sizeDirty = false; - } - } - - - function markSizesDirty() { - $.each(viewInstances, function(i, inst) { - inst.sizeDirty = true; - }); - } - - - function calcSize() { - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize(dateChanged) { // todo: dateChanged? - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight, dateChanged); - if (absoluteViewElement) { - absoluteViewElement.css('position', 'relative'); - absoluteViewElement = null; - } - currentView.setWidth(content.width(), dateChanged); - ignoreWindowResize--; - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - - - // fetches events if necessary, rerenders events if necessary (or if forced) - function updateEvents(forceRender) { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - refetchEvents(); - } - else if (forceRender) { - rerenderEvents(); - } - } - - - function refetchEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); // will call reportEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - rerenderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - // attempts to rerenderEvents - function rerenderEvents(modifiedEventID) { - markEventsDirty(); - if (elementVisible()) { - currentView.clearEvents(); - currentView.renderEvents(events, modifiedEventID); - currentView.eventsDirty = false; - } - } - - - function markEventsDirty() { - $.each(viewInstances, function(i, inst) { - inst.eventsDirty = true; - }); - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - function tasks() { - $.get('./index.php?module=kalender&action=taskstatus', function() { location.reload();}); - - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("") - .append( - $("") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $("" + - ""; - for (i=0; i"; // need fc- for setDayID - } - s += - "" + - "" + - ""; - for (i=0; i"; - for (j=0; j" + // need fc- for setDayID - "
" + - (showNumbers ? - "
" : - '' - ) + - "
" + - "
 
" + - "
" + - "
" + - ""; - } - s += - ""; - } - s += - "
" + - "
"); - var buttonStr = options.header[position]; - - console.log(buttonStr); - - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

 

"); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - "" + - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" + - "" + - "" + - "" - ); - if (button) { - button - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - } -}; - - - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); -} - - -function segCmp(a, b) { - return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); -} - - -function segsCollide(seg1, seg2) { - return seg1.end > seg2.start && seg1.start < seg2.end; -} - - - -/* Event Sorting ------------------------------------------------------------------------------*/ - - -// event rendering utilities -function sliceSegs(events, visEventEnds, start, end) { - var segs = [], - i, len=events.length, event, - eventStart, eventEnd, - segStart, segEnd, - isStart, isEnd; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segCmp); -} - - -// event rendering calculation utilities -function stackSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
'); -} - - -function cssKey(_element) { - return _element.id + '/' + _element.className + '/' + _element.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig, ''); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i" + - "
"; - table = $(s).appendTo(element); - - head = table.find('thead'); - headCells = head.find('th'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('td'); - bodyFirstCells = bodyCells.filter(':first-child'); - bodyCellTopInners = bodyRows.eq(0).find('div.fc-day-content div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); // fc-last is done in updateCells - - dayBind(bodyCells); - - daySegmentContainer = - $("
") - .appendTo(element); - } - - - - function updateCells(firstTime) { - var dowDirty = firstTime || rowCnt == 1; // could the cells' day-of-weeks need updating? - var month = t.start.getMonth(); - var today = clearTime(new Date()); - var cell; - var date; - var row; - - if (dowDirty) { - headCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - cell.html(formatDate(date, colFormat)); - setDayID(cell, date); - }); - } - - bodyCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - if (date.getMonth() == month) { - cell.removeClass('fc-other-month'); - }else{ - cell.addClass('fc-other-month'); - } - if (+date == +today) { - cell.addClass(tm + '-state-highlight fc-today'); - }else{ - cell.removeClass(tm + '-state-highlight fc-today'); - } - cell.find('div.fc-day-number').text(date.getDate()); - if (dowDirty) { - setDayID(cell, date); - } - }); - - bodyRows.each(function(i, _row) { - row = $(_row); - if (i < rowCnt) { - row.show(); - if (i == rowCnt-1) { - row.addClass('fc-last'); - }else{ - row.removeClass('fc-last'); - } - }else{ - row.hide(); - } - }); - } - - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - setMinHeight( - cell.find('> div'), - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - } - - - function setWidth(width) { - viewWidth = width; - colContentPositions.clear(); - colWidth = Math.floor(viewWidth / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var index = parseInt(this.className.match(/fc\-day(\d+)/)[1]); // TODO: maybe use .data - var date = indexDate(index); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - var rowStart = cloneDate(t.visStart); - var rowEnd = addDays(cloneDate(rowStart), colCnt); - for (var i=0; i" + - "
  
  
"; - dayTable = $(s).appendTo(element); - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); - dayBodyCellInners = dayBodyCells.find('div.fc-day-content div'); - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyFirstCell.find('> div'); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - axisFirstCells = dayHead.find('th:first'); - gutterCells = dayTable.find('.fc-agenda-gutter'); - - slotLayer = - $("
") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContent = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContent); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContent); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - } - - - - function updateCells() { - var i; - var headCell; - var bodyCell; - var date; - var today = clearTime(new Date()); - for (i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * opt('slotMinutes')); - } - return d; - } - - - function colDate(col) { // returns dates with 00:00:00 - return addDays(cloneDate(t.visStart), col*dis+dit); - } - - - function cellIsAllDay(cell) { - return opt('allDaySlot') && !cell.row; - } - - - function dayOfWeekCol(dayOfWeek) { - return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt)*dis+dit; - } - - - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = slotTable.find('tr:eq(' + slotI + ') td div')[0].offsetTop; //.position().top; // need this optimization??? - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function allDayBounds() { - return { - left: axisWidth, - right: viewWidth - gutterWidth - } - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dayDiff(startDate, t.visStart) * dis + dit; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - rect.zIndex = 8; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContent); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContent.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) { - var d1 = cellDate(origCell); - var d2 = cellDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), opt('slotMinutes')), - d2, - addMinutes(cloneDate(d2), opt('slotMinutes')) - ].sort(cmp); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dayOfWeekCol(date.getDay())], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (cellIsAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = cellDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui); - } - } - - -} - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.compileDaySegs = compileDaySegs; // for DayEventRenderer - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - t.bindDaySeg = bindDaySeg; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - //var setOverflowHidden = t.setOverflowHidden; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var reportEvents = t.reportEvents; - var reportEventClear = t.reportEventClear; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var renderDaySegs = t.renderDaySegs; - var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSlotHeight = t.getSlotHeight; - var getBodyContent = t.getBodyContent; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - reportEvents(events); - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i" + - "
" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - "
" + - "
" + - htmlEscape(event.title) + - "
" + - "
" + - "
" + - "
"; // close inner - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindDaySeg(event, eventElement, seg) { - if (isEventDraggable(event)) { - draggableDayEvent(event, eventElement, seg.isStart); - } - if (seg.isEnd && isEventResizable(event)) { - resizableDayEvent(event, eventElement, seg); - } - eventElementHandlers(event, eventElement); - // needs to be after, because resizableDayEvent might stopImmediatePropagation on click - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - - function draggableDayEvent(event, eventElement, isStart) { - var origWidth; - var revert; - var allDay=true; - var dayDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - var minMinute = getMinMinute(); - eventElement.draggable({ - zIndex: 9, - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - clearOverlays(); - if (cell) { - //setOverflowHidden(true); - revert = false; - dayDelta = colDelta * dis; - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - slotHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) - / opt('slotMinutes') - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - //setOverflowHidden(false); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / slotHeight) - * opt('slotMinutes') - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - //setOverflowHidden(false); - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var origPosition; - var allDay=false; - var dayDelta; - var minuteDelta; - var prevMinuteDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - eventElement.draggable({ - zIndex: 9, - scroll: false, - grid: [colWidth, slotHeight], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origPosition = eventElement.position(); - minuteDelta = prevMinuteDelta = 0; - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - eventElement.draggable('option', 'revert', !cell); - clearOverlays(); - if (cell) { - dayDelta = colDelta * dis; - if (opt('allDaySlot') && !cell.row) { - // over full days - if (!allDay) { - // convert to temporary all-day event - allDay = true; - timeElement.hide(); - eventElement.draggable('option', 'grid', null); - } - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - }else{ - // on slots - resetElement(); - } - } - }, ev, 'drag'); - }, - drag: function(ev, ui) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / slotHeight) * opt('slotMinutes'); - if (minuteDelta != prevMinuteDelta) { - if (!allDay) { - updateTimeText(minuteDelta); - } - prevMinuteDelta = minuteDelta; - } - }, - stop: function(ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (cell && (dayDelta || minuteDelta || allDay)) { - // changed! - eventDrop(this, event, dayDelta, allDay ? 0 : minuteDelta, allDay, ev, ui); - }else{ - // either no change or out-of-bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position - updateTimeText(0); - showEvents(event, eventElement); - } - } - }); - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - function resetElement() { - // convert back to original slot-event - if (allDay) { - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, slotHeight]); - allDay = false; - } - } - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var slotDelta, prevSlotDelta; - var slotHeight = getSlotHeight(); - eventElement.resizable({ - handles: { - s: 'div.ui-resizable-s' - }, - grid: slotHeight, - start: function(ev, ui) { - slotDelta = prevSlotDelta = 0; - hideEvents(event, eventElement); - eventElement.css('z-index', 9); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - slotDelta = Math.round((Math.max(slotHeight, eventElement.height()) - ui.originalSize.height) / slotHeight); - if (slotDelta != prevSlotDelta) { - timeElement.text( - formatDates( - event.start, - (!slotDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), opt('slotMinutes')*slotDelta), - opt('timeFormat') - ) - ); - prevSlotDelta = slotDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (slotDelta) { - eventResize(this, event, 0, opt('slotMinutes')*slotDelta, ev, ui); - }else{ - eventElement.css('z-index', 8); - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - -function countForwardSegs(levels) { - var i, j, k, level, segForward, segBack; - for (i=levels.length-1; i>0; i--) { - level = levels[i]; - for (j=0; j"); - var elements; - var segmentContainer = getDaySegmentContainer(); - var i; - var segCnt = segs.length; - var element; - tempContainer[0].innerHTML = daySegHTML(segs); // faster than .html() - elements = tempContainer.children(); - segmentContainer.append(elements); - daySegElementResolve(segs, elements); - daySegCalcHSides(segs); - daySegSetWidths(segs); - daySegCalcHeights(segs); - daySegSetTops(segs, getRowTops(getRowDivs())); - elements = []; - for (i=0; i" + - ""; - if (!event.allDay && seg.isStart) { - html += - "" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - ""; - } - html += - "" + htmlEscape(event.title) + "" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
" + - "   " + // makes hit area a lot better for IE6/7 - "
"; - } - html += - ""; - seg.left = left; - seg.outerWidth = right - left; - seg.startCol = leftCol; - seg.endCol = rightCol + 1; // needs to be exclusive - } - return html; - } - - - function daySegElementResolve(segs, elements) { // sets seg.element - var i; - var segCnt = segs.length; - var seg; - var event; - var element; - var triggerRes; - for (i=0; i div'); // optimal selector? - } - return rowDivs; - } - - - function getRowTops(rowDivs) { - var i; - var rowCnt = rowDivs.length; - var tops = []; - for (i=0; i selection for IE - element - .mousedown(function(ev) { // prevent native selection for others - ev.preventDefault(); - }) - .click(function(ev) { - if (isResizing) { - ev.preventDefault(); // prevent link from being visited (only method that worked in IE6) - ev.stopImmediatePropagation(); // prevent fullcalendar eventClick handler from being called - // (eventElementHandlers needs to be bound after resizableDayEvent) - } - }); - - handle.mousedown(function(ev) { - if (ev.which != 1) { - return; // needs to be left mouse button - } - isResizing = true; - var hoverListener = t.getHoverListener(); - var rowCnt = getRowCnt(); - var colCnt = getColCnt(); - var dis = rtl ? -1 : 1; - var dit = rtl ? colCnt-1 : 0; - var elementTop = element.css('top'); - var dayDelta; - var helpers; - var eventCopy = $.extend({}, event); - var minCell = dateCell(event.start); - clearSelection(); - $('body') - .css('cursor', direction + '-resize') - .one('mouseup', mouseup); - trigger('eventResizeStart', this, event, ev); - hoverListener.start(function(cell, origCell) { - if (cell) { - var r = Math.max(minCell.row, cell.row); - var c = cell.col; - if (rowCnt == 1) { - r = 0; // hack for all-day area in agenda views - } - if (r == minCell.row) { - if (rtl) { - c = Math.min(minCell.col, c); - }else{ - c = Math.max(minCell.col, c); - } - } - dayDelta = (r*7 + c*dis+dit) - (origCell.row*7 + origCell.col*dis+dit); - var newEnd = addDays(eventEnd(event), dayDelta, true); - if (dayDelta) { - eventCopy.end = newEnd; - var oldHelpers = helpers; - helpers = renderTempDaySegs(compileDaySegs([eventCopy]), seg.row, elementTop); - helpers.find('*').css('cursor', direction + '-resize'); - if (oldHelpers) { - oldHelpers.remove(); - } - hideEvents(event); - }else{ - if (helpers) { - showEvents(event); - helpers.remove(); - helpers = null; - } - } - clearOverlays(); - renderDayOverlay(event.start, addDays(cloneDate(newEnd), 1)); // coordinate grid already rebuild at hoverListener.start - } - }, ev); - - function mouseup(ev) { - trigger('eventResizeStop', this, event, ev); - $('body').css('cursor', ''); - hoverListener.stop(); - clearOverlays(); - if (dayDelta) { - eventResize(this, event, dayDelta, 0, ev); - // event redraw will clear helpers - } - // otherwise, the drag handler already restored the old events - - setTimeout(function() { // make this happen after the element's click event - isResizing = false; - },0); - } - - }); - } - - -} - -//BUG: unselect needs to be triggered when events are dragged+dropped - -function SelectionManager() { - var t = this; - - - // exports - t.select = select; - t.unselect = unselect; - t.reportSelection = reportSelection; - t.daySelectionMousedown = daySelectionMousedown; - - - // imports - var opt = t.opt; - var trigger = t.trigger; - var defaultSelectionEnd = t.defaultSelectionEnd; - var renderSelection = t.renderSelection; - var clearSelection = t.clearSelection; - - - // locals - var selected = false; - - - - // unselectAuto - if (opt('selectable') && opt('unselectAuto')) { - $(document).mousedown(function(ev) { - var ignore = opt('unselectCancel'); - if (ignore) { - if ($(ev.target).parents(ignore).length) { // could be optimized to stop after first match - return; - } - } - unselect(ev); - }); - } - - - function select(startDate, endDate, allDay) { - unselect(); - if (!endDate) { - endDate = defaultSelectionEnd(startDate, allDay); - } - renderSelection(startDate, endDate, allDay); - reportSelection(startDate, endDate, allDay); - } - - - function unselect(ev) { - if (selected) { - selected = false; - clearSelection(); - trigger('unselect', null, ev); - } - } - - - function reportSelection(startDate, endDate, allDay, ev) { - selected = true; - trigger('select', null, startDate, endDate, allDay, ev); - } - - - function daySelectionMousedown(ev) { // not really a generic manager method, oh well - var cellDate = t.cellDate; - var cellIsAllDay = t.cellIsAllDay; - var hoverListener = t.getHoverListener(); - var reportDayClick = t.reportDayClick; // this is hacky and sort of weird - if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button - unselect(ev); - var _mousedownElement = this; - var dates; - hoverListener.start(function(cell, origCell) { // TODO: maybe put cellDate/cellIsAllDay info in cell - clearSelection(); - if (cell && cellIsAllDay(cell)) { - dates = [ cellDate(origCell), cellDate(cell) ].sort(cmp); - renderSelection(dates[0], dates[1], true); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], true, ev); - } - reportSelection(dates[0], dates[1], true, ev); - } - }); - } - } - - -} - -function OverlayManager() { - var t = this; - - - // exports - t.renderOverlay = renderOverlay; - t.clearOverlays = clearOverlays; - - - // locals - var usedOverlays = []; - var unusedOverlays = []; - - - function renderOverlay(rect, parent) { - var e = unusedOverlays.shift(); - if (!e) { - e = $("
"); - } - if (e[0].parentNode != parent[0]) { - e.appendTo(parent); - } - usedOverlays.push(e.css(rect).show()); - return e; - } - - - function clearOverlays() { - var e; - while (e = usedOverlays.shift()) { - unusedOverlays.push(e.hide().unbind()); - } - } - - -} - -function CoordinateGrid(buildFunc) { - - var t = this; - var rows; - var cols; - - - t.build = function() { - rows = []; - cols = []; - buildFunc(rows, cols); - }; - - - t.cell = function(x, y) { - var rowCnt = rows.length; - var colCnt = cols.length; - var i, r=-1, c=-1; - for (i=0; i= rows[i][0] && y < rows[i][1]) { - r = i; - break; - } - } - for (i=0; i= cols[i][0] && x < cols[i][1]) { - c = i; - break; - } - } - return (r>=0 && c>=0) ? { row:r, col:c } : null; - }; - - - t.rect = function(row0, col0, row1, col1, originElement) { // row1,col1 is inclusive - var origin = originElement.offset(); - return { - top: rows[row0][0] - origin.top, - left: cols[col0][0] - origin.left, - width: cols[col1][1] - cols[col0][0], - height: rows[row1][1] - rows[row0][0] - }; - }; - -} - -function HoverListener(coordinateGrid) { - - - var t = this; - var bindType; - var change; - var firstCell; - var cell; - - - t.start = function(_change, ev, _bindType) { - change = _change; - firstCell = cell = null; - coordinateGrid.build(); - mouse(ev); - bindType = _bindType || 'mousemove'; - $(document).bind(bindType, mouse); - }; - - - function mouse(ev) { - _fixUIEvent(ev); // see below - var newCell = coordinateGrid.cell(ev.pageX, ev.pageY); - if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) { - if (newCell) { - if (!firstCell) { - firstCell = newCell; - } - change(newCell, firstCell, newCell.row-firstCell.row, newCell.col-firstCell.col); - }else{ - change(newCell, firstCell); - } - cell = newCell; - } - } - - - t.stop = function() { - $(document).unbind(bindType, mouse); - return cell; - }; - - -} - - - -// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1) -// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem -// but keep this in here for 1.8.16 users -// and maybe remove it down the line - -function _fixUIEvent(event) { // for issue 1168 - if (event.pageX === undefined) { - event.pageX = event.originalEvent.pageX; - event.pageY = event.originalEvent.pageY; - } -} -function HorizontalPositionCache(getElement) { - - var t = this, - elements = {}, - lefts = {}, - rights = {}; - - function e(i) { - return elements[i] = elements[i] || getElement(i); - } - - t.left = function(i) { - return lefts[i] = lefts[i] === undefined ? e(i).position().left : lefts[i]; - }; - - t.right = function(i) { - return rights[i] = rights[i] === undefined ? t.left(i) + e(i).width() : rights[i]; - }; - - t.clear = function() { - elements = {}; - lefts = {}; - rights = {}; - }; - -} - -})(jQuery); diff --git a/www/plugins/fullcalendar-1.5.3/fullcalendar.min.js b/www/plugins/fullcalendar-1.5.3/fullcalendar.min.js deleted file mode 100644 index ad119bc31..000000000 --- a/www/plugins/fullcalendar-1.5.3/fullcalendar.min.js +++ /dev/null @@ -1,114 +0,0 @@ -/* - - FullCalendar v1.5.3 - http://arshaw.com/fullcalendar/ - - Use fullcalendar.css for basic styling. - For event drag & drop, requires jQuery UI draggable. - For event resizing, requires jQuery UI resizable. - - Copyright (c) 2011 Adam Shaw - Dual licensed under the MIT and GPL licenses, located in - MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - - Date: Mon Feb 6 22:40:40 2012 -0800 - -*/ -(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("
").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy(); -E.remove();a.removeClass("fc fc-rtl ui-widget")}function j(){return i.offsetWidth!==0}function t(){return m("body")[0].offsetWidth!==0}function y(k){if(!n||k!=n.name){F++;pa();var D=n,Z;if(D){(D.beforeHide||xb)();Za(E,E.height());D.element.hide()}else Za(E,1);E.css("overflow","hidden");if(n=Y[k])n.element.show();else n=Y[k]=new Ja[k](Z=s=m("
").appendTo(E),X);D&&C.deactivateButton(D.name);C.activateButton(k);S();E.css("overflow","");D&& -Za(E,1);Z||(n.afterShow||xb)();F--}}function S(k){if(j()){F++;pa();o===ma&&u();var D=false;if(!n.start||k||r=n.end){n.render(r,k||0);fa(true);D=true}else if(n.sizeDirty){n.clearEvents();fa();D=true}else if(n.eventsDirty){n.clearEvents();D=true}n.sizeDirty=false;n.eventsDirty=false;ga(D);W=a.outerWidth();C.updateTitle(n.title);k=new Date;k>=n.start&&k").append(m("").append(f("left")).append(f("center")).append(f("right")))}function d(){Q.remove()}function f(u){var fa=m("");(u=b.header[u])&&m.each(u.split(" "),function(oa){oa>0&&fa.append("");var ga; -m.each(this.split(","),function(ra,sa){if(sa=="title"){fa.append("

 

");ga&&ga.addClass(q+"-corner-right");ga=null}else{var ha;if(a[sa])ha=a[sa];else if(Ja[sa])ha=function(){na.removeClass(q+"-state-hover");a.changeView(sa)};if(ha){ra=b.theme?jb(b.buttonIcons,sa):null;var da=jb(b.buttonText,sa),na=m(""+(ra?"":da)+"");if(na){na.click(function(){na.hasClass(q+"-state-disabled")||ha()}).mousedown(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-down")}).mouseup(function(){na.removeClass(q+"-state-down")}).hover(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-hover")},function(){na.removeClass(q+"-state-hover").removeClass(q+"-state-down")}).appendTo(fa); -ga||na.addClass(q+"-corner-left");ga=na}}}});ga&&ga.addClass(q+"-corner-right")});return fa}function g(u){Q.find("h2").html(u)}function l(u){Q.find("span.fc-button-"+u).addClass(q+"-state-active")}function j(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-active")}function t(u){Q.find("span.fc-button-"+u).addClass(q+"-state-disabled")}function y(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-disabled")}var S=this;S.render=e;S.destroy=d;S.updateTitle=g;S.activateButton=l;S.deactivateButton= -j;S.disableButton=t;S.enableButton=y;var Q=m([]),q}function $b(a,b){function e(c,z){return!ca||cka}function d(c,z){ca=c;ka=z;L=[];c=++qa;G=z=U.length;for(var H=0;Hl;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.starte&&td){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e=0;e--){d=a[b[e].toLowerCase()];if(d!== -ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")} -function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a= -[a];if(a){var d,f;for(d=0;d";for(aa=0;aa";R+="";for(aa=0;aa";for(V=0;V
"+(I?"
":"")+"
 
";R+=""}R+="";w= -m(R).appendTo(a);K=w.find("thead");i=K.find("th");C=w.find("tbody");P=C.find("tr");E=C.find("td");B=E.filter(":first-child");n=P.eq(0).find("div.fc-day-content div");ab(K.add(K.find("tr")));ab(P);P.eq(0).addClass("fc-first");y(E);Y=m("
").appendTo(a)}function l(w){var I=w||v==1,R=p.start.getMonth(),V=Ka(new Date),ea,aa,va;I&&i.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);ea.html(ya(aa,$));rb(ea,aa)});E.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);aa.getMonth()== -R?ea.removeClass("fc-other-month"):ea.addClass("fc-other-month");+aa==+V?ea.addClass(la+"-state-highlight fc-today"):ea.removeClass(la+"-state-highlight fc-today");ea.find("div.fc-day-number").text(aa.getDate());I&&rb(ea,aa)});P.each(function(wa,Ga){va=m(Ga);if(wa div"),(ea==v-1?R:I)-Sa(V))}})}function t(w){W=w;M.clear();s=Math.floor(W/F);Va(i.slice(0,-1),s)}function y(w){w.click(S).mousedown(X)}function S(w){if(!L("selectable")){var I=parseInt(this.className.match(/fc\-day(\d+)/)[1]);I=ca(I);c("dayClick",this,I,true,w)}}function Q(w,I,R){R&&r.build();R=N(p.visStart);for(var V=ba(N(R),F),ea=0;ea ";for(A=0;A";x+="  ";for(A=0;A
 
";x+=" ";v=m(x).appendTo(a);F=v.find("thead");r=F.find("th").slice(1,-1);J=v.find("tbody");M=J.find("td").slice(0,-1);k=M.find("div.fc-day-content div");D=M.eq(0);Z=D.find("> div");ab(F.add(F.find("tr")));ab(J.add(J.find("tr")));aa=F.find("th:first");va=v.find(".fc-agenda-gutter");ja=m("
").appendTo(a); -if(i("allDaySlot")){ia=m("
").appendTo(ja);x="
"+i("allDayText")+"
 
";la=m(x).appendTo(ja);$=la.find("tr");q($.find("td"));aa=aa.add(la.find("th:first"));va=va.add(la.find("th.fc-agenda-gutter"));ja.append("
")}else ia=m([]);w=m("
").appendTo(ja);I=m("
").appendTo(w);R=m("
").appendTo(I);x="";ta=zb();za=xa(N(ta),bb);xa(ta,La);for(A=tb=0;ta";xa(ta,i("slotMinutes"));tb++}x+="
"+(!Ea||!Da?s(ta,i("axisFormat")):" ")+"
 
";V=m(x).appendTo(I);ea=V.find("div:first");u(V.find("td"));aa=aa.add(V.find("th:first"))}function l(){var h,O,x,A,ta=Ka(new Date);for(h=0;h=0&&xa(O,La+h*i("slotMinutes"));return O}function ua(h){return ba(N(K.visStart),h*Ha+Ia)}function pa(h){return i("allDaySlot")&&!h.row}function U(h){return(h-Math.max(Tb,Sb)+Ba)%Ba*Ha+Ia}function ca(h,O){h=N(h,true);if(O=xa(N(h),bb))return V.height(); -h=i("slotMinutes");O=O.getHours()*60+O.getMinutes()-La;var x=Math.floor(O/h),A=ub[x];if(A===ma)A=ub[x]=V.find("tr:eq("+x+") td div")[0].offsetTop;return Math.max(0,Math.round(A-1+Xa*(O%h/h)))}function ka(){return{left:Ma,right:Ga-vb}}function qa(){return $}function G(h){var O=N(h.start);if(h.allDay)return O;return xa(O,i("defaultEventMinutes"))}function p(h,O){if(O)return N(h);return xa(N(h),i("slotMinutes"))}function L(h,O,x){if(x)i("allDaySlot")&&oa(h,ba(N(O),1),true);else c(h,O)}function c(h,O){var x= -i("selectHelper");Na.build();if(x){var A=Ca(h,K.visStart)*Ha+Ia;if(A>=0&&Ata){A.top=ta;A.height=za-ta;A.left+=2;A.width-=5;if(m.isFunction(x)){if(h=x(h,O)){A.position="absolute";A.zIndex=8;wa=m(h).css(A).appendTo(I)}}else{A.isStart=true;A.isEnd=true;wa=m(o({title:"",start:h,end:O,className:["fc-select-helper"],editable:false},A));wa.css("opacity",i("dragOpacity"))}if(wa){u(wa);I.append(wa);Va(wa,A.width,true);Eb(wa,A.height,true)}}}}else ra(h, -O)}function z(){B();if(wa){wa.remove();wa=null}}function H(h){if(h.which==1&&i("selectable")){Y(h);var O;Ra.start(function(x,A){z();if(x&&x.col==A.col&&!pa(x)){A=na(A);x=na(x);O=[A,xa(N(A),i("slotMinutes")),x,xa(N(x),i("slotMinutes"))].sort(Gb);c(O[0],O[3])}else O=null},h);m(document).one("mouseup",function(x){Ra.stop();if(O){+O[0]==+O[1]&&T(O[0],false,x);n(O[0],O[3],false,x)}})}}function T(h,O,x){C("dayClick",M[U(h.getDay())],h,O,x)}function X(h,O){Ra.start(function(x){B();if(x)if(pa(x))ga(x.row, -x.col,x.row,x.col);else{x=na(x);var A=xa(N(x),i("defaultEventMinutes"));ra(x,A)}},O)}function ya(h,O,x){var A=Ra.stop();B();A&&C("drop",h,na(A),pa(A),O,x)}var K=this;K.renderAgenda=d;K.setWidth=t;K.setHeight=j;K.beforeHide=S;K.afterShow=Q;K.defaultEventEnd=G;K.timePosition=ca;K.dayOfWeekCol=U;K.dateCell=da;K.cellDate=na;K.cellIsAllDay=pa;K.allDayRow=qa;K.allDayBounds=ka;K.getHoverListener=function(){return Ra};K.colContentLeft=sa;K.colContentRight=ha;K.getDaySegmentContainer=function(){return ia}; -K.getSlotSegmentContainer=function(){return R};K.getMinMinute=function(){return La};K.getMaxMinute=function(){return bb};K.getBodyContent=function(){return I};K.getRowCnt=function(){return 1};K.getColCnt=function(){return Ba};K.getColWidth=function(){return db};K.getSlotHeight=function(){return Xa};K.defaultSelectionEnd=p;K.renderDayOverlay=oa;K.renderSelection=L;K.clearSelection=z;K.reportDayClick=T;K.dragStart=X;K.dragStop=ya;Kb.call(K,a,b,e);Lb.call(K);Mb.call(K);sc.call(K);var i=K.opt,C=K.trigger, -P=K.clearEvents,E=K.renderOverlay,B=K.clearOverlays,n=K.reportSelection,Y=K.unselect,W=K.daySelectionMousedown,o=K.slotSegHtml,s=b.formatDate,v,F,r,J,M,k,D,Z,ja,ia,la,$,w,I,R,V,ea,aa,va,wa,Ga,Wb,Ma,db,vb,Xa,Xb,Ba,tb,Na,Ra,cb,ub={},Wa,Tb,Sb,Ub,Ha,Ia,La,bb,Vb;qb(a.addClass("fc-agenda"));Na=new Nb(function(h,O){function x(eb){return Math.max(Ea,Math.min(tc,eb))}var A,ta,za;r.each(function(eb,uc){A=m(uc);ta=A.offset().left;if(eb)za[1]=ta;za=[ta];O[eb]=za});za[1]=ta+A.outerWidth();if(i("allDaySlot")){A= -$;ta=A.offset().top;h[0]=[ta,ta+A.outerHeight()]}for(var Da=I.offset().top,Ea=w.offset().top,tc=Ea+w.outerHeight(),fb=0;fb
"+Qa(W(o.start,o.end,u("timeFormat")))+"
"+Qa(o.title)+"
";if(s.isEnd&&ga(o))v+="
=
"; -v+="";return v}function j(o,s,v){oa(o)&&y(o,s,v.isStart);v.isEnd&&ga(o)&&c(o,s,v);da(o,s)}function t(o,s,v){var F=s.find("div.fc-event-time");oa(o)&&S(o,s,F);v.isEnd&&ga(o)&&Q(o,s,F);da(o,s)}function y(o,s,v){function F(){if(!M){s.width(r).height("").draggable("option","grid",null);M=true}}var r,J,M=true,k,D=u("isRTL")?-1:1,Z=U(),ja=H(),ia=T(),la=ka();s.draggable({zIndex:9,opacity:u("dragOpacity","month"),revertDuration:u("dragRevertDuration"),start:function($,w){fa("eventDragStart", -s,o,$,w);i(o,s);r=s.width();Z.start(function(I,R,V,ea){B();if(I){J=false;k=ea*D;if(I.row)if(v){if(M){s.width(ja-10);Eb(s,ia*Math.round((o.end?(o.end-o.start)/wc:u("defaultEventMinutes"))/u("slotMinutes")));s.draggable("option","grid",[ja,1]);M=false}}else J=true;else{E(ba(N(o.start),k),ba(Ua(o),k));F()}J=J||M&&!k}else{F();J=true}s.draggable("option","revert",J)},$,"drag")},stop:function($,w){Z.stop();B();fa("eventDragStop",s,o,$,w);if(J){F();s.css("filter","");K(o,s)}else{var I=0;M||(I=Math.round((s.offset().top- -X().offset().top)/ia)*u("slotMinutes")+la-(o.start.getHours()*60+o.start.getMinutes()));C(this,o,k,I,M,$,w)}}})}function S(o,s,v){function F(I){var R=xa(N(o.start),I),V;if(o.end)V=xa(N(o.end),I);v.text(W(R,V,u("timeFormat")))}function r(){if(M){v.css("display","");s.draggable("option","grid",[$,w]);M=false}}var J,M=false,k,D,Z,ja=u("isRTL")?-1:1,ia=U(),la=z(),$=H(),w=T();s.draggable({zIndex:9,scroll:false,grid:[$,w],axis:la==1?"y":false,opacity:u("dragOpacity"),revertDuration:u("dragRevertDuration"), -start:function(I,R){fa("eventDragStart",s,o,I,R);i(o,s);J=s.position();D=Z=0;ia.start(function(V,ea,aa,va){s.draggable("option","revert",!V);B();if(V){k=va*ja;if(u("allDaySlot")&&!V.row){if(!M){M=true;v.hide();s.draggable("option","grid",null)}E(ba(N(o.start),k),ba(Ua(o),k))}else r()}},I,"drag")},drag:function(I,R){D=Math.round((R.position.top-J.top)/w)*u("slotMinutes");if(D!=Z){M||F(D);Z=D}},stop:function(I,R){var V=ia.stop();B();fa("eventDragStop",s,o,I,R);if(V&&(k||D||M))C(this,o,k,M?0:D,M,I,R); -else{r();s.css("filter","");s.css(J);F(0);K(o,s)}}})}function Q(o,s,v){var F,r,J=T();s.resizable({handles:{s:"div.ui-resizable-s"},grid:J,start:function(M,k){F=r=0;i(o,s);s.css("z-index",9);fa("eventResizeStart",this,o,M,k)},resize:function(M,k){F=Math.round((Math.max(J,s.height())-k.originalSize.height)/J);if(F!=r){v.text(W(o.start,!F&&!o.end?null:xa(ra(o),u("slotMinutes")*F),u("timeFormat")));r=F}},stop:function(M,k){fa("eventResizeStop",this,o,M,k);if(F)P(this,o,0,u("slotMinutes")*F,M,k);else{s.css("z-index", -8);K(o,s)}}})}var q=this;q.renderEvents=a;q.compileDaySegs=e;q.clearEvents=b;q.slotSegHtml=l;q.bindDaySeg=j;Qb.call(q);var u=q.opt,fa=q.trigger,oa=q.isEventDraggable,ga=q.isEventResizable,ra=q.eventEnd,sa=q.reportEvents,ha=q.reportEventClear,da=q.eventElementHandlers,na=q.setHeight,ua=q.getDaySegmentContainer,pa=q.getSlotSegmentContainer,U=q.getHoverListener,ca=q.getMaxMinute,ka=q.getMinMinute,qa=q.timePosition,G=q.colContentLeft,p=q.colContentRight,L=q.renderDaySegs,c=q.resizableDayEvent,z=q.getColCnt, -H=q.getColWidth,T=q.getSlotHeight,X=q.getBodyContent,ya=q.reportEventElement,K=q.showEvents,i=q.hideEvents,C=q.eventDrop,P=q.eventResize,E=q.renderDayOverlay,B=q.clearOverlays,n=q.calendar,Y=n.formatDate,W=n.formatDates}function vc(a){var b,e,d,f,g,l;for(b=a.length-1;b>0;b--){f=a[b];for(e=0;e"),B=z(),n=i.length,Y;E[0].innerHTML=e(i);E=E.children();B.append(E);d(i,E);l(i);j(i);t(i);Q(i,S(y()));E=[];for(B=0;B
";if(!n.allDay&&B.isStart)k+=""+Qa(T(n.start,n.end,fa("timeFormat")))+"";k+=""+Qa(n.title)+"
";if(B.isEnd&&ra(n))k+="
   
";k+="";B.left=r;B.outerWidth=J-r;B.startCol=v;B.endCol=F+1}return k}function d(i,C){var P,E=i.length,B,n,Y;for(P=0;P div");return P}function S(i){var C,P=i.length,E=[];for(C=0;C"));j[0].parentNode!=l[0]&&j.appendTo(l);d.push(j.css(g).show());return j}function b(){for(var g;g=d.shift();)f.push(g.hide().unbind())}var e=this;e.renderOverlay=a;e.clearOverlays=b;var d=[],f=[]}function Nb(a){var b=this,e,d;b.build=function(){e=[];d=[];a(e,d)};b.cell=function(f,g){var l=e.length,j=d.length, -t,y=-1,S=-1;for(t=0;t=e[t][0]&&g=d[t][0]&&f=0&&S>=0?{row:y,col:S}:null};b.rect=function(f,g,l,j,t){t=t.offset();return{top:e[f][0]-t.top,left:d[g][0]-t.left,width:d[j][1]-d[g][0],height:e[l][1]-e[f][0]}}}function Ob(a){function b(j){xc(j);j=a.cell(j.pageX,j.pageY);if(!j!=!l||j&&(j.row!=l.row||j.col!=l.col)){if(j){g||(g=j);f(j,g,j.row-g.row,j.col-g.col)}else f(j,g);l=j}}var e=this,d,f,g,l;e.start=function(j,t,y){f=j; -g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35, -header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '—'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","Mai","June","July","August","September","October","November","December"],monthNamesShort:["Jan", -"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:" ◄ ",next:" ► ",prevYear:" << ",nextYear:" >> ",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc= -{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:" ► ",next:" ◄ ",prevYear:" >> ",nextYear:" << "},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.3"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f, -b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601= -Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())}, -ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()< -12?"A":"P"},TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0, -maxTime:24})})(jQuery); diff --git a/www/plugins/fullcalendar-1.5.3/fullcalendar.print.css b/www/plugins/fullcalendar-1.5.3/fullcalendar.print.css deleted file mode 100644 index e11c18163..000000000 --- a/www/plugins/fullcalendar-1.5.3/fullcalendar.print.css +++ /dev/null @@ -1,61 +0,0 @@ -/* - * FullCalendar v1.5.3 Print Stylesheet - * - * Include this stylesheet on your page to get a more printer-friendly calendar. - * When including this stylesheet, use the media='print' attribute of the tag. - * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css. - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - - - /* Events ------------------------------------------------------*/ - -.fc-event-skin { - background: none !important; - color: #000 !important; - } - -/* horizontal events */ - -.fc-event-hori { - border-width: 0 0 1px 0 !important; - border-bottom-style: dotted !important; - border-bottom-color: #000 !important; - padding: 1px 0 0 0 !important; - } - -.fc-event-hori .fc-event-inner { - border-width: 0 !important; - padding: 0 1px !important; - } - -/* vertical events */ - -.fc-event-vert { - border-width: 0 0 0 1px !important; - border-left-style: dotted !important; - border-left-color: #000 !important; - padding: 0 1px 0 0 !important; - } - -.fc-event-vert .fc-event-inner { - border-width: 0 !important; - padding: 1px 0 !important; - } - -.fc-event-bg { - display: none !important; - } - -.fc-event .ui-resizable-handle { - display: none !important; - } - - diff --git a/www/plugins/fullcalendar-1.5.3/gcal.js b/www/plugins/fullcalendar-1.5.3/gcal.js deleted file mode 100644 index e9bbe26d8..000000000 --- a/www/plugins/fullcalendar-1.5.3/gcal.js +++ /dev/null @@ -1,112 +0,0 @@ -/* - * FullCalendar v1.5.3 Google Calendar Plugin - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - -(function($) { - - -var fc = $.fullCalendar; -var formatDate = fc.formatDate; -var parseISO8601 = fc.parseISO8601; -var addDays = fc.addDays; -var applyAll = fc.applyAll; - - -fc.sourceNormalizers.push(function(sourceOptions) { - if (sourceOptions.dataType == 'gcal' || - sourceOptions.dataType === undefined && - (sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) { - sourceOptions.dataType = 'gcal'; - if (sourceOptions.editable === undefined) { - sourceOptions.editable = false; - } - } -}); - - -fc.sourceFetchers.push(function(sourceOptions, start, end) { - if (sourceOptions.dataType == 'gcal') { - return transformOptions(sourceOptions, start, end); - } -}); - - -function transformOptions(sourceOptions, start, end) { - - var success = sourceOptions.success; - var data = $.extend({}, sourceOptions.data || {}, { - 'start-min': formatDate(start, 'u'), - 'start-max': formatDate(end, 'u'), - 'singleevents': true, - 'max-results': 9999 - }); - - var ctz = sourceOptions.currentTimezone; - if (ctz) { - data.ctz = ctz = ctz.replace(' ', '_'); - } - - return $.extend({}, sourceOptions, { - url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?', - dataType: 'jsonp', - data: data, - startParam: false, - endParam: false, - success: function(data) { - var events = []; - if (data.feed.entry) { - $.each(data.feed.entry, function(i, entry) { - var startStr = entry['gd$when'][0]['startTime']; - var start = parseISO8601(startStr, true); - var end = parseISO8601(entry['gd$when'][0]['endTime'], true); - var allDay = startStr.indexOf('T') == -1; - var url; - $.each(entry.link, function(i, link) { - if (link.type == 'text/html') { - url = link.href; - if (ctz) { - url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz; - } - } - }); - if (allDay) { - addDays(end, -1); // make inclusive - } - events.push({ - id: entry['gCal$uid']['value'], - title: entry['title']['$t'], - url: url, - start: start, - end: end, - allDay: allDay, - location: entry['gd$where'][0]['valueString'], - description: entry['content']['$t'] - }); - }); - } - var args = [events].concat(Array.prototype.slice.call(arguments, 1)); - var res = applyAll(success, this, args); - if ($.isArray(res)) { - return res; - } - return events; - } - }); - -} - - -// legacy -fc.gcalFeed = function(url, sourceOptions) { - return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' }); -}; - - -})(jQuery); diff --git a/www/plugins/fullcalendar-1.6.4/fullcalendar.css b/www/plugins/fullcalendar-1.6.4/fullcalendar.css deleted file mode 100644 index b9834884e..000000000 --- a/www/plugins/fullcalendar-1.6.4/fullcalendar.css +++ /dev/null @@ -1,589 +0,0 @@ -/*! - * FullCalendar v1.6.4 Stylesheet - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - - -.fc { - direction: ltr; - text-align: left; - } - -.fc table { - border-collapse: collapse; - border-spacing: 0; - } - -html .fc, -.fc table { - font-size: 1em; - } - -.fc td, -.fc th { - padding: 0; - vertical-align: top; - } - - - -/* Header -------------------------------------------------------------------------*/ - -.fc-header td { - white-space: nowrap; - } - -.fc-header-left { - width: 25%; - text-align: left; - } - -.fc-header-center { - text-align: center; - } - -.fc-header-right { - width: 25%; - text-align: right; - } - -.fc-header-title { - display: inline-block; - vertical-align: top; - } - -.fc-header-title h2 { - margin-top: 0; - white-space: nowrap; - } - -.fc .fc-header-space { - padding-left: 10px; - } - -.fc-header .fc-button { - margin-bottom: 1em; - vertical-align: top; - } - -/* buttons edges butting together */ - -.fc-header .fc-button { - margin-right: -1px; - } - -.fc-header .fc-corner-right, /* non-theme */ -.fc-header .ui-corner-right { /* theme */ - margin-right: 0; /* back to normal */ - } - -/* button layering (for border precedence) */ - -.fc-header .fc-state-hover, -.fc-header .ui-state-hover { - z-index: 2; - } - -.fc-header .fc-state-down { - z-index: 3; - } - -.fc-header .fc-state-active, -.fc-header .ui-state-active { - z-index: 1; - } - - - -/* Content -------------------------------------------------------------------------*/ - -.fc-content { - clear: both; - zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */ - } - -.fc-view { - width: 100%; - overflow: hidden; - } - - - -/* Cell Styles -------------------------------------------------------------------------*/ - -.fc-widget-header, /* , usually */ -.fc-widget-content { /* , usually */ - border: 1px solid #ddd; - } - -.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ - background: #fcf8e3; - } - -.fc-cell-overlay { /* semi-transparent rectangle while dragging */ - background: #bce8f1; - opacity: .3; - filter: alpha(opacity=30); /* for IE */ - } - - - -/* Buttons -------------------------------------------------------------------------*/ - -.fc-button { - position: relative; - display: inline-block; - padding: 0 .6em; - overflow: hidden; - height: 1.9em; - line-height: 1.9em; - white-space: nowrap; - cursor: pointer; - } - -.fc-state-default { /* non-theme */ - border: 1px solid; - } - -.fc-state-default.fc-corner-left { /* non-theme */ - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - } - -.fc-state-default.fc-corner-right { /* non-theme */ - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - } - -/* - Our default prev/next buttons use HTML entities like ‹ › « » - and we'll try to make them look good cross-browser. -*/ - -.fc-text-arrow { - margin: 0 .1em; - font-size: 2em; - font-family: "Courier New", Courier, monospace; - vertical-align: baseline; /* for IE7 */ - } - -.fc-button-prev .fc-text-arrow, -.fc-button-next .fc-text-arrow { /* for ‹ › */ - font-weight: bold; - } - -/* icon (for jquery ui) */ - -.fc-button .fc-icon-wrap { - position: relative; - float: left; - top: 50%; - } - -.fc-button .ui-icon { - position: relative; - float: left; - margin-top: -50%; - *margin-top: 0; - *top: -50%; - } - -/* - button states - borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) -*/ - -.fc-state-default { - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - color: #333; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-hover, -.fc-state-down, -.fc-state-active, -.fc-state-disabled { - color: #333333; - background-color: #e6e6e6; - } - -.fc-state-hover { - color: #333333; - text-decoration: none; - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; - } - -.fc-state-down, -.fc-state-active { - background-color: #cccccc; - background-image: none; - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-disabled { - cursor: default; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; - } - - - -/* Global Event Styles -------------------------------------------------------------------------*/ - -.fc-event-container > * { - z-index: 8; - } - -.fc-event-container > .ui-draggable-dragging, -.fc-event-container > .ui-resizable-resizing { - z-index: 9; - } - -.fc-event { - border: 1px solid #3a87ad; /* default BORDER color */ - background-color: #3a87ad; /* default BACKGROUND color */ - color: #fff; /* default TEXT color */ - font-size: .85em; - cursor: default; - } - -a.fc-event { - text-decoration: none; - } - -a.fc-event, -.fc-event-draggable { - cursor: pointer; - } - -.fc-rtl .fc-event { - text-align: right; - } - -.fc-event-inner { - width: 100%; - height: 100%; - overflow: hidden; - } - -.fc-event-time, -.fc-event-title { - padding: 0 1px; - } - -.fc .ui-resizable-handle { - display: block; - position: absolute; - z-index: 99999; - overflow: hidden; /* hacky spaces (IE6/7) */ - font-size: 300%; /* */ - line-height: 50%; /* */ - } - - - -/* Horizontal Events -------------------------------------------------------------------------*/ - -.fc-event-hori { - border-width: 1px 0; - margin-bottom: 1px; - } - -.fc-ltr .fc-event-hori.fc-event-start, -.fc-rtl .fc-event-hori.fc-event-end { - border-left-width: 1px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - -.fc-ltr .fc-event-hori.fc-event-end, -.fc-rtl .fc-event-hori.fc-event-start { - border-right-width: 1px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - -/* resizable */ - -.fc-event-hori .ui-resizable-e { - top: 0 !important; /* importants override pre jquery ui 1.7 styles */ - right: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: e-resize; - } - -.fc-event-hori .ui-resizable-w { - top: 0 !important; - left: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: w-resize; - } - -.fc-event-hori .ui-resizable-handle { - _padding-bottom: 14px; /* IE6 had 0 height */ - } - - - -/* Reusable Separate-border Table -------------------------------------------------------------*/ - -table.fc-border-separate { - border-collapse: separate; - } - -.fc-border-separate th, -.fc-border-separate td { - border-width: 1px 0 0 1px; - } - -.fc-border-separate th.fc-last, -.fc-border-separate td.fc-last { - border-right-width: 1px; - } - -.fc-border-separate tr.fc-last th, -.fc-border-separate tr.fc-last td { - border-bottom-width: 1px; - } - -.fc-border-separate tbody tr.fc-first td, -.fc-border-separate tbody tr.fc-first th { - border-top-width: 0; - } - - - -/* Month View, Basic Week View, Basic Day View -------------------------------------------------------------------------*/ - -.fc-grid th { - text-align: center; - } - -.fc .fc-week-number { - width: 22px; - text-align: center; - } - -.fc .fc-week-number div { - padding: 0 2px; - } - -.fc-grid .fc-day-number { - float: right; - padding: 0 2px; - } - -.fc-grid .fc-other-month .fc-day-number { - opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ - /* opacity with small font can sometimes look too faded - might want to set the 'color' property instead - making day-numbers bold also fixes the problem */ - } - -.fc-grid .fc-day-content { - clear: both; - padding: 2px 2px 1px; /* distance between events and day edges */ - } - -/* event styles */ - -.fc-grid .fc-event-time { - font-weight: bold; - } - -/* right-to-left */ - -.fc-rtl .fc-grid .fc-day-number { - float: left; - } - -.fc-rtl .fc-grid .fc-event-time { - float: right; - } - - - -/* Agenda Week View, Agenda Day View -------------------------------------------------------------------------*/ - -.fc-agenda table { - border-collapse: separate; - } - -.fc-agenda-days th { - text-align: center; - } - -.fc-agenda .fc-agenda-axis { - width: 50px; - padding: 0 4px; - vertical-align: middle; - text-align: right; - white-space: nowrap; - font-weight: normal; - } - -.fc-agenda .fc-week-number { - font-weight: bold; - } - -.fc-agenda .fc-day-content { - padding: 2px 2px 1px; - } - -/* make axis border take precedence */ - -.fc-agenda-days .fc-agenda-axis { - border-right-width: 1px; - } - -.fc-agenda-days .fc-col0 { - border-left-width: 0; - } - -/* all-day area */ - -.fc-agenda-allday th { - border-width: 0 1px; - } - -.fc-agenda-allday .fc-day-content { - min-height: 34px; /* TODO: doesnt work well in quirksmode */ - _height: 34px; - } - -/* divider (between all-day and slots) */ - -.fc-agenda-divider-inner { - height: 2px; - overflow: hidden; - } - -.fc-widget-header .fc-agenda-divider-inner { - background: #eee; - } - -/* slot rows */ - -.fc-agenda-slots th { - border-width: 1px 1px 0; - } - -.fc-agenda-slots td { - border-width: 1px 0 0; - background: none; - } - -.fc-agenda-slots td div { - height: 20px; - } - -.fc-agenda-slots tr.fc-slot0 th, -.fc-agenda-slots tr.fc-slot0 td { - border-top-width: 0; - } - -.fc-agenda-slots tr.fc-minor th, -.fc-agenda-slots tr.fc-minor td { - border-top-style: dotted; - } - -.fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ - } - - - -/* Vertical Events -------------------------------------------------------------------------*/ - -.fc-event-vert { - border-width: 0 1px; - } - -.fc-event-vert.fc-event-start { - border-top-width: 1px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - } - -.fc-event-vert.fc-event-end { - border-bottom-width: 1px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - } - -.fc-event-vert .fc-event-time { - white-space: nowrap; - font-size: 10px; - } - -.fc-event-vert .fc-event-inner { - position: relative; - z-index: 2; - } - -.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; - opacity: .25; - filter: alpha(opacity=25); - } - -.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg { - display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ - } - -/* resizable */ - -.fc-event-vert .ui-resizable-s { - bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ - width: 100% !important; - height: 8px !important; - overflow: hidden !important; - line-height: 8px !important; - font-size: 11px !important; - font-family: monospace; - text-align: center; - cursor: s-resize; - } - -.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ - _overflow: hidden; - } - - diff --git a/www/plugins/fullcalendar-1.6.4/fullcalendar.js b/www/plugins/fullcalendar-1.6.4/fullcalendar.js deleted file mode 100644 index 3a37bdba8..000000000 --- a/www/plugins/fullcalendar-1.6.4/fullcalendar.js +++ /dev/null @@ -1,6110 +0,0 @@ -/*! - * FullCalendar v1.6.4 - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - -/* - * Use fullcalendar.css for basic styling. - * For event drag & drop, requires jQuery UI draggable. - * For event resizing, requires jQuery UI resizable. - */ - -(function($, undefined) { - - -;; - -var defaults = { - - // display - defaultView: 'month', - aspectRatio: 1.35, - header: { - left: 'title', - center: '', - right: 'today prev,next' - }, - weekends: true, - weekNumbers: false, - weekNumberCalculation: 'iso', - weekNumberTitle: 'W', - - // editing - //editable: false, - //disableDragging: false, - //disableResizing: false, - - allDayDefault: true, - ignoreTimezone: true, - - // event ajax - lazyFetching: true, - startParam: 'start', - endParam: 'end', - - // time formats - titleFormat: { - month: 'MMMM yyyy', - week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", - day: 'dddd, MMM d, yyyy' - }, - columnFormat: { - month: 'ddd', - week: 'ddd M/d', - day: 'dddd M/d' - }, - timeFormat: { // for event elements - '': 'h(:mm)t' // default - }, - - // locale - isRTL: false, - firstDay: 0, - monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], - monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], - dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], - buttonText: { - prev: "", - next: "", - prevYear: "«", - nextYear: "»", - today: 'today', - month: 'month', - week: 'week', - day: 'day' - }, - - // jquery-ui theming - theme: false, - buttonIcons: { - prev: 'circle-triangle-w', - next: 'circle-triangle-e' - }, - - //selectable: false, - unselectAuto: true, - - dropAccept: '*', - - handleWindowResize: true - -}; - -// right-to-left defaults -var rtlDefaults = { - header: { - left: 'next,prev today', - center: '', - right: 'title' - }, - buttonText: { - prev: "", - next: "", - prevYear: "»", - nextYear: "«" - }, - buttonIcons: { - prev: 'circle-triangle-e', - next: 'circle-triangle-w' - } -}; - - - -;; - -var fc = $.fullCalendar = { version: "1.6.4" }; -var fcViews = fc.views = {}; - - -$.fn.fullCalendar = function(options) { - - - // method calling - if (typeof options == 'string') { - var args = Array.prototype.slice.call(arguments, 1); - var res; - this.each(function() { - var calendar = $.data(this, 'fullCalendar'); - if (calendar && $.isFunction(calendar[options])) { - var r = calendar[options].apply(calendar, args); - if (res === undefined) { - res = r; - } - if (options == 'destroy') { - $.removeData(this, 'fullCalendar'); - } - } - }); - if (res !== undefined) { - return res; - } - return this; - } - - options = options || {}; - - // would like to have this logic in EventManager, but needs to happen before options are recursively extended - var eventSources = options.eventSources || []; - delete options.eventSources; - if (options.events) { - eventSources.push(options.events); - delete options.events; - } - - - options = $.extend(true, {}, - defaults, - (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, - options - ); - - - this.each(function(i, _element) { - var element = $(_element); - var calendar = new Calendar(element, options, eventSources); - element.data('fullCalendar', calendar); // TODO: look into memory leak implications - calendar.render(); - }); - - - return this; - -}; - - -// function for adding/overriding defaults -function setDefaults(d) { - $.extend(true, defaults, d); -} - - - -;; - - -function Calendar(element, options, eventSources) { - var t = this; - - - // exports - t.options = options; - t.render = render; - t.destroy = destroy; - t.refetchEvents = refetchEvents; - t.reportEvents = reportEvents; - t.reportEventChange = reportEventChange; - t.rerenderEvents = rerenderEvents; - t.changeView = changeView; - t.select = select; - t.unselect = unselect; - t.prev = prev; - t.next = next; - t.prevYear = prevYear; - t.nextYear = nextYear; - t.today = today; - t.gotoDate = gotoDate; - t.incrementDate = incrementDate; - t.formatDate = function(format, date) { return formatDate(format, date, options) }; - t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; - t.getDate = getDate; - t.getView = getView; - t.option = option; - t.trigger = trigger; - - - // imports - EventManager.call(t, options, eventSources); - var isFetchNeeded = t.isFetchNeeded; - var fetchEvents = t.fetchEvents; - - - // locals - var _element = element[0]; - var header; - var headerElement; - var content; - var tm; // for making theme classes - var currentView; - var elementOuterWidth; - var suggestedViewHeight; - var resizeUID = 0; - var ignoreWindowResize = 0; - var date = new Date(); - var events = []; - var _dragElement; - - - - /* Main Rendering - -----------------------------------------------------------------------------*/ - - - setYMD(date, options.year, options.month, options.date); - - - function render(inc) { - if (!content) { - initialRender(); - } - else if (elementVisible()) { - // mainly for the public API - calcSize(); - _renderView(inc); - } - } - - - function initialRender() { - tm = options.theme ? 'ui' : 'fc'; - element.addClass('fc'); - if (options.isRTL) { - element.addClass('fc-rtl'); - } - else { - element.addClass('fc-ltr'); - } - if (options.theme) { - element.addClass('ui-widget'); - } - - content = $("
") - .prependTo(element); - - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - - changeView(options.defaultView); - - if (options.handleWindowResize) { - $(window).resize(windowResize); - } - - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - - if (currentView) { - trigger('viewDestroy', currentView, currentView, currentView.element); - currentView.triggerEventDestroy(); - } - - $(window).unbind('resize', windowResize); - - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - function elementVisible() { - return element.is(':visible'); - } - - - function bodyVisible() { - return $('body').is(':visible'); - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - _changeView(newViewName); - } - } - - - function _changeView(newViewName) { - ignoreWindowResize++; - - if (currentView) { - trigger('viewDestroy', currentView, currentView, currentView.element); - unselect(); - currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event - freezeContentHeight(); - currentView.element.remove(); - header.deactivateButton(currentView.name); - } - - header.activateButton(newViewName); - - currentView = new fcViews[newViewName]( - $("
") - .appendTo(content), - t // the calendar object - ); - - renderView(); - unfreezeContentHeight(); - - ignoreWindowResize--; - } - - - function renderView(inc) { - if ( - !currentView.start || // never rendered before - inc || date < currentView.start || date >= currentView.end // or new date range - ) { - if (elementVisible()) { - _renderView(inc); - } - } - } - - - function _renderView(inc) { // assumes elementVisible - ignoreWindowResize++; - - if (currentView.start) { // already been rendered? - trigger('viewDestroy', currentView, currentView, currentView.element); - unselect(); - clearEvents(); - } - - freezeContentHeight(); - currentView.render(date, inc || 0); // the view's render method ONLY renders the skeleton, nothing else - setSize(); - unfreezeContentHeight(); - (currentView.afterRender || noop)(); - - updateTitle(); - updateTodayButton(); - - trigger('viewRender', currentView, currentView, currentView.element); - currentView.trigger('viewDisplay', _element); // deprecated - - ignoreWindowResize--; - - getAndRenderEvents(); - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - if (elementVisible()) { - unselect(); - clearEvents(); - calcSize(); - setSize(); - renderEvents(); - } - } - - - function calcSize() { // assumes elementVisible - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize() { // assumes elementVisible - - if (suggestedViewHeight === undefined) { - calcSize(); // for first time - // NOTE: we don't want to recalculate on every renderView because - // it could result in oscillating heights due to scrollbars. - } - - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight); - currentView.setWidth(content.width()); - ignoreWindowResize--; - - elementOuterWidth = element.outerWidth(); - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - // TODO: going forward, most of this stuff should be directly handled by the view - - - function refetchEvents() { // can be called as an API method - clearEvents(); - fetchAndRenderEvents(); - } - - - function rerenderEvents(modifiedEventID) { // can be called as an API method - clearEvents(); - renderEvents(modifiedEventID); - } - - - function renderEvents(modifiedEventID) { // TODO: remove modifiedEventID hack - if (elementVisible()) { - currentView.setEventData(events); // for View.js, TODO: unify with renderEvents - currentView.renderEvents(events, modifiedEventID); // actually render the DOM elements - currentView.trigger('eventAfterAllRender'); - } - } - - - function clearEvents() { - currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event - currentView.clearEvents(); // actually remove the DOM elements - currentView.clearEventData(); // for View.js, TODO: unify with clearEvents - } - - - function getAndRenderEvents() { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - fetchAndRenderEvents(); - } - else { - renderEvents(); - } - } - - - function fetchAndRenderEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); - // ... will call reportEvents - // ... which will call renderEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - renderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - - /* Header Updating - -----------------------------------------------------------------------------*/ - - - function updateTitle() { - header.updateTitle(currentView.title); - } - - - function updateTodayButton() { - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - } - else { - header.enableButton('today'); - } - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Height "Freezing" - -----------------------------------------------------------------------------*/ - - - function freezeContentHeight() { - content.css({ - width: '100%', - height: content.height(), - overflow: 'hidden' - }); - } - - - function unfreezeContentHeight() { - content.css({ - width: '', - height: '', - overflow: '' - }); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -;; - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("") - .append( - $("") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $(""; - - if (showWeekNumbers) { - html += - ""; - } - - for (col=0; col" + - htmlEscape(formatDate(date, colFormat)) + - ""; - } - - html += ""; - - return html; - } - - - function buildBodyHTML() { - var contentClass = tm + "-widget-content"; - var html = ''; - var row; - var col; - var date; - - html += ""; - - for (row=0; row" + - "
" + - htmlEscape(formatDate(date, weekNumberFormat)) + - "
" + - ""; - } - - for (col=0; col" + - "
"; - - if (showNumbers) { - html += "
" + date.getDate() + "
"; - } - - html += - "
" + - "
 
" + - "
" + - "
" + - ""; - - return html; - } - - - - /* Dimensions - -----------------------------------------------------------*/ - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - cell.find('> div').css( - 'min-height', - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - } - - - function setWidth(width) { - viewWidth = width; - colPositions.clear(); - colContentPositions.clear(); - - weekNumberWidth = 0; - if (showWeekNumbers) { - weekNumberWidth = head.find('th.fc-week-number').outerWidth(); - } - - colWidth = Math.floor((viewWidth - weekNumberWidth) / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var date = parseISO8601($(this).data('date')); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - // TODO: should be consolidated with AgendaView's methods - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - - var segments = rangeToSegments(overlayStart, overlayEnd); - - for (var i=0; i") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "
"); - var buttonStr = options.header[position]; - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

 

"); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" - ) - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - disableTextSelection(button); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -;; - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - }, - w : function(d, o) { // local - return o.weekNumberCalculation(d); - }, - W : function(d) { // ISO - return iso8601Week(d); - } -}; -fc.dateFormatters = dateFormatters; - - -/* thanks jQuery UI (https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js) - * - * Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. - * `date` - the date to get the week for - * `number` - the number of the week within the year that contains this date - */ -function iso8601Week(date) { - var time; - var checkDate = new Date(date.getTime()); - - // Find Thursday of this week starting on Monday - checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); - - time = checkDate.getTime(); - checkDate.setMonth(0); // Compare with Jan 1 - checkDate.setDate(1); - return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; -} - - -;; - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); - // why don't we check for seconds/ms too? -} - - - -/* Event Element Binding ------------------------------------------------------------------------------*/ - - -function lazySegBind(container, segs, bindHandlers) { - container.unbind('mouseover').mouseover(function(ev) { - var parent=ev.target, e, - i, seg; - while (parent != this) { - e = parent; - parent = parent.parentNode; - } - if ((i = e._fci) !== undefined) { - e._fci = undefined; - seg = segs[i]; - bindHandlers(seg.event, seg.element, seg); - $(ev.target).trigger(ev); - } - ev.stopPropagation(); - }); -} - - - -/* Element Dimensions ------------------------------------------------------------------------------*/ - - -function setOuterWidth(element, width, includeMargins) { - for (var i=0, e; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
'); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i") - .appendTo(element); - } - - - function buildTable() { - var html = buildTableHTML(); - - if (table) { - table.remove(); - } - table = $(html).appendTo(element); - - head = table.find('thead'); - headCells = head.find('.fc-day-header'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('.fc-day'); - bodyFirstCells = bodyRows.find('td:first-child'); - - firstRowCellInners = bodyRows.eq(0).find('.fc-day > div'); - firstRowCellContentInners = bodyRows.eq(0).find('.fc-day-content > div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); - bodyRows.filter(':last').addClass('fc-last'); - - bodyCells.each(function(i, _cell) { - var date = cellToDate( - Math.floor(i / colCnt), - i % colCnt - ); - trigger('dayRender', t, date, $(_cell)); - }); - - dayBind(bodyCells); - } - - - - /* HTML Building - -----------------------------------------------------------*/ - - - function buildTableHTML() { - var html = - "" + - buildHeadHTML() + - buildBodyHTML() + - "
"; - - return html; - } - - - function buildHeadHTML() { - var headerClass = tm + "-widget-header"; - var html = ''; - var col; - var date; - - html += "
" + - htmlEscape(weekNumberTitle) + - "
" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContainer = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContainer); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContainer); - - slotBind(slotTable.find('td')); - } - - - - /* Build Day Table - -----------------------------------------------------------------------*/ - - - function buildDayTable() { - var html = buildDayTableHTML(); - - if (dayTable) { - dayTable.remove(); - } - dayTable = $(html).appendTo(element); - - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); // exclude gutter - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); // exclude gutter - dayBodyCellInners = dayBodyCells.find('> div'); - dayBodyCellContentInners = dayBodyCells.find('.fc-day-content > div'); - - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyCellInners.eq(0); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - // TODO: now that we rebuild the cells every time, we should call dayRender - } - - - function buildDayTableHTML() { - var html = - "" + - buildDayTableHeadHTML() + - buildDayTableBodyHTML() + - "
"; - - return html; - } - - - function buildDayTableHeadHTML() { - var headerClass = tm + "-widget-header"; - var date; - var html = ''; - var weekText; - var col; - - html += - "" + - ""; - - if (showWeekNumbers) { - date = cellToDate(0, 0); - weekText = formatDate(date, weekNumberFormat); - if (rtl) { - weekText += weekNumberTitle; - } - else { - weekText = weekNumberTitle + weekText; - } - html += - "" + - htmlEscape(weekText) + - ""; - } - else { - html += " "; - } - - for (col=0; col" + - htmlEscape(formatDate(date, colFormat)) + - ""; - } - - html += - " " + - "" + - ""; - - return html; - } - - - function buildDayTableBodyHTML() { - var headerClass = tm + "-widget-header"; // TODO: make these when updateOptions() called - var contentClass = tm + "-widget-content"; - var date; - var today = clearTime(new Date()); - var col; - var cellsHTML; - var cellHTML; - var classNames; - var html = ''; - - html += - "" + - "" + - " "; - - cellsHTML = ''; - - for (col=0; col" + - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - - cellsHTML += cellHTML; - } - - html += cellsHTML; - html += - " " + - "" + - ""; - - return html; - } - - - // TODO: data-date on the cells - - - - /* Dimensions - -----------------------------------------------------------------------*/ - - - function setHeight(height) { - if (height === undefined) { - height = viewHeight; - } - viewHeight = height; - slotTopCache = {}; - - var headHeight = dayBody.position().top; - var allDayHeight = slotScroller.position().top; // including divider - var bodyHeight = Math.min( // total body height, including borders - height - headHeight, // when scrollbars - slotTable.height() + allDayHeight + 1 // when no scrollbars. +1 for bottom border - ); - - dayBodyFirstCellStretcher - .height(bodyHeight - vsides(dayBodyFirstCell)); - - slotLayer.css('top', headHeight); - - slotScroller.height(bodyHeight - allDayHeight - 1); - - // the stylesheet guarantees that the first row has no border. - // this allows .height() to work well cross-browser. - slotHeight = slotTable.find('tr:first').height() + 1; // +1 for bottom border - - snapRatio = opt('slotMinutes') / snapMinutes; - snapHeight = slotHeight / snapRatio; - } - - - function setWidth(width) { - viewWidth = width; - colPositions.clear(); - colContentPositions.clear(); - - var axisFirstCells = dayHead.find('th:first'); - if (allDayTable) { - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - } - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - - axisWidth = 0; - setOuterWidth( - axisFirstCells - .width('') - .each(function(i, _cell) { - axisWidth = Math.max(axisWidth, $(_cell).outerWidth()); - }), - axisWidth - ); - - var gutterCells = dayTable.find('.fc-agenda-gutter'); - if (allDayTable) { - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - } - - var slotTableWidth = slotScroller[0].clientWidth; // needs to be done after axisWidth (for IE7) - - gutterWidth = slotScroller.width() - slotTableWidth; - if (gutterWidth) { - setOuterWidth(gutterCells, gutterWidth); - gutterCells - .show() - .prev() - .removeClass('fc-last'); - }else{ - gutterCells - .hide() - .prev() - .addClass('fc-last'); - } - - colWidth = Math.floor((slotTableWidth - axisWidth) / colCnt); - setOuterWidth(dayHeadCells.slice(0, -1), colWidth); - } - - - - /* Scrolling - -----------------------------------------------------------------------*/ - - - function resetScroll() { - var d0 = zeroDate(); - var scrollDate = cloneDate(d0); - scrollDate.setHours(opt('firstHour')); - var top = timePosition(d0, scrollDate) + 1; // +1 for the border - function scroll() { - slotScroller.scrollTop(top); - } - scroll(); - setTimeout(scroll, 0); // overrides any previous scroll state made by the browser - } - - - function afterRender() { // after the view has been freshly rendered and sized - resetScroll(); - } - - - - /* Slot/Day clicking and binding - -----------------------------------------------------------------------*/ - - - function dayBind(cells) { - cells.click(slotClick) - .mousedown(daySelectionMousedown); - } - - - function slotBind(cells) { - cells.click(slotClick) - .mousedown(slotSelectionMousedown); - } - - - function slotClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var col = Math.min(colCnt-1, Math.floor((ev.pageX - dayTable.offset().left - axisWidth) / colWidth)); - var date = cellToDate(0, col); - var rowMatch = this.parentNode.className.match(/fc-slot(\d+)/); // TODO: maybe use data - if (rowMatch) { - var mins = parseInt(rowMatch[1]) * opt('slotMinutes'); - var hours = Math.floor(mins/60); - date.setHours(hours); - date.setMinutes(mins%60 + minMinute); - trigger('dayClick', dayBodyCells[col], date, false, ev); - }else{ - trigger('dayClick', dayBodyCells[col], date, true, ev); - } - } - } - - - - /* Semi-transparent Overlay Helpers - -----------------------------------------------------*/ - // TODO: should be consolidated with BasicView's methods - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - - var segments = rangeToSegments(overlayStart, overlayEnd); - - for (var i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * snapMinutes); - } - return d; - } - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = - slotTable.find('tr').eq(slotI).find('td div')[0].offsetTop; - // .eq() is faster than ":eq()" selector - // [0].offsetTop is faster than .position().top (do we really need this optimization?) - // a better optimization would be to cache all these divs - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dateToCell(startDate).col; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContainer); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContainer); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContainer.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !getIsCellAllDay(cell)) { - var d1 = realCellToDate(origCell); - var d2 = realCellToDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes - d2, - addMinutes(cloneDate(d2), snapMinutes) - ].sort(dateCompare); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dateToCell(date).col], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (getIsCellAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = realCellToDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, realCellToDate(cell), getIsCellAllDay(cell), ev, ui); - } - } - - -} - -;; - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var getIsCellAllDay = t.getIsCellAllDay; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var cellToDate = t.cellToDate; - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSnapHeight = t.getSnapHeight; - var getSnapMinutes = t.getSnapMinutes; - var getSlotContainer = t.getSlotContainer; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var renderDayEvents = t.renderDayEvents; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - // overrides - t.draggableDayEvent = draggableDayEvent; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd - }); - } - } - return segs.sort(compareSlotSegs); - } - - - function slotEventEnd(event) { - if (event.end) { - return cloneDate(event.end); - }else{ - return addMinutes(cloneDate(event.start), opt('defaultEventMinutes')); - } - } - - - // renders events in the 'time slots' at the bottom - // TODO: when we refactor this, when user returns `false` eventRender, don't have empty space - // TODO: refactor will include using pixels to detect collisions instead of dates (handy for seg cmp) - - function renderSlotSegs(segs, modifiedEventId) { - - var i, segCnt=segs.length, seg, - event, - top, - bottom, - columnLeft, - columnRight, - columnWidth, - width, - left, - right, - html = '', - eventElements, - eventElement, - triggerRes, - titleElement, - height, - slotSegmentContainer = getSlotSegmentContainer(), - isRTL = opt('isRTL'); - - // calculate position/dimensions, create html - for (i=0; i" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - htmlEscape(event.title || '') + - "
" + - "
" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - // overrides DayEventRenderer's version because it needs to account for dragging elements - // to and from the slot area. - - function draggableDayEvent(event, eventElement, seg) { - var isStart = seg.isStart; - var origWidth; - var revert; - var allDay = true; - var dayDelta; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - var minMinute = getMinMinute(); - eventElement.draggable({ - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell) { - clearOverlays(); - if (cell) { - revert = false; - var origDate = cellToDate(0, origCell.col); - var date = cellToDate(0, cell.col); - dayDelta = dayDiff(date, origDate); - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - snapHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) / - snapMinutes - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getSlotContainer().offset().top) / snapHeight) - * snapMinutes - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var coordinateGrid = t.getCoordinateGrid(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - - // states - var origPosition; // original position of the element, not the mouse - var origCell; - var isInBounds, prevIsInBounds; - var isAllDay, prevIsAllDay; - var colDelta, prevColDelta; - var dayDelta; // derived from colDelta - var minuteDelta, prevMinuteDelta; - - eventElement.draggable({ - scroll: false, - grid: [ colWidth, snapHeight ], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - - coordinateGrid.build(); - - // initialize states - origPosition = eventElement.position(); - origCell = coordinateGrid.cell(ev.pageX, ev.pageY); - isInBounds = prevIsInBounds = true; - isAllDay = prevIsAllDay = getIsCellAllDay(origCell); - colDelta = prevColDelta = 0; - dayDelta = 0; - minuteDelta = prevMinuteDelta = 0; - - }, - drag: function(ev, ui) { - - // NOTE: this `cell` value is only useful for determining in-bounds and all-day. - // Bad for anything else due to the discrepancy between the mouse position and the - // element position while snapping. (problem revealed in PR #55) - // - // PS- the problem exists for draggableDayEvent() when dragging an all-day event to a slot event. - // We should overhaul the dragging system and stop relying on jQuery UI. - var cell = coordinateGrid.cell(ev.pageX, ev.pageY); - - // update states - isInBounds = !!cell; - if (isInBounds) { - isAllDay = getIsCellAllDay(cell); - - // calculate column delta - colDelta = Math.round((ui.position.left - origPosition.left) / colWidth); - if (colDelta != prevColDelta) { - // calculate the day delta based off of the original clicked column and the column delta - var origDate = cellToDate(0, origCell.col); - var col = origCell.col + colDelta; - col = Math.max(0, col); - col = Math.min(colCnt-1, col); - var date = cellToDate(0, col); - dayDelta = dayDiff(date, origDate); - } - - // calculate minute delta (only if over slots) - if (!isAllDay) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes; - } - } - - // any state changes? - if ( - isInBounds != prevIsInBounds || - isAllDay != prevIsAllDay || - colDelta != prevColDelta || - minuteDelta != prevMinuteDelta - ) { - - updateUI(); - - // update previous states for next time - prevIsInBounds = isInBounds; - prevIsAllDay = isAllDay; - prevColDelta = colDelta; - prevMinuteDelta = minuteDelta; - } - - // if out-of-bounds, revert when done, and vice versa. - eventElement.draggable('option', 'revert', !isInBounds); - - }, - stop: function(ev, ui) { - - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - - if (isInBounds && (isAllDay || dayDelta || minuteDelta)) { // changed! - eventDrop(this, event, dayDelta, isAllDay ? 0 : minuteDelta, isAllDay, ev, ui); - } - else { // either no change or out-of-bounds (draggable has already reverted) - - // reset states for next time, and for updateUI() - isInBounds = true; - isAllDay = false; - colDelta = 0; - dayDelta = 0; - minuteDelta = 0; - - updateUI(); - eventElement.css('filter', ''); // clear IE opacity side-effects - - // sometimes fast drags make event revert to wrong position, so reset. - // also, if we dragged the element out of the area because of snapping, - // but the *mouse* is still in bounds, we need to reset the position. - eventElement.css(origPosition); - - showEvents(event, eventElement); - } - } - }); - - function updateUI() { - clearOverlays(); - if (isInBounds) { - if (isAllDay) { - timeElement.hide(); - eventElement.draggable('option', 'grid', null); // disable grid snapping - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - } - else { - updateTimeText(minuteDelta); - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, snapHeight]); // re-enable grid snapping - } - } - } - - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var snapDelta, prevSnapDelta; - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - eventElement.resizable({ - handles: { - s: '.ui-resizable-handle' - }, - grid: snapHeight, - start: function(ev, ui) { - snapDelta = prevSnapDelta = 0; - hideEvents(event, eventElement); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight); - if (snapDelta != prevSnapDelta) { - timeElement.text( - formatDates( - event.start, - (!snapDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), snapMinutes*snapDelta), - opt('timeFormat') - ) - ); - prevSnapDelta = snapDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (snapDelta) { - eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui); - }else{ - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - - -/* Agenda Event Segment Utilities ------------------------------------------------------------------------------*/ - - -// Sets the seg.backwardCoord and seg.forwardCoord on each segment and returns a new -// list in the order they should be placed into the DOM (an implicit z-index). -function placeSlotSegs(segs) { - var levels = buildSlotSegLevels(segs); - var level0 = levels[0]; - var i; - - computeForwardSlotSegs(levels); - - if (level0) { - - for (i=0; i seg2.start && seg1.start < seg2.end; -} - - -// A cmp function for determining which forward segment to rely on more when computing coordinates. -function compareForwardSlotSegs(seg1, seg2) { - // put higher-pressure first - return seg2.forwardPressure - seg1.forwardPressure || - // put segments that are closer to initial edge first (and favor ones with no coords yet) - (seg1.backwardCoord || 0) - (seg2.backwardCoord || 0) || - // do normal sorting... - compareSlotSegs(seg1, seg2); -} - - -// A cmp function for determining which segment should be closer to the initial edge -// (the left edge on a left-to-right calendar). -function compareSlotSegs(seg1, seg2) { - return seg1.start - seg2.start || // earlier start time goes first - (seg2.end - seg2.start) - (seg1.end - seg1.start) || // tie? longer-duration goes first - (seg1.event.title || '').localeCompare(seg2.event.title); // tie? alphabetically by title -} - - -;; - - -function View(element, calendar, viewName) { - var t = this; - - - // exports - t.element = element; - t.calendar = calendar; - t.name = viewName; - t.opt = opt; - t.trigger = trigger; - t.isEventDraggable = isEventDraggable; - t.isEventResizable = isEventResizable; - t.setEventData = setEventData; - t.clearEventData = clearEventData; - t.eventEnd = eventEnd; - t.reportEventElement = reportEventElement; - t.triggerEventDestroy = triggerEventDestroy; - t.eventElementHandlers = eventElementHandlers; - t.showEvents = showEvents; - t.hideEvents = hideEvents; - t.eventDrop = eventDrop; - t.eventResize = eventResize; - // t.title - // t.start, t.end - // t.visStart, t.visEnd - - - // imports - var defaultEventEnd = t.defaultEventEnd; - var normalizeEvent = calendar.normalizeEvent; // in EventManager - var reportEventChange = calendar.reportEventChange; - - - // locals - var eventsByID = {}; // eventID mapped to array of events (there can be multiple b/c of repeating events) - var eventElementsByID = {}; // eventID mapped to array of jQuery elements - var eventElementCouples = []; // array of objects, { event, element } // TODO: unify with segment system - var options = calendar.options; - - - - function opt(name, viewNameOverride) { - var v = options[name]; - if ($.isPlainObject(v)) { - return smartProperty(v, viewNameOverride || viewName); - } - return v; - } - - - function trigger(name, thisObj) { - return calendar.trigger.apply( - calendar, - [name, thisObj || t].concat(Array.prototype.slice.call(arguments, 2), [t]) - ); - } - - - - /* Event Editable Boolean Calculations - ------------------------------------------------------------------------------*/ - - - function isEventDraggable(event) { - var source = event.source || {}; - return firstDefined( - event.startEditable, - source.startEditable, - opt('eventStartEditable'), - event.editable, - source.editable, - opt('editable') - ) - && !opt('disableDragging'); // deprecated - } - - - function isEventResizable(event) { // but also need to make sure the seg.isEnd == true - var source = event.source || {}; - return firstDefined( - event.durationEditable, - source.durationEditable, - opt('eventDurationEditable'), - event.editable, - source.editable, - opt('editable') - ) - && !opt('disableResizing'); // deprecated - } - - - - /* Event Data - ------------------------------------------------------------------------------*/ - - - function setEventData(events) { // events are already normalized at this point - eventsByID = {}; - var i, len=events.length, event; - for (i=0; i
").prependTo(n),ne=new a(ee,r),re=ne.render(),re&&n.prepend(re),y(r.defaultView),r.handleWindowResize&&t(window).resize(x),m()||v()}function v(){setTimeout(function(){!ie.start&&m()&&C()},0)}function h(){ie&&(te("viewDestroy",ie,ie,ie.element),ie.triggerEventDestroy()),t(window).unbind("resize",x),ne.destroy(),ae.remove(),n.removeClass("fc fc-rtl ui-widget")}function p(){return n.is(":visible")}function m(){return t("body").is(":visible")}function y(t){ie&&t==ie.name||D(t)}function D(e){he++,ie&&(te("viewDestroy",ie,ie,ie.element),Y(),ie.triggerEventDestroy(),G(),ie.element.remove(),ne.deactivateButton(ie.name)),ne.activateButton(e),ie=new Se[e](t("
").appendTo(ae),ee),C(),$(),he--}function C(t){(!ie.start||t||ie.start>ge||ge>=ie.end)&&p()&&M(t)}function M(t){he++,ie.start&&(te("viewDestroy",ie,ie,ie.element),Y(),N()),G(),ie.render(ge,t||0),T(),$(),(ie.afterRender||A)(),_(),P(),te("viewRender",ie,ie,ie.element),ie.trigger("viewDisplay",de),he--,z()}function E(){p()&&(Y(),N(),S(),T(),F())}function S(){le=r.contentHeight?r.contentHeight:r.height?r.height-(re?re.height():0)-R(ae):Math.round(ae.width()/Math.max(r.aspectRatio,.5))}function T(){le===e&&S(),he++,ie.setHeight(le),ie.setWidth(ae.width()),he--,se=n.outerWidth()}function x(){if(!he)if(ie.start){var t=++ve;setTimeout(function(){t==ve&&!he&&p()&&se!=(se=n.outerWidth())&&(he++,E(),ie.trigger("windowResize",de),he--)},200)}else v()}function k(){N(),W()}function H(t){N(),F(t)}function F(t){p()&&(ie.setEventData(pe),ie.renderEvents(pe,t),ie.trigger("eventAfterAllRender"))}function N(){ie.triggerEventDestroy(),ie.clearEvents(),ie.clearEventData()}function z(){!r.lazyFetching||ue(ie.visStart,ie.visEnd)?W():F()}function W(){fe(ie.visStart,ie.visEnd)}function O(t){pe=t,F()}function L(t){H(t)}function _(){ne.updateTitle(ie.title)}function P(){var t=new Date;t>=ie.start&&ie.end>t?ne.disableButton("today"):ne.enableButton("today")}function q(t,n,r){ie.select(t,n,r===e?!0:r)}function Y(){ie&&ie.unselect()}function B(){C(-1)}function j(){C(1)}function I(){i(ge,-1),C()}function X(){i(ge,1),C()}function J(){ge=new Date,C()}function V(t,e,n){t instanceof Date?ge=d(t):g(ge,t,e,n),C()}function U(t,n,r){t!==e&&i(ge,t),n!==e&&s(ge,n),r!==e&&l(ge,r),C()}function Z(){return d(ge)}function G(){ae.css({width:"100%",height:ae.height(),overflow:"hidden"})}function $(){ae.css({width:"",height:"",overflow:""})}function Q(){return ie}function K(t,n){return n===e?r[t]:(("height"==t||"contentHeight"==t||"aspectRatio"==t)&&(r[t]=n,E()),e)}function te(t,n){return r[t]?r[t].apply(n||de,Array.prototype.slice.call(arguments,2)):e}var ee=this;ee.options=r,ee.render=u,ee.destroy=h,ee.refetchEvents=k,ee.reportEvents=O,ee.reportEventChange=L,ee.rerenderEvents=H,ee.changeView=y,ee.select=q,ee.unselect=Y,ee.prev=B,ee.next=j,ee.prevYear=I,ee.nextYear=X,ee.today=J,ee.gotoDate=V,ee.incrementDate=U,ee.formatDate=function(t,e){return w(t,e,r)},ee.formatDates=function(t,e,n){return b(t,e,n,r)},ee.getDate=Z,ee.getView=Q,ee.option=K,ee.trigger=te,o.call(ee,r,c);var ne,re,ae,oe,ie,se,le,ce,ue=ee.isFetchNeeded,fe=ee.fetchEvents,de=n[0],ve=0,he=0,ge=new Date,pe=[];g(ge,r.year,r.month,r.date),r.droppable&&t(document).bind("dragstart",function(e,n){var a=e.target,o=t(a);if(!o.parents(".fc").length){var i=r.dropAccept;(t.isFunction(i)?i.call(a,o):o.is(i))&&(ce=a,ie.dragStart(ce,e,n))}}).bind("dragstop",function(t,e){ce&&(ie.dragStop(ce,t,e),ce=null)})}function a(n,r){function a(){v=r.theme?"ui":"fc";var n=r.header;return n?h=t("").append(t("").append(i("left")).append(i("center")).append(i("right"))):e}function o(){h.remove()}function i(e){var a=t("",ue&&(r+=""),t=0;ne>t;t++)e=Ee(0,t),r+="";return r+=""}function v(){var t,e,n,r=le+"-widget-content",a="";for(a+="",t=0;ee>t;t++){for(a+="",ue&&(n=Ee(t,0),a+=""),e=0;ne>e;e++)n=Ee(t,e),a+=h(n);a+=""}return a+=""}function h(t){var e=le+"-widget-content",n=O.start.getMonth(),r=f(new Date),a="",o=["fc-day","fc-"+ke[t.getDay()],e];return t.getMonth()!=n&&o.push("fc-other-month"),+t==+r?o.push("fc-today",le+"-state-highlight"):r>t?o.push("fc-past"):o.push("fc-future"),a+=""}function g(e){Q=e;var n,r,a,o=Q-_.height();"variable"==he("weekMode")?n=r=Math.floor(o/(1==ee?2:6)):(n=Math.floor(o/ee),r=o-n*(ee-1)),J.each(function(e,o){ee>e&&(a=t(o),a.find("> div").css("min-height",(e==ee-1?r:n)-R(a)))})}function p(t){$=t,ie.clear(),se.clear(),te=0,ue&&(te=_.find("th.fc-week-number").outerWidth()),K=Math.floor(($-te)/ne),S(P.slice(0,-1),K)}function y(t){t.click(w).mousedown(Me)}function w(e){if(!he("selectable")){var n=m(t(this).data("date"));ge("dayClick",this,n,!0,e)}}function b(t,e,n){n&&ae.build();for(var r=Te(t,e),a=0;r.length>a;a++){var o=r[a];y(D(o.row,o.leftCol,o.row,o.rightCol))}}function D(t,n,r,a){var o=ae.rect(t,n,r,a,e);return be(o,e)}function C(t){return d(t)}function M(t,e){b(t,l(d(e),1),!0)}function E(){Ce()}function T(t,e,n){var r=Se(t),a=X[r.row*ne+r.col];ge("dayClick",a,t,e,n)}function x(t,e){oe.start(function(t){Ce(),t&&D(t.row,t.col,t.row,t.col)},e)}function k(t,e,n){var r=oe.stop();if(Ce(),r){var a=Ee(r);ge("drop",t,a,!0,e,n)}}function H(t){return d(t.start)}function F(t){return ie.left(t)}function N(t){return ie.right(t)}function z(t){return se.left(t)}function W(t){return se.right(t)}function A(t){return I.eq(t)}var O=this;O.renderBasic=a,O.setHeight=g,O.setWidth=p,O.renderDayOverlay=b,O.defaultSelectionEnd=C,O.renderSelection=M,O.clearSelection=E,O.reportDayClick=T,O.dragStart=x,O.dragStop=k,O.defaultEventEnd=H,O.getHoverListener=function(){return oe},O.colLeft=F,O.colRight=N,O.colContentLeft=z,O.colContentRight=W,O.getIsCellAllDay=function(){return!0},O.allDayRow=A,O.getRowCnt=function(){return ee},O.getColCnt=function(){return ne},O.getColWidth=function(){return K},O.getDaySegmentContainer=function(){return Z},fe.call(O,e,n,r),me.call(O),pe.call(O),G.call(O);var L,_,P,j,I,X,J,V,U,Z,$,Q,K,te,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he=O.opt,ge=O.trigger,be=O.renderOverlay,Ce=O.clearOverlays,Me=O.daySelectionMousedown,Ee=O.cellToDate,Se=O.dateToCell,Te=O.rangeToSegments,xe=n.formatDate;Y(e.addClass("fc-grid")),ae=new ye(function(e,n){var r,a,o;P.each(function(e,i){r=t(i),a=r.offset().left,e&&(o[1]=a),o=[a],n[e]=o}),o[1]=a+r.outerWidth(),I.each(function(n,i){ee>n&&(r=t(i),a=r.offset().top,n&&(o[1]=a),o=[a],e[n]=o)}),o[1]=a+r.outerHeight()}),oe=new we(ae),ie=new De(function(t){return V.eq(t)}),se=new De(function(t){return U.eq(t)})}function G(){function t(t,e){n.renderDayEvents(t,e)}function e(){n.getDaySegmentContainer().empty()}var n=this;n.renderEvents=t,n.clearEvents=e,de.call(n)}function $(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.title=c(f,l(d(v),-1),a("titleFormat")),r.start=n,r.end=u,r.visStart=f,r.visEnd=v,o(h)}var r=this;r.render=n,K.call(r,t,e,"agendaWeek");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function Q(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1)}var r=this;r.render=n,K.call(r,t,e,"agendaDay");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=e.formatDate}function K(n,r,a){function o(t){We=t,i(),K?c():s()}function i(){qe=Ue("theme")?"ui":"fc",Ye=Ue("isRTL"),Be=y(Ue("minTime")),je=y(Ue("maxTime")),Ie=Ue("columnFormat"),Xe=Ue("weekNumbers"),Je=Ue("weekNumberTitle"),Ve="iso"!=Ue("weekNumberCalculation")?"w":"W",Re=Ue("snapMinutes")||Ue("slotMinutes")}function s(){var e,r,a,o,i,s=qe+"-widget-header",l=qe+"-widget-content",f=0==Ue("slotMinutes")%15;for(c(),ce=t("
").appendTo(n),Ue("allDaySlot")?(ue=t("
").appendTo(ce),e="
"),o=r.header[e];return o&&t.each(o.split(" "),function(e){e>0&&a.append("");var o;t.each(this.split(","),function(e,i){if("title"==i)a.append("

 

"),o&&o.addClass(v+"-corner-right"),o=null;else{var s;if(n[i]?s=n[i]:Se[i]&&(s=function(){u.removeClass(v+"-state-hover"),n.changeView(i)}),s){var l=r.theme?P(r.buttonIcons,i):null,c=P(r.buttonText,i),u=t(""+(l?""+"":c)+"").click(function(){u.hasClass(v+"-state-disabled")||s()}).mousedown(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-down")}).mouseup(function(){u.removeClass(v+"-state-down")}).hover(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-hover")},function(){u.removeClass(v+"-state-hover").removeClass(v+"-state-down")}).appendTo(a);Y(u),o||u.addClass(v+"-corner-left"),o=u}}}),o&&o.addClass(v+"-corner-right")}),a}function s(t){h.find("h2").html(t)}function l(t){h.find("span.fc-button-"+t).addClass(v+"-state-active")}function c(t){h.find("span.fc-button-"+t).removeClass(v+"-state-active")}function u(t){h.find("span.fc-button-"+t).addClass(v+"-state-disabled")}function f(t){h.find("span.fc-button-"+t).removeClass(v+"-state-disabled")}var d=this;d.render=a,d.destroy=o,d.updateTitle=s,d.activateButton=l,d.deactivateButton=c,d.disableButton=u,d.enableButton=f;var v,h=t([])}function o(n,r){function a(t,e){return!E||E>t||e>S}function o(t,e){E=t,S=e,W=[];var n=++R,r=F.length;N=r;for(var a=0;r>a;a++)i(F[a],n)}function i(e,r){s(e,function(a){if(r==R){if(a){n.eventDataTransform&&(a=t.map(a,n.eventDataTransform)),e.eventDataTransform&&(a=t.map(a,e.eventDataTransform));for(var o=0;a.length>o;o++)a[o].source=e,w(a[o]);W=W.concat(a)}N--,N||k(W)}})}function s(r,a){var o,i,l=Ee.sourceFetchers;for(o=0;l.length>o;o++){if(i=l[o](r,E,S,a),i===!0)return;if("object"==typeof i)return s(i,a),e}var c=r.events;if(c)t.isFunction(c)?(m(),c(d(E),d(S),function(t){a(t),y()})):t.isArray(c)?a(c):a();else{var u=r.url;if(u){var f,v=r.success,h=r.error,g=r.complete;f=t.isFunction(r.data)?r.data():r.data;var p=t.extend({},f||{}),w=X(r.startParam,n.startParam),b=X(r.endParam,n.endParam);w&&(p[w]=Math.round(+E/1e3)),b&&(p[b]=Math.round(+S/1e3)),m(),t.ajax(t.extend({},Te,r,{data:p,success:function(e){e=e||[];var n=I(v,this,arguments);t.isArray(n)&&(e=n),a(e)},error:function(){I(h,this,arguments),a()},complete:function(){I(g,this,arguments),y()}}))}else a()}}function l(t){t=c(t),t&&(N++,i(t,R))}function c(n){return t.isFunction(n)||t.isArray(n)?n={events:n}:"string"==typeof n&&(n={url:n}),"object"==typeof n?(b(n),F.push(n),n):e}function u(e){F=t.grep(F,function(t){return!D(t,e)}),W=t.grep(W,function(t){return!D(t.source,e)}),k(W)}function f(t){var e,n,r=W.length,a=x().defaultEventEnd,o=t.start-t._start,i=t.end?t.end-(t._end||a(t)):0;for(e=0;r>e;e++)n=W[e],n._id==t._id&&n!=t&&(n.start=new Date(+n.start+o),n.end=t.end?n.end?new Date(+n.end+i):new Date(+a(n)+i):null,n.title=t.title,n.url=t.url,n.allDay=t.allDay,n.className=t.className,n.editable=t.editable,n.color=t.color,n.backgroundColor=t.backgroundColor,n.borderColor=t.borderColor,n.textColor=t.textColor,w(n));w(t),k(W)}function v(t,e){w(t),t.source||(e&&(H.events.push(t),t.source=H),W.push(t)),k(W)}function h(e){if(e){if(!t.isFunction(e)){var n=e+"";e=function(t){return t._id==n}}W=t.grep(W,e,!0);for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=t.grep(F[r].events,e,!0))}else{W=[];for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=[])}k(W)}function g(e){return t.isFunction(e)?t.grep(W,e):e?(e+="",t.grep(W,function(t){return t._id==e})):W}function m(){z++||T("loading",null,!0,x())}function y(){--z||T("loading",null,!1,x())}function w(t){var r=t.source||{},a=X(r.ignoreTimezone,n.ignoreTimezone);t._id=t._id||(t.id===e?"_fc"+xe++:t.id+""),t.date&&(t.start||(t.start=t.date),delete t.date),t._start=d(t.start=p(t.start,a)),t.end=p(t.end,a),t.end&&t.end<=t.start&&(t.end=null),t._end=t.end?d(t.end):null,t.allDay===e&&(t.allDay=X(r.allDayDefault,n.allDayDefault)),t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[]}function b(t){t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[];for(var e=Ee.sourceNormalizers,n=0;e.length>n;n++)e[n](t)}function D(t,e){return t&&e&&C(t)==C(e)}function C(t){return("object"==typeof t?t.events||t.url:"")||t}var M=this;M.isFetchNeeded=a,M.fetchEvents=o,M.addEventSource=l,M.removeEventSource=u,M.updateEvent=f,M.renderEvent=v,M.removeEvents=h,M.clientEvents=g,M.normalizeEvent=w;for(var E,S,T=M.trigger,x=M.getView,k=M.reportEvents,H={events:[]},F=[H],R=0,N=0,z=0,W=[],A=0;r.length>A;A++)c(r[A])}function i(t,e,n){return t.setFullYear(t.getFullYear()+e),n||f(t),t}function s(t,e,n){if(+t){var r=t.getMonth()+e,a=d(t);for(a.setDate(1),a.setMonth(r),t.setMonth(r),n||f(t);t.getMonth()!=a.getMonth();)t.setDate(t.getDate()+(a>t?1:-1))}return t}function l(t,e,n){if(+t){var r=t.getDate()+e,a=d(t);a.setHours(9),a.setDate(r),t.setDate(r),n||f(t),c(t,a)}return t}function c(t,e){if(+t)for(;t.getDate()!=e.getDate();)t.setTime(+t+(e>t?1:-1)*Fe)}function u(t,e){return t.setMinutes(t.getMinutes()+e),t}function f(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t}function d(t,e){return e?f(new Date(+t)):new Date(+t)}function v(){var t,e=0;do t=new Date(1970,e++,1);while(t.getHours());return t}function h(t,e){return Math.round((d(t,!0)-d(e,!0))/He)}function g(t,n,r,a){n!==e&&n!=t.getFullYear()&&(t.setDate(1),t.setMonth(0),t.setFullYear(n)),r!==e&&r!=t.getMonth()&&(t.setDate(1),t.setMonth(r)),a!==e&&t.setDate(a)}function p(t,n){return"object"==typeof t?t:"number"==typeof t?new Date(1e3*t):"string"==typeof t?t.match(/^\d+(\.\d+)?$/)?new Date(1e3*parseFloat(t)):(n===e&&(n=!0),m(t,n)||(t?new Date(t):null)):null}function m(t,e){var n=t.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!n)return null;var r=new Date(n[1],0,1);if(e||!n[13]){var a=new Date(n[1],0,1,9,0);n[3]&&(r.setMonth(n[3]-1),a.setMonth(n[3]-1)),n[5]&&(r.setDate(n[5]),a.setDate(n[5])),c(r,a),n[7]&&r.setHours(n[7]),n[8]&&r.setMinutes(n[8]),n[10]&&r.setSeconds(n[10]),n[12]&&r.setMilliseconds(1e3*Number("0."+n[12])),c(r,a)}else if(r.setUTCFullYear(n[1],n[3]?n[3]-1:0,n[5]||1),r.setUTCHours(n[7]||0,n[8]||0,n[10]||0,n[12]?1e3*Number("0."+n[12]):0),n[14]){var o=60*Number(n[16])+(n[18]?Number(n[18]):0);o*="-"==n[15]?1:-1,r=new Date(+r+1e3*60*o)}return r}function y(t){if("number"==typeof t)return 60*t;if("object"==typeof t)return 60*t.getHours()+t.getMinutes();var e=t.match(/(\d+)(?::(\d+))?\s*(\w+)?/);if(e){var n=parseInt(e[1],10);return e[3]&&(n%=12,"p"==e[3].toLowerCase().charAt(0)&&(n+=12)),60*n+(e[2]?parseInt(e[2],10):0)}}function w(t,e,n){return b(t,null,e,n)}function b(t,e,n,r){r=r||Ce;var a,o,i,s,l=t,c=e,u=n.length,f="";for(a=0;u>a;a++)if(o=n.charAt(a),"'"==o){for(i=a+1;u>i;i++)if("'"==n.charAt(i)){l&&(f+=i==a+1?"'":n.substring(a+1,i),a=i);break}}else if("("==o){for(i=a+1;u>i;i++)if(")"==n.charAt(i)){var d=w(l,n.substring(a+1,i),r);parseInt(d.replace(/\D/,""),10)&&(f+=d),a=i;break}}else if("["==o){for(i=a+1;u>i;i++)if("]"==n.charAt(i)){var v=n.substring(a+1,i),d=w(l,v,r);d!=w(c,v,r)&&(f+=d),a=i;break}}else if("{"==o)l=e,c=t;else if("}"==o)l=t,c=e;else{for(i=u;i>a;i--)if(s=Ne[n.substring(a,i)]){l&&(f+=s(l,r)),a=i-1;break}i==a&&l&&(f+=o)}return f}function D(t){var e,n=new Date(t.getTime());return n.setDate(n.getDate()+4-(n.getDay()||7)),e=n.getTime(),n.setMonth(0),n.setDate(1),Math.floor(Math.round((e-n)/864e5)/7)+1}function C(t){return t.end?M(t.end,t.allDay):l(d(t.start),1)}function M(t,e){return t=d(t),e||t.getHours()||t.getMinutes()?l(t,1):f(t)}function E(n,r,a){n.unbind("mouseover").mouseover(function(n){for(var o,i,s,l=n.target;l!=this;)o=l,l=l.parentNode;(i=o._fci)!==e&&(o._fci=e,s=r[i],a(s.event,s.element,s),t(n.target).trigger(n)),n.stopPropagation()})}function S(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.width(Math.max(0,n-x(a,r)))}function T(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.height(Math.max(0,n-R(a,r)))}function x(t,e){return k(t)+F(t)+(e?H(t):0)}function k(e){return(parseFloat(t.css(e[0],"paddingLeft",!0))||0)+(parseFloat(t.css(e[0],"paddingRight",!0))||0)}function H(e){return(parseFloat(t.css(e[0],"marginLeft",!0))||0)+(parseFloat(t.css(e[0],"marginRight",!0))||0)}function F(e){return(parseFloat(t.css(e[0],"borderLeftWidth",!0))||0)+(parseFloat(t.css(e[0],"borderRightWidth",!0))||0)}function R(t,e){return N(t)+W(t)+(e?z(t):0)}function N(e){return(parseFloat(t.css(e[0],"paddingTop",!0))||0)+(parseFloat(t.css(e[0],"paddingBottom",!0))||0)}function z(e){return(parseFloat(t.css(e[0],"marginTop",!0))||0)+(parseFloat(t.css(e[0],"marginBottom",!0))||0)}function W(e){return(parseFloat(t.css(e[0],"borderTopWidth",!0))||0)+(parseFloat(t.css(e[0],"borderBottomWidth",!0))||0)}function A(){}function O(t,e){return t-e}function L(t){return Math.max.apply(Math,t)}function _(t){return(10>t?"0":"")+t}function P(t,n){if(t[n]!==e)return t[n];for(var r,a=n.split(/(?=[A-Z])/),o=a.length-1;o>=0;o--)if(r=t[a[o].toLowerCase()],r!==e)return r;return t[""]}function q(t){return t.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
")}function Y(t){t.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return!1})}function B(t){t.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function j(t,e){var n=t.source||{},r=t.color,a=n.color,o=e("eventColor"),i=t.backgroundColor||r||n.backgroundColor||a||e("eventBackgroundColor")||o,s=t.borderColor||r||n.borderColor||a||e("eventBorderColor")||o,l=t.textColor||n.textColor||e("eventTextColor"),c=[];return i&&c.push("background-color:"+i),s&&c.push("border-color:"+s),l&&c.push("color:"+l),c.join(";")}function I(e,n,r){if(t.isFunction(e)&&(e=[e]),e){var a,o;for(a=0;e.length>a;a++)o=e[a].apply(n,r)||o;return o}}function X(){for(var t=0;arguments.length>t;t++)if(arguments[t]!==e)return arguments[t]}function J(t,e){function n(t,e){e&&(s(t,e),t.setDate(1));var n=a("firstDay"),f=d(t,!0);f.setDate(1);var v=s(d(f),1),g=d(f);l(g,-((g.getDay()-n+7)%7)),i(g);var p=d(v);l(p,(7-p.getDay()+n)%7),i(p,-1,!0);var m=c(),y=Math.round(h(p,g)/7);"fixed"==a("weekMode")&&(l(p,7*(6-y)),y=6),r.title=u(f,a("titleFormat")),r.start=f,r.end=v,r.visStart=g,r.visEnd=p,o(y,m,!0)}var r=this;r.render=n,Z.call(r,t,e,"month");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,c=r.getCellsPerWeek,u=e.formatDate}function V(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.start=n,r.end=u,r.visStart=f,r.visEnd=v,r.title=c(f,l(d(v),-1),a("titleFormat")),o(1,h,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicWeek");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function U(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1,1,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicDay");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=e.formatDate}function Z(e,n,r){function a(t,e,n){ee=t,ne=e,re=n,o(),j||i(),s()}function o(){le=he("theme")?"ui":"fc",ce=he("columnFormat"),ue=he("weekNumbers"),de=he("weekNumberTitle"),ve="iso"!=he("weekNumberCalculation")?"w":"W"}function i(){Z=t("
").appendTo(e)}function s(){var n=c();L&&L.remove(),L=t(n).appendTo(e),_=L.find("thead"),P=_.find(".fc-day-header"),j=L.find("tbody"),I=j.find("tr"),X=j.find(".fc-day"),J=I.find("td:first-child"),V=I.eq(0).find(".fc-day > div"),U=I.eq(0).find(".fc-day-content > div"),B(_.add(_.find("tr"))),B(I),I.eq(0).addClass("fc-first"),I.filter(":last").addClass("fc-last"),X.each(function(e,n){var r=Ee(Math.floor(e/ne),e%ne);ge("dayRender",O,r,t(n))}),y(X)}function c(){var t=""+u()+v()+"
";return t}function u(){var t,e,n=le+"-widget-header",r="";for(r+="
"+q(de)+""+q(xe(e,ce))+"
"+"
"+q(xe(n,ve))+"
"+"
"+"
",re&&(a+="
"+t.getDate()+"
"),a+="
 
"+""+""+""+"
"+Ue("allDayText")+""+"
"+"
 
",de=t(e).appendTo(ce),ve=de.find("tr"),C(ve.find("td")),ce.append("
"+"
"+"
")):ue=t([]),he=t("
").appendTo(ce),ge=t("
").appendTo(he),be=t("
").appendTo(ge),e="",r=v(),o=u(d(r),je),u(r,Be),Ae=0,a=0;o>r;a++)i=r.getMinutes(),e+=""+""+""+"",u(r,Ue("slotMinutes")),Ae++;e+="
"+(f&&i?" ":on(r,Ue("axisFormat")))+""+"
 
"+"
",Ce=t(e).appendTo(ge),M(Ce.find("td"))}function c(){var e=h();K&&K.remove(),K=t(e).appendTo(n),ee=K.find("thead"),ne=ee.find("th").slice(1,-1),re=K.find("tbody"),ae=re.find("td").slice(0,-1),oe=ae.find("> div"),ie=ae.find(".fc-day-content > div"),se=ae.eq(0),le=oe.eq(0),B(ee.add(ee.find("tr"))),B(re.add(re.find("tr")))}function h(){var t=""+g()+p()+"
";return t}function g(){var t,e,n,r=qe+"-widget-header",a="";for(a+="",Xe?(t=nn(0,0),e=on(t,Ve),Ye?e+=Je:e=Je+e,a+=""+q(e)+""):a+=" ",n=0;We>n;n++)t=nn(0,n),a+=""+q(on(t,Ie))+"";return a+=" "+""+""}function p(){var t,e,n,r,a,o=qe+"-widget-header",i=qe+"-widget-content",s=f(new Date),l="";for(l+=" ",n="",e=0;We>e;e++)t=nn(0,e),a=["fc-col"+e,"fc-"+ke[t.getDay()],i],+t==+s?a.push(qe+"-state-highlight","fc-today"):s>t?a.push("fc-past"):a.push("fc-future"),r=""+"
"+"
"+"
 
"+"
"+"
"+"",n+=r;return l+=n,l+=" "+""+""}function m(t){t===e&&(t=Se),Se=t,sn={};var n=re.position().top,r=he.position().top,a=Math.min(t-n,Ce.height()+r+1);le.height(a-R(se)),ce.css("top",n),he.height(a-r-1),Fe=Ce.find("tr:first").height()+1,Ne=Ue("slotMinutes")/Re,ze=Fe/Ne}function w(e){Ee=e,_e.clear(),Pe.clear();var n=ee.find("th:first");de&&(n=n.add(de.find("th:first"))),n=n.add(Ce.find("th:first")),Te=0,S(n.width("").each(function(e,n){Te=Math.max(Te,t(n).outerWidth())}),Te);var r=K.find(".fc-agenda-gutter");de&&(r=r.add(de.find("th.fc-agenda-gutter")));var a=he[0].clientWidth;He=he.width()-a,He?(S(r,He),r.show().prev().removeClass("fc-last")):r.hide().prev().addClass("fc-last"),xe=Math.floor((a-Te)/We),S(ne.slice(0,-1),xe)}function b(){function t(){he.scrollTop(r)}var e=v(),n=d(e);n.setHours(Ue("firstHour"));var r=_(e,n)+1;t(),setTimeout(t,0)}function D(){b()}function C(t){t.click(E).mousedown(tn)}function M(t){t.click(E).mousedown(U)}function E(t){if(!Ue("selectable")){var e=Math.min(We-1,Math.floor((t.pageX-K.offset().left-Te)/xe)),n=nn(0,e),r=this.parentNode.className.match(/fc-slot(\d+)/);if(r){var a=parseInt(r[1])*Ue("slotMinutes"),o=Math.floor(a/60);n.setHours(o),n.setMinutes(a%60+Be),Ze("dayClick",ae[e],n,!1,t)}else Ze("dayClick",ae[e],n,!0,t)}}function x(t,e,n){n&&Oe.build();for(var r=an(t,e),a=0;r.length>a;a++){var o=r[a];C(k(o.row,o.leftCol,o.row,o.rightCol))}}function k(t,e,n,r){var a=Oe.rect(t,e,n,r,ce);return Ge(a,ce)}function H(t,e){for(var n=0;We>n;n++){var r=nn(0,n),a=l(d(r),1),o=new Date(Math.max(r,t)),i=new Date(Math.min(a,e));if(i>o){var s=Oe.rect(0,n,0,n,ge),c=_(r,o),u=_(r,i);s.top=c,s.height=u-c,M(Ge(s,ge))}}}function F(t){return _e.left(t)}function N(t){return Pe.left(t)}function z(t){return _e.right(t)}function W(t){return Pe.right(t)}function A(t){return Ue("allDaySlot")&&!t.row}function L(t){var e=nn(0,t.col),n=t.row;return Ue("allDaySlot")&&n--,n>=0&&u(e,Be+n*Re),e}function _(t,n){if(t=d(t,!0),u(d(t),Be)>n)return 0;if(n>=u(d(t),je))return Ce.height();var r=Ue("slotMinutes"),a=60*n.getHours()+n.getMinutes()-Be,o=Math.floor(a/r),i=sn[o];return i===e&&(i=sn[o]=Ce.find("tr").eq(o).find("td div")[0].offsetTop),Math.max(0,Math.round(i-1+Fe*(a%r/r)))}function P(){return ve}function j(t){var e=d(t.start);return t.allDay?e:u(e,Ue("defaultEventMinutes"))}function I(t,e){return e?d(t):u(d(t),Ue("slotMinutes"))}function X(t,e,n){n?Ue("allDaySlot")&&x(t,l(d(e),1),!0):J(t,e)}function J(e,n){var r=Ue("selectHelper");if(Oe.build(),r){var a=rn(e).col;if(a>=0&&We>a){var o=Oe.rect(0,a,0,a,ge),i=_(e,e),s=_(e,n);if(s>i){if(o.top=i,o.height=s-i,o.left+=2,o.width-=5,t.isFunction(r)){var l=r(e,n);l&&(o.position="absolute",Me=t(l).css(o).appendTo(ge))}else o.isStart=!0,o.isEnd=!0,Me=t(en({title:"",start:e,end:n,className:["fc-select-helper"],editable:!1},o)),Me.css("opacity",Ue("dragOpacity"));Me&&(M(Me),ge.append(Me),S(Me,o.width,!0),T(Me,o.height,!0))}}}else H(e,n)}function V(){$e(),Me&&(Me.remove(),Me=null)}function U(e){if(1==e.which&&Ue("selectable")){Ke(e);var n;Le.start(function(t,e){if(V(),t&&t.col==e.col&&!A(t)){var r=L(e),a=L(t);n=[r,u(d(r),Re),a,u(d(a),Re)].sort(O),J(n[0],n[3])}else n=null},e),t(document).one("mouseup",function(t){Le.stop(),n&&(+n[0]==+n[1]&&Z(n[0],!1,t),Qe(n[0],n[3],!1,t))})}}function Z(t,e,n){Ze("dayClick",ae[rn(t).col],t,e,n)}function G(t,e){Le.start(function(t){if($e(),t)if(A(t))k(t.row,t.col,t.row,t.col);else{var e=L(t),n=u(d(e),Ue("defaultEventMinutes"));H(e,n)}},e)}function $(t,e,n){var r=Le.stop();$e(),r&&Ze("drop",t,L(r),A(r),e,n)}var Q=this;Q.renderAgenda=o,Q.setWidth=w,Q.setHeight=m,Q.afterRender=D,Q.defaultEventEnd=j,Q.timePosition=_,Q.getIsCellAllDay=A,Q.allDayRow=P,Q.getCoordinateGrid=function(){return Oe},Q.getHoverListener=function(){return Le},Q.colLeft=F,Q.colRight=z,Q.colContentLeft=N,Q.colContentRight=W,Q.getDaySegmentContainer=function(){return ue},Q.getSlotSegmentContainer=function(){return be},Q.getMinMinute=function(){return Be},Q.getMaxMinute=function(){return je},Q.getSlotContainer=function(){return ge},Q.getRowCnt=function(){return 1},Q.getColCnt=function(){return We},Q.getColWidth=function(){return xe},Q.getSnapHeight=function(){return ze},Q.getSnapMinutes=function(){return Re},Q.defaultSelectionEnd=I,Q.renderDayOverlay=x,Q.renderSelection=X,Q.clearSelection=V,Q.reportDayClick=Z,Q.dragStart=G,Q.dragStop=$,fe.call(Q,n,r,a),me.call(Q),pe.call(Q),te.call(Q);var K,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he,ge,be,Ce,Me,Ee,Se,Te,xe,He,Fe,Re,Ne,ze,We,Ae,Oe,Le,_e,Pe,qe,Ye,Be,je,Ie,Xe,Je,Ve,Ue=Q.opt,Ze=Q.trigger,Ge=Q.renderOverlay,$e=Q.clearOverlays,Qe=Q.reportSelection,Ke=Q.unselect,tn=Q.daySelectionMousedown,en=Q.slotSegHtml,nn=Q.cellToDate,rn=Q.dateToCell,an=Q.rangeToSegments,on=r.formatDate,sn={};Y(n.addClass("fc-agenda")),Oe=new ye(function(e,n){function r(t){return Math.max(l,Math.min(c,t))}var a,o,i;ne.each(function(e,r){a=t(r),o=a.offset().left,e&&(i[1]=o),i=[o],n[e]=i}),i[1]=o+a.outerWidth(),Ue("allDaySlot")&&(a=ve,o=a.offset().top,e[0]=[o,o+a.outerHeight()]);for(var s=ge.offset().top,l=he.offset().top,c=l+he.outerHeight(),u=0;Ae*Ne>u;u++)e.push([r(s+ze*u),r(s+ze*(u+1))])}),Le=new we(Oe),_e=new De(function(t){return oe.eq(t)}),Pe=new De(function(t){return ie.eq(t)})}function te(){function n(t,e){var n,r=t.length,o=[],i=[];for(n=0;r>n;n++)t[n].allDay?o.push(t[n]):i.push(t[n]);y("allDaySlot")&&(te(o,e),k()),s(a(i),e)}function r(){H().empty(),F().empty()}function a(e){var n,r,a,s,l,c=Y(),f=W(),v=z(),h=t.map(e,i),g=[];for(r=0;c>r;r++)for(n=P(0,r),u(n,f),l=o(e,h,n,u(d(n),v-f)),l=ee(l),a=0;l.length>a;a++)s=l[a],s.col=r,g.push(s);return g}function o(t,e,n,r){var a,o,i,s,l,c,u,f,v=[],h=t.length;for(a=0;h>a;a++)o=t[a],i=o.start,s=e[a],s>n&&r>i&&(n>i?(l=d(n),u=!1):(l=i,u=!0),s>r?(c=d(r),f=!1):(c=s,f=!0),v.push({event:o,start:l,end:c,isStart:u,isEnd:f}));return v.sort(ue)}function i(t){return t.end?d(t.end):u(d(t.start),y("defaultEventMinutes"))}function s(n,r){var a,o,i,s,l,u,d,v,h,g,p,m,b,D,C,M,S=n.length,T="",k=F(),H=y("isRTL");for(a=0;S>a;a++)o=n[a],i=o.event,s=A(o.start,o.start),l=A(o.start,o.end),u=L(o.col),d=_(o.col),v=d-u,d-=.025*v,v=d-u,h=v*(o.forwardCoord-o.backwardCoord),y("slotEventOverlap")&&(h=Math.max(2*(h-10),h)),H?(p=d-o.backwardCoord*v,g=p-h):(g=u+o.backwardCoord*v,p=g+h),g=Math.max(g,u),p=Math.min(p,d),h=p-g,o.top=s,o.left=g,o.outerWidth=h,o.outerHeight=l-s,T+=c(i,o);for(k[0].innerHTML=T,m=k.children(),a=0;S>a;a++)o=n[a],i=o.event,b=t(m[a]),D=w("eventRender",i,i,b),D===!1?b.remove():(D&&D!==!0&&(b.remove(),b=t(D).css({position:"absolute",top:o.top,left:o.left}).appendTo(k)),o.element=b,i._id===r?f(i,b,o):b[0]._fci=a,V(i,b));for(E(k,n,f),a=0;S>a;a++)o=n[a],(b=o.element)&&(o.vsides=R(b,!0),o.hsides=x(b,!0),C=b.find(".fc-event-title"),C.length&&(o.contentTop=C[0].offsetTop));for(a=0;S>a;a++)o=n[a],(b=o.element)&&(b[0].style.width=Math.max(0,o.outerWidth-o.hsides)+"px",M=Math.max(0,o.outerHeight-o.vsides),b[0].style.height=M+"px",i=o.event,o.contentTop!==e&&10>M-o.contentTop&&(b.find("div.fc-event-time").text(re(i.start,y("timeFormat"))+" - "+i.title),b.find("div.fc-event-title").remove()),w("eventAfterRender",i,i,b))}function c(t,e){var n="<",r=t.url,a=j(t,y),o=["fc-event","fc-event-vert"];return b(t)&&o.push("fc-event-draggable"),e.isStart&&o.push("fc-event-start"),e.isEnd&&o.push("fc-event-end"),o=o.concat(t.className),t.source&&(o=o.concat(t.source.className||[])),n+=r?"a href='"+q(t.url)+"'":"div",n+=" class='"+o.join(" ")+"'"+" style="+"'"+"position:absolute;"+"top:"+e.top+"px;"+"left:"+e.left+"px;"+a+"'"+">"+"
"+"
"+q(ae(t.start,t.end,y("timeFormat")))+"
"+"
"+q(t.title||"")+"
"+"
"+"
",e.isEnd&&D(t)&&(n+="
=
"),n+=""}function f(t,e,n){var r=e.find("div.fc-event-time");b(t)&&g(t,e,r),n.isEnd&&D(t)&&p(t,e,r),S(t,e)}function v(t,e,n){function r(){c||(e.width(a).height("").draggable("option","grid",null),c=!0)}var a,o,i,s=n.isStart,c=!0,u=N(),f=B(),v=I(),g=X(),p=W();e.draggable({opacity:y("dragOpacity","month"),revertDuration:y("dragRevertDuration"),start:function(n,p){w("eventDragStart",e,t,n,p),Z(t,e),a=e.width(),u.start(function(n,a){if(K(),n){o=!1;var u=P(0,a.col),p=P(0,n.col);i=h(p,u),n.row?s?c&&(e.width(f-10),T(e,v*Math.round((t.end?(t.end-t.start)/Re:y("defaultEventMinutes"))/g)),e.draggable("option","grid",[f,1]),c=!1):o=!0:(Q(l(d(t.start),i),l(C(t),i)),r()),o=o||c&&!i -}else r(),o=!0;e.draggable("option","revert",o)},n,"drag")},stop:function(n,a){if(u.stop(),K(),w("eventDragStop",e,t,n,a),o)r(),e.css("filter",""),U(t,e);else{var s=0;c||(s=Math.round((e.offset().top-J().offset().top)/v)*g+p-(60*t.start.getHours()+t.start.getMinutes())),G(this,t,i,s,c,n,a)}}})}function g(t,e,n){function r(){K(),s&&(f?(n.hide(),e.draggable("option","grid",null),Q(l(d(t.start),b),l(C(t),b))):(a(D),n.css("display",""),e.draggable("option","grid",[T,x])))}function a(e){var r,a=u(d(t.start),e);t.end&&(r=u(d(t.end),e)),n.text(ae(a,r,y("timeFormat")))}var o,i,s,c,f,v,g,p,b,D,M,E=m.getCoordinateGrid(),S=Y(),T=B(),x=I(),k=X();e.draggable({scroll:!1,grid:[T,x],axis:1==S?"y":!1,opacity:y("dragOpacity"),revertDuration:y("dragRevertDuration"),start:function(n,r){w("eventDragStart",e,t,n,r),Z(t,e),E.build(),o=e.position(),i=E.cell(n.pageX,n.pageY),s=c=!0,f=v=O(i),g=p=0,b=0,D=M=0},drag:function(t,n){var a=E.cell(t.pageX,t.pageY);if(s=!!a){if(f=O(a),g=Math.round((n.position.left-o.left)/T),g!=p){var l=P(0,i.col),u=i.col+g;u=Math.max(0,u),u=Math.min(S-1,u);var d=P(0,u);b=h(d,l)}f||(D=Math.round((n.position.top-o.top)/x)*k)}(s!=c||f!=v||g!=p||D!=M)&&(r(),c=s,v=f,p=g,M=D),e.draggable("option","revert",!s)},stop:function(n,a){K(),w("eventDragStop",e,t,n,a),s&&(f||b||D)?G(this,t,b,f?0:D,f,n,a):(s=!0,f=!1,g=0,b=0,D=0,r(),e.css("filter",""),e.css(o),U(t,e))}})}function p(t,e,n){var r,a,o=I(),i=X();e.resizable({handles:{s:".ui-resizable-handle"},grid:o,start:function(n,o){r=a=0,Z(t,e),w("eventResizeStart",this,t,n,o)},resize:function(s,l){r=Math.round((Math.max(o,e.height())-l.originalSize.height)/o),r!=a&&(n.text(ae(t.start,r||t.end?u(M(t),i*r):null,y("timeFormat"))),a=r)},stop:function(n,a){w("eventResizeStop",this,t,n,a),r?$(this,t,0,i*r,n,a):U(t,e)}})}var m=this;m.renderEvents=n,m.clearEvents=r,m.slotSegHtml=c,de.call(m);var y=m.opt,w=m.trigger,b=m.isEventDraggable,D=m.isEventResizable,M=m.eventEnd,S=m.eventElementHandlers,k=m.setHeight,H=m.getDaySegmentContainer,F=m.getSlotSegmentContainer,N=m.getHoverListener,z=m.getMaxMinute,W=m.getMinMinute,A=m.timePosition,O=m.getIsCellAllDay,L=m.colContentLeft,_=m.colContentRight,P=m.cellToDate,Y=m.getColCnt,B=m.getColWidth,I=m.getSnapHeight,X=m.getSnapMinutes,J=m.getSlotContainer,V=m.reportEventElement,U=m.showEvents,Z=m.hideEvents,G=m.eventDrop,$=m.eventResize,Q=m.renderDayOverlay,K=m.clearOverlays,te=m.renderDayEvents,ne=m.calendar,re=ne.formatDate,ae=ne.formatDates;m.draggableDayEvent=v}function ee(t){var e,n=ne(t),r=n[0];if(re(n),r){for(e=0;r.length>e;e++)ae(r[e]);for(e=0;r.length>e;e++)oe(r[e],0,0)}return ie(n)}function ne(t){var e,n,r,a=[];for(e=0;t.length>e;e++){for(n=t[e],r=0;a.length>r&&se(n,a[r]).length;r++);(a[r]||(a[r]=[])).push(n)}return a}function re(t){var e,n,r,a,o;for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)for(a=n[r],a.forwardSegs=[],o=e+1;t.length>o;o++)se(a,t[o],a.forwardSegs)}function ae(t){var n,r,a=t.forwardSegs,o=0;if(t.forwardPressure===e){for(n=0;a.length>n;n++)r=a[n],ae(r),o=Math.max(o,1+r.forwardPressure);t.forwardPressure=o}}function oe(t,n,r){var a,o=t.forwardSegs;if(t.forwardCoord===e)for(o.length?(o.sort(ce),oe(o[0],n+1,r),t.forwardCoord=o[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-r)/(n+1),a=0;o.length>a;a++)oe(o[a],0,t.forwardCoord)}function ie(t){var e,n,r,a=[];for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)a.push(n[r]);return a}function se(t,e,n){n=n||[];for(var r=0;e.length>r;r++)le(t,e[r])&&n.push(e[r]);return n}function le(t,e){return t.end>e.start&&t.starte;e++)n=t[e],j[n._id]?j[n._id].push(n):j[n._id]=[n]}function v(){j={},I={},J=[]}function g(t){return t.end?d(t.end):q(t)}function p(t,e){J.push({event:t,element:e}),I[t._id]?I[t._id].push(e):I[t._id]=[e]}function m(){t.each(J,function(t,e){_.trigger("eventDestroy",e.event,e.event,e.element)})}function y(t,n){n.click(function(r){return n.hasClass("ui-draggable-dragging")||n.hasClass("ui-resizable-resizing")?e:i("eventClick",this,t,r)}).hover(function(e){i("eventMouseover",this,t,e)},function(e){i("eventMouseout",this,t,e)})}function w(t,e){D(t,e,"show")}function b(t,e){D(t,e,"hide")}function D(t,e,n){var r,a=I[t._id],o=a.length;for(r=0;o>r;r++)e&&a[r][0]==e[0]||a[r][n]()}function C(t,e,n,r,a,o,s){var l=e.allDay,c=e._id;E(j[c],n,r,a),i("eventDrop",t,e,n,r,a,function(){E(j[c],-n,-r,l),B(c)},o,s),B(c)}function M(t,e,n,r,a,o){var s=e._id;S(j[s],n,r),i("eventResize",t,e,n,r,function(){S(j[s],-n,-r),B(s)},a,o),B(s)}function E(t,n,r,a){r=r||0;for(var o,i=t.length,s=0;i>s;s++)o=t[s],a!==e&&(o.allDay=a),u(l(o.start,n,!0),r),o.end&&(o.end=u(l(o.end,n,!0),r)),Y(o,V)}function S(t,e,n){n=n||0;for(var r,a=t.length,o=0;a>o;o++)r=t[o],r.end=u(l(g(r),e,!0),n),Y(r,V)}function T(t){return"object"==typeof t&&(t=t.getDay()),G[t]}function x(){return U}function k(t,e,n){for(e=e||1;G[(t.getDay()+(n?e:0)+7)%7];)l(t,e)}function H(){var t=F.apply(null,arguments),e=R(t),n=N(e);return n}function F(t,e){var n=_.getColCnt(),r=K?-1:1,a=K?n-1:0;"object"==typeof t&&(e=t.col,t=t.row);var o=t*n+(e*r+a);return o}function R(t){var e=_.visStart.getDay();return t+=$[e],7*Math.floor(t/U)+Q[(t%U+U)%U]-e}function N(t){var e=d(_.visStart);return l(e,t),e}function z(t){var e=W(t),n=A(e),r=O(n);return r}function W(t){return h(t,_.visStart)}function A(t){var e=_.visStart.getDay();return t+=e,Math.floor(t/7)*U+$[(t%7+7)%7]-$[e]}function O(t){var e=_.getColCnt(),n=K?-1:1,r=K?e-1:0,a=Math.floor(t/e),o=(t%e+e)%e*n+r;return{row:a,col:o}}function L(t,e){for(var n=_.getRowCnt(),r=_.getColCnt(),a=[],o=W(t),i=W(e),s=A(o),l=A(i)-1,c=0;n>c;c++){var u=c*r,f=u+r-1,d=Math.max(s,u),v=Math.min(l,f);if(v>=d){var h=O(d),g=O(v),p=[h.col,g.col].sort(),m=R(d)==o,y=R(v)+1==i;a.push({row:c,leftCol:p[0],rightCol:p[1],isStart:m,isEnd:y})}}return a}var _=this;_.element=n,_.calendar=r,_.name=a,_.opt=o,_.trigger=i,_.isEventDraggable=s,_.isEventResizable=c,_.setEventData=f,_.clearEventData=v,_.eventEnd=g,_.reportEventElement=p,_.triggerEventDestroy=m,_.eventElementHandlers=y,_.showEvents=w,_.hideEvents=b,_.eventDrop=C,_.eventResize=M;var q=_.defaultEventEnd,Y=r.normalizeEvent,B=r.reportEventChange,j={},I={},J=[],V=r.options;_.isHiddenDay=T,_.skipHiddenDays=k,_.getCellsPerWeek=x,_.dateToCell=z,_.dateToDayOffset=W,_.dayOffsetToCellOffset=A,_.cellOffsetToCell=O,_.cellToDate=H,_.cellToCellOffset=F,_.cellOffsetToDayOffset=R,_.dayOffsetToDate=N,_.rangeToSegments=L;var U,Z=o("hiddenDays")||[],G=[],$=[],Q=[],K=o("isRTL");(function(){o("weekends")===!1&&Z.push(0,6);for(var e=0,n=0;7>e;e++)$[e]=n,G[e]=-1!=t.inArray(e,Z),G[e]||(Q[n]=e,n++);if(U=n,!U)throw"invalid hiddenDays"})()}function de(){function e(t,e){var n=r(t,!1,!0);he(n,function(t,e){N(t.event,e)}),w(n,e),he(n,function(t,e){k("eventAfterRender",t.event,t.event,e)})}function n(t,e,n){var a=r([t],!0,!1),o=[];return he(a,function(t,r){t.row===e&&r.css("top",n),o.push(r[0])}),o}function r(e,n,r){var o,l,c=Z(),d=n?t("
"):c,v=a(e);return i(v),o=s(v),d[0].innerHTML=o,l=d.children(),n&&c.append(l),u(v,l),he(v,function(t,e){t.hsides=x(e,!0)}),he(v,function(t,e){e.width(Math.max(0,t.outerWidth-t.hsides))}),he(v,function(t,e){t.outerHeight=e.outerHeight(!0)}),f(v,r),v}function a(t){for(var e=[],n=0;t.length>n;n++){var r=o(t[n]);e.push.apply(e,r)}return e}function o(t){for(var e=t.start,n=C(t),r=ee(e,n),a=0;r.length>a;a++)r[a].event=t;return r}function i(t){for(var e=T("isRTL"),n=0;t.length>n;n++){var r=t[n],a=(e?r.isEnd:r.isStart)?V:X,o=(e?r.isStart:r.isEnd)?U:J,i=a(r.leftCol),s=o(r.rightCol);r.left=i,r.outerWidth=s-i}}function s(t){for(var e="",n=0;t.length>n;n++)e+=c(t[n]);return e}function c(t){var e="",n=T("isRTL"),r=t.event,a=r.url,o=["fc-event","fc-event-hori"];H(r)&&o.push("fc-event-draggable"),t.isStart&&o.push("fc-event-start"),t.isEnd&&o.push("fc-event-end"),o=o.concat(r.className),r.source&&(o=o.concat(r.source.className||[]));var i=j(r,T);return e+=a?""+"
",!r.allDay&&t.isStart&&(e+=""+q(G(r.start,r.end,T("timeFormat")))+""),e+=""+q(r.title||"")+""+"
",t.isEnd&&F(r)&&(e+="
"+"   "+"
"),e+=""}function u(e,n){for(var r=0;e.length>r;r++){var a=e[r],o=a.event,i=n.eq(r),s=k("eventRender",o,o,i);s===!1?i.remove():(s&&s!==!0&&(s=t(s).css({position:"absolute",left:a.left}),i.replaceWith(s),i=s),a.element=i)}}function f(t,e){var n=v(t),r=y(),a=[];if(e)for(var o=0;r.length>o;o++)r[o].height(n[o]);for(var o=0;r.length>o;o++)a.push(r[o].position().top);he(t,function(t,e){e.css("top",a[t.row]+t.top)})}function v(t){for(var e=P(),n=B(),r=[],a=g(t),o=0;e>o;o++){for(var i=a[o],s=[],l=0;n>l;l++)s.push(0);for(var c=0;i.length>c;c++){var u=i[c];u.top=L(s.slice(u.leftCol,u.rightCol+1));for(var l=u.leftCol;u.rightCol>=l;l++)s[l]=u.top+u.outerHeight}r.push(L(s))}return r}function g(t){var e,n,r,a=P(),o=[];for(e=0;t.length>e;e++)n=t[e],r=n.row,n.element&&(o[r]?o[r].push(n):o[r]=[n]);for(r=0;a>r;r++)o[r]=p(o[r]||[]);return o}function p(t){for(var e=[],n=m(t),r=0;n.length>r;r++)e.push.apply(e,n[r]);return e}function m(t){t.sort(ge);for(var e=[],n=0;t.length>n;n++){for(var r=t[n],a=0;e.length>a&&ve(r,e[a]);a++);e[a]?e[a].push(r):e[a]=[r]}return e}function y(){var t,e=P(),n=[];for(t=0;e>t;t++)n[t]=I(t).find("div.fc-day-content > div");return n}function w(t,e){var n=Z();he(t,function(t,n,r){var a=t.event;a._id===e?b(a,n,t):n[0]._fci=r}),E(n,t,b)}function b(t,e,n){H(t)&&S.draggableDayEvent(t,e,n),n.isEnd&&F(t)&&S.resizableDayEvent(t,e,n),z(t,e)}function D(t,e){var n,r=te();e.draggable({delay:50,opacity:T("dragOpacity"),revertDuration:T("dragRevertDuration"),start:function(a,o){k("eventDragStart",e,t,a,o),A(t,e),r.start(function(r,a,o,i){if(e.draggable("option","revert",!r||!o&&!i),Q(),r){var s=ne(a),c=ne(r);n=h(c,s),$(l(d(t.start),n),l(C(t),n))}else n=0},a,"drag")},stop:function(a,o){r.stop(),Q(),k("eventDragStop",e,t,a,o),n?O(this,t,n,0,t.allDay,a,o):(e.css("filter",""),W(t,e))}})}function M(e,r,a){var o=T("isRTL"),i=o?"w":"e",s=r.find(".ui-resizable-"+i),c=!1;Y(r),r.mousedown(function(t){t.preventDefault()}).click(function(t){c&&(t.preventDefault(),t.stopImmediatePropagation())}),s.mousedown(function(o){function s(n){k("eventResizeStop",this,e,n),t("body").css("cursor",""),u.stop(),Q(),f&&_(this,e,f,0,n),setTimeout(function(){c=!1},0)}if(1==o.which){c=!0;var u=te();P(),B();var f,d,v=r.css("top"),h=t.extend({},e),g=ie(oe(e.start));K(),t("body").css("cursor",i+"-resize").one("mouseup",s),k("eventResizeStart",this,e,o),u.start(function(r,o){if(r){var s=re(o),c=re(r);if(c=Math.max(c,g),f=ae(c)-ae(s)){h.end=l(R(e),f,!0);var u=d;d=n(h,a.row,v),d=t(d),d.find("*").css("cursor",i+"-resize"),u&&u.remove(),A(e)}else d&&(W(e),d.remove(),d=null);Q(),$(e.start,l(C(e),f))}},o)}})}var S=this;S.renderDayEvents=e,S.draggableDayEvent=D,S.resizableDayEvent=M;var T=S.opt,k=S.trigger,H=S.isEventDraggable,F=S.isEventResizable,R=S.eventEnd,N=S.reportEventElement,z=S.eventElementHandlers,W=S.showEvents,A=S.hideEvents,O=S.eventDrop,_=S.eventResize,P=S.getRowCnt,B=S.getColCnt;S.getColWidth;var I=S.allDayRow,X=S.colLeft,J=S.colRight,V=S.colContentLeft,U=S.colContentRight;S.dateToCell;var Z=S.getDaySegmentContainer,G=S.calendar.formatDates,$=S.renderDayOverlay,Q=S.clearOverlays,K=S.clearSelection,te=S.getHoverListener,ee=S.rangeToSegments,ne=S.cellToDate,re=S.cellToCellOffset,ae=S.cellOffsetToDayOffset,oe=S.dateToDayOffset,ie=S.dayOffsetToCellOffset}function ve(t,e){for(var n=0;e.length>n;n++){var r=e[n];if(r.leftCol<=t.rightCol&&r.rightCol>=t.leftCol)return!0}return!1}function he(t,e){for(var n=0;t.length>n;n++){var r=t[n],a=r.element;a&&e(r,a,n)}}function ge(t,e){return e.rightCol-e.leftCol-(t.rightCol-t.leftCol)||e.event.allDay-t.event.allDay||t.event.start-e.event.start||(t.event.title||"").localeCompare(e.event.title)}function pe(){function e(t,e,a){n(),e||(e=l(t,a)),c(t,e,a),r(t,e,a)}function n(t){f&&(f=!1,u(),s("unselect",null,t))}function r(t,e,n,r){f=!0,s("select",null,t,e,n,r)}function a(e){var a=o.cellToDate,s=o.getIsCellAllDay,l=o.getHoverListener(),f=o.reportDayClick;if(1==e.which&&i("selectable")){n(e);var d;l.start(function(t,e){u(),t&&s(t)?(d=[a(e),a(t)].sort(O),c(d[0],d[1],!0)):d=null},e),t(document).one("mouseup",function(t){l.stop(),d&&(+d[0]==+d[1]&&f(d[0],!0,t),r(d[0],d[1],!0,t))})}}var o=this;o.select=e,o.unselect=n,o.reportSelection=r,o.daySelectionMousedown=a;var i=o.opt,s=o.trigger,l=o.defaultSelectionEnd,c=o.renderSelection,u=o.clearSelection,f=!1;i("selectable")&&i("unselectAuto")&&t(document).mousedown(function(e){var r=i("unselectCancel");r&&t(e.target).parents(r).length||n(e)})}function me(){function e(e,n){var r=o.shift();return r||(r=t("
")),r[0].parentNode!=n[0]&&r.appendTo(n),a.push(r.css(e).show()),r}function n(){for(var t;t=a.shift();)o.push(t.hide().unbind())}var r=this;r.renderOverlay=e,r.clearOverlays=n;var a=[],o=[]}function ye(t){var e,n,r=this;r.build=function(){e=[],n=[],t(e,n)},r.cell=function(t,r){var a,o=e.length,i=n.length,s=-1,l=-1;for(a=0;o>a;a++)if(r>=e[a][0]&&e[a][1]>r){s=a;break}for(a=0;i>a;a++)if(t>=n[a][0]&&n[a][1]>t){l=a;break}return s>=0&&l>=0?{row:s,col:l}:null},r.rect=function(t,r,a,o,i){var s=i.offset();return{top:e[t][0]-s.top,left:n[r][0]-s.left,width:n[o][1]-n[r][0],height:e[a][1]-e[t][0]}}}function we(e){function n(t){be(t);var n=e.cell(t.pageX,t.pageY);(!n!=!i||n&&(n.row!=i.row||n.col!=i.col))&&(n?(o||(o=n),a(n,o,n.row-o.row,n.col-o.col)):a(n,o),i=n)}var r,a,o,i,s=this;s.start=function(s,l,c){a=s,o=i=null,e.build(),n(l),r=c||"mousemove",t(document).bind(r,n)},s.stop=function(){return t(document).unbind(r,n),i}}function be(t){t.pageX===e&&(t.pageX=t.originalEvent.pageX,t.pageY=t.originalEvent.pageY)}function De(t){function n(e){return a[e]=a[e]||t(e)}var r=this,a={},o={},i={};r.left=function(t){return o[t]=o[t]===e?n(t).position().left:o[t]},r.right=function(t){return i[t]=i[t]===e?r.left(t)+n(t).width():i[t]},r.clear=function(){a={},o={},i={}}}var Ce={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"iso",weekNumberTitle:"W",allDayDefault:!0,ignoreTimezone:!0,lazyFetching:!0,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '—'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:!1,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"",next:"",prevYear:"«",nextYear:"»",today:"Heute",month:"Monat",week:"Woche",day:"Tag"},theme:!1,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:!0,dropAccept:"*",handleWindowResize:!0},Me={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"",next:"",prevYear:"»",nextYear:"«"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Ee=t.fullCalendar={version:"1.6.4"},Se=Ee.views={};t.fn.fullCalendar=function(n){if("string"==typeof n){var a,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var r=t.data(this,"fullCalendar");if(r&&t.isFunction(r[n])){var i=r[n].apply(r,o);a===e&&(a=i),"destroy"==n&&t.removeData(this,"fullCalendar")}}),a!==e?a:this}n=n||{};var i=n.eventSources||[];return delete n.eventSources,n.events&&(i.push(n.events),delete n.events),n=t.extend(!0,{},Ce,n.isRTL||n.isRTL===e&&Ce.isRTL?Me:{},n),this.each(function(e,a){var o=t(a),s=new r(o,n,i);o.data("fullCalendar",s),s.render()}),this},Ee.sourceNormalizers=[],Ee.sourceFetchers=[];var Te={dataType:"json",cache:!1},xe=1;Ee.addDays=l,Ee.cloneDate=d,Ee.parseDate=p,Ee.parseISO8601=m,Ee.parseTime=y,Ee.formatDate=w,Ee.formatDates=b;var ke=["sun","mon","tue","wed","thu","fri","sat"],He=864e5,Fe=36e5,Re=6e4,Ne={s:function(t){return t.getSeconds()},ss:function(t){return _(t.getSeconds())},m:function(t){return t.getMinutes()},mm:function(t){return _(t.getMinutes())},h:function(t){return t.getHours()%12||12},hh:function(t){return _(t.getHours()%12||12)},H:function(t){return t.getHours()},HH:function(t){return _(t.getHours())},d:function(t){return t.getDate()},dd:function(t){return _(t.getDate())},ddd:function(t,e){return e.dayNamesShort[t.getDay()]},dddd:function(t,e){return e.dayNames[t.getDay()]},M:function(t){return t.getMonth()+1},MM:function(t){return _(t.getMonth()+1)},MMM:function(t,e){return e.monthNamesShort[t.getMonth()]},MMMM:function(t,e){return e.monthNames[t.getMonth()]},yy:function(t){return(t.getFullYear()+"").substring(2)},yyyy:function(t){return t.getFullYear()},t:function(t){return 12>t.getHours()?"a":"p"},tt:function(t){return 12>t.getHours()?"am":"pm"},T:function(t){return 12>t.getHours()?"A":"P"},TT:function(t){return 12>t.getHours()?"AM":"PM"},u:function(t){return w(t,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(t){var e=t.getDate();return e>10&&20>e?"th":["st","nd","rd"][e%10-1]||"th"},w:function(t,e){return e.weekNumberCalculation(t)},W:function(t){return D(t)}};Ee.dateFormatters=Ne,Ee.applyAll=I,Se.month=J,Se.basicWeek=V,Se.basicDay=U,n({weekMode:"fixed"}),Se.agendaWeek=$,Se.agendaDay=Q,n({allDaySlot:!0,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:.5},minTime:0,maxTime:24,slotEventOverlap:!0})})(jQuery); diff --git a/www/plugins/fullcalendar-1.6.4/fullcalendar.print.css b/www/plugins/fullcalendar-1.6.4/fullcalendar.print.css deleted file mode 100644 index 43607199d..000000000 --- a/www/plugins/fullcalendar-1.6.4/fullcalendar.print.css +++ /dev/null @@ -1,32 +0,0 @@ -/*! - * FullCalendar v1.6.4 Print Stylesheet - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - -/* - * Include this stylesheet on your page to get a more printer-friendly calendar. - * When including this stylesheet, use the media='print' attribute of the tag. - * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css. - */ - - - /* Events ------------------------------------------------------*/ - -.fc-event { - background: #fff !important; - color: #000 !important; - } - -/* for vertical events */ - -.fc-event-bg { - display: none !important; - } - -.fc-event .ui-resizable-handle { - display: none !important; - } - - diff --git a/www/plugins/fullcalendar-1.6.4/gcal.js b/www/plugins/fullcalendar-1.6.4/gcal.js deleted file mode 100644 index 164422762..000000000 --- a/www/plugins/fullcalendar-1.6.4/gcal.js +++ /dev/null @@ -1,107 +0,0 @@ -/*! - * FullCalendar v1.6.4 Google Calendar Plugin - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - -(function($) { - - -var fc = $.fullCalendar; -var formatDate = fc.formatDate; -var parseISO8601 = fc.parseISO8601; -var addDays = fc.addDays; -var applyAll = fc.applyAll; - - -fc.sourceNormalizers.push(function(sourceOptions) { - if (sourceOptions.dataType == 'gcal' || - sourceOptions.dataType === undefined && - (sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) { - sourceOptions.dataType = 'gcal'; - if (sourceOptions.editable === undefined) { - sourceOptions.editable = false; - } - } -}); - - -fc.sourceFetchers.push(function(sourceOptions, start, end) { - if (sourceOptions.dataType == 'gcal') { - return transformOptions(sourceOptions, start, end); - } -}); - - -function transformOptions(sourceOptions, start, end) { - - var success = sourceOptions.success; - var data = $.extend({}, sourceOptions.data || {}, { - 'start-min': formatDate(start, 'u'), - 'start-max': formatDate(end, 'u'), - 'singleevents': true, - 'max-results': 9999 - }); - - var ctz = sourceOptions.currentTimezone; - if (ctz) { - data.ctz = ctz = ctz.replace(' ', '_'); - } - - return $.extend({}, sourceOptions, { - url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?', - dataType: 'jsonp', - data: data, - startParam: false, - endParam: false, - success: function(data) { - var events = []; - if (data.feed.entry) { - $.each(data.feed.entry, function(i, entry) { - var startStr = entry['gd$when'][0]['startTime']; - var start = parseISO8601(startStr, true); - var end = parseISO8601(entry['gd$when'][0]['endTime'], true); - var allDay = startStr.indexOf('T') == -1; - var url; - $.each(entry.link, function(i, link) { - if (link.type == 'text/html') { - url = link.href; - if (ctz) { - url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz; - } - } - }); - if (allDay) { - addDays(end, -1); // make inclusive - } - events.push({ - id: entry['gCal$uid']['value'], - title: entry['title']['$t'], - url: url, - start: start, - end: end, - allDay: allDay, - location: entry['gd$where'][0]['valueString'], - description: entry['content']['$t'] - }); - }); - } - var args = [events].concat(Array.prototype.slice.call(arguments, 1)); - var res = applyAll(success, this, args); - if ($.isArray(res)) { - return res; - } - return events; - } - }); - -} - - -// legacy -fc.gcalFeed = function(url, sourceOptions) { - return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' }); -}; - - -})(jQuery); diff --git a/www/plugins/fullcalendar/fullcalendar.css b/www/plugins/fullcalendar/fullcalendar.css deleted file mode 100644 index 77b9093ef..000000000 --- a/www/plugins/fullcalendar/fullcalendar.css +++ /dev/null @@ -1,616 +0,0 @@ -/* - * FullCalendar v1.5.3 Stylesheet - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - - -.fc { - direction: ltr; - text-align: left; - } - -.fc table { - border-collapse: collapse; - border-spacing: 0; - } - -html .fc, -.fc table { - font-size: 1em; - } - -.fc td, -.fc th { - padding: 0; - vertical-align: top; - } - - - -/* Header -------------------------------------------------------------------------*/ - -.fc-header td { - white-space: nowrap; - } - -.fc-header-left { - width: 25%; - text-align: left; - } - -.fc-header-center { - text-align: center; - } - -.fc-header-right { - width: 25%; - text-align: right; - } - -.fc-header-title { - display: inline-block; - vertical-align: top; - } - -.fc-header-title h2 { - margin-top: 0; - white-space: nowrap; - } - -.fc .fc-header-space { - padding-left: 10px; - } - -.fc-header .fc-button { - margin-bottom: 1em; - vertical-align: top; - } - -/* buttons edges butting together */ - -.fc-header .fc-button { - margin-right: -1px; - } - -.fc-header .fc-corner-right { - margin-right: 1px; /* back to normal */ - } - -.fc-header .ui-corner-right { - margin-right: 0; /* back to normal */ - } - -/* button layering (for border precedence) */ - -.fc-header .fc-state-hover, -.fc-header .ui-state-hover { - z-index: 2; - } - -.fc-header .fc-state-down { - z-index: 3; - } - -.fc-header .fc-state-active, -.fc-header .ui-state-active { - z-index: 4; - } - - - -/* Content -------------------------------------------------------------------------*/ - -.fc-content { - clear: both; - } - -.fc-view { - width: 100%; /* needed for view switching (when view is absolute) */ - overflow: hidden; - } - - - -/* Cell Styles -------------------------------------------------------------------------*/ - -.fc-widget-header, /* , usually */ -.fc-widget-content { /* , usually */ - border: 1px solid #ccc; - } - -.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ - background: #ffc; - } - -.fc-cell-overlay { /* semi-transparent rectangle while dragging */ - background: #9cf; - opacity: .2; - filter: alpha(opacity=20); /* for IE */ - } - - - -/* Buttons -------------------------------------------------------------------------*/ - -.fc-button { - position: relative; - display: inline-block; - cursor: pointer; - } - -.fc-state-default { /* non-theme */ - border-style: solid; - border-width: 1px 0; - } - -.fc-button-inner { - position: relative; - float: left; - overflow: hidden; - } - -.fc-state-default .fc-button-inner { /* non-theme */ - border-style: solid; - border-width: 0 1px; - } - -.fc-button-content { - position: relative; - float: left; - height: 1.9em; - line-height: 1.9em; - padding: 0 .6em; - white-space: nowrap; - } - -/* icon (for jquery ui) */ - -.fc-button-content .fc-icon-wrap { - position: relative; - float: left; - top: 50%; - } - -.fc-button-content .ui-icon { - position: relative; - float: left; - margin-top: -50%; - *margin-top: 0; - *top: -50%; - } - -/* gloss effect */ - -.fc-state-default .fc-button-effect { - position: absolute; - top: 50%; - left: 0; - } - -.fc-state-default .fc-button-effect span { - position: absolute; - top: -100px; - left: 0; - width: 500px; - height: 100px; - border-width: 100px 0 0 1px; - border-style: solid; - border-color: #fff; - background: #444; - opacity: .09; - filter: alpha(opacity=9); - } - -/* button states (determines colors) */ - -.fc-state-default, -.fc-state-default .fc-button-inner { - border-style: solid; - border-color: #ccc #bbb #aaa; - background: #F3F3F3; - color: #000; - } - -.fc-state-hover, -.fc-state-hover .fc-button-inner { - border-color: #999; - } - -.fc-state-down, -.fc-state-down .fc-button-inner { - border-color: #555; - background: #777; - } - -.fc-state-active, -.fc-state-active .fc-button-inner { - border-color: #555; - background: #777; - color: #fff; - } - -.fc-state-disabled, -.fc-state-disabled .fc-button-inner { - color: #999; - border-color: #ddd; - } - -.fc-state-disabled { - cursor: default; - } - -.fc-state-disabled .fc-button-effect { - display: none; - } - - - -/* Global Event Styles -------------------------------------------------------------------------*/ - -.fc-event { - border-style: solid; - border-width: 0; - font-size: .85em; - cursor: default; - } - -a.fc-event, -.fc-event-draggable { - cursor: pointer; - } - -a.fc-event { - text-decoration: none; - } - -.fc-rtl .fc-event { - text-align: right; - } - -.fc-event-skin { - border-color: #36c; /* default BORDER color */ - background-color: #36c; /* default BACKGROUND color */ - color: #fff; /* default TEXT color */ - } - -.fc-event-inner { - position: relative; - width: 100%; - height: 100%; - border-style: solid; - border-width: 0; - overflow: hidden; - } - -.fc-event-time, -.fc-event-title { - padding: 0 1px; - } - -.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/ - display: block; - position: absolute; - z-index: 99999; - overflow: hidden; /* hacky spaces (IE6/7) */ - font-size: 300%; /* */ - line-height: 50%; /* */ - } - - - -/* Horizontal Events -------------------------------------------------------------------------*/ - -.fc-event-hori { - border-width: 1px 0; - margin-bottom: 1px; - } - -/* resizable */ - -.fc-event-hori .ui-resizable-e { - top: 0 !important; /* importants override pre jquery ui 1.7 styles */ - right: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: e-resize; - } - -.fc-event-hori .ui-resizable-w { - top: 0 !important; - left: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: w-resize; - } - -.fc-event-hori .ui-resizable-handle { - _padding-bottom: 14px; /* IE6 had 0 height */ - } - - - -/* Fake Rounded Corners (for buttons and events) -------------------------------------------------------------*/ - -.fc-corner-left { - margin-left: 1px; - } - -.fc-corner-left .fc-button-inner, -.fc-corner-left .fc-event-inner { - margin-left: -1px; - } - -.fc-corner-right { - margin-right: 1px; - } - -.fc-corner-right .fc-button-inner, -.fc-corner-right .fc-event-inner { - margin-right: -1px; - } - -.fc-corner-top { - margin-top: 1px; - } - -.fc-corner-top .fc-event-inner { - margin-top: -1px; - } - -.fc-corner-bottom { - margin-bottom: 1px; - } - -.fc-corner-bottom .fc-event-inner { - margin-bottom: -1px; - } - - - -/* Fake Rounded Corners SPECIFICALLY FOR EVENTS ------------------------------------------------------------------*/ - -.fc-corner-left .fc-event-inner { - border-left-width: 1px; - } - -.fc-corner-right .fc-event-inner { - border-right-width: 1px; - } - -.fc-corner-top .fc-event-inner { - border-top-width: 1px; - } - -.fc-corner-bottom .fc-event-inner { - border-bottom-width: 1px; - } - - - -/* Reusable Separate-border Table -------------------------------------------------------------*/ - -table.fc-border-separate { - border-collapse: separate; - } - -.fc-border-separate th, -.fc-border-separate td { - border-width: 1px 0 0 1px; - } - -.fc-border-separate th.fc-last, -.fc-border-separate td.fc-last { - border-right-width: 1px; - } - -.fc-border-separate tr.fc-last th, -.fc-border-separate tr.fc-last td { - border-bottom-width: 1px; - } - -.fc-border-separate tbody tr.fc-first td, -.fc-border-separate tbody tr.fc-first th { - border-top-width: 0; - } - -/* Month View, Basic Week View, Basic Day View -------------------------------------------------------------------------*/ - -.fc-grid th { - text-align: center; - } - -.fc-grid .fc-day-number { - float: right; - padding: 0 2px; - } - -.fc-grid .fc-other-month .fc-day-number { - opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ - /* opacity with small font can sometimes look too faded - might want to set the 'color' property instead - making day-numbers bold also fixes the problem */ - } - -.fc-grid .fc-day-content { - clear: both; - padding: 2px 2px 1px; /* distance between events and day edges */ - } - -/* event styles */ - -.fc-grid .fc-event-time { - font-weight: bold; - } - -/* right-to-left */ - -.fc-rtl .fc-grid .fc-day-number { - float: left; - } - -.fc-rtl .fc-grid .fc-event-time { - float: right; - } - - - -/* Agenda Week View, Agenda Day View -------------------------------------------------------------------------*/ - -.fc-agenda table { - border-collapse: separate; - } - -.fc-agenda-days th { - text-align: center; - } - -.fc-agenda .fc-agenda-axis { - width: 50px; - padding: 0 4px; - vertical-align: middle; - text-align: right; - white-space: nowrap; - font-weight: normal; - } - -.fc-agenda .fc-day-content { - padding: 2px 2px 1px; - } - -/* make axis border take precedence */ - -.fc-agenda-days .fc-agenda-axis { - border-right-width: 1px; - } - -.fc-agenda-days .fc-col0 { - border-left-width: 0; - } - -/* all-day area */ - -.fc-agenda-allday th { - border-width: 0 1px; - } - -.fc-agenda-allday .fc-day-content { - min-height: 34px; /* TODO: doesnt work well in quirksmode */ - _height: 34px; - } - -/* divider (between all-day and slots) */ - -.fc-agenda-divider-inner { - height: 2px; - overflow: hidden; - } - -.fc-widget-header .fc-agenda-divider-inner { - background: #eee; - } - -/* slot rows */ - -.fc-agenda-slots th { - border-width: 1px 1px 0; - } - -.fc-agenda-slots td { - border-width: 1px 0 0; - background: none; - } - -.fc-agenda-slots td div { - height: 20px; - } - -.fc-agenda-slots tr.fc-slot0 th, -.fc-agenda-slots tr.fc-slot0 td { - border-top-width: 0; - } - -.fc-agenda-slots tr.fc-minor th, -.fc-agenda-slots tr.fc-minor td { - border-top-style: dotted; - } - -.fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ - } - - - -/* Vertical Events -------------------------------------------------------------------------*/ - -.fc-event-vert { - border-width: 0 1px; - } - -.fc-event-vert .fc-event-head, -.fc-event-vert .fc-event-content { - position: relative; - z-index: 2; - width: 100%; - overflow: hidden; - } - -.fc-event-vert .fc-event-time { - white-space: nowrap; - font-size: 10px; - } - -.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; - opacity: .3; - filter: alpha(opacity=30); - } - -.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg { - display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ - } - -/* resizable */ - -.fc-event-vert .ui-resizable-s { - bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ - width: 100% !important; - height: 8px !important; - overflow: hidden !important; - line-height: 8px !important; - font-size: 11px !important; - font-family: monospace; - text-align: center; - cursor: s-resize; - } - -.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ - _overflow: hidden; - } - - diff --git a/www/plugins/fullcalendar/fullcalendar.js b/www/plugins/fullcalendar/fullcalendar.js deleted file mode 100644 index 7ce847525..000000000 --- a/www/plugins/fullcalendar/fullcalendar.js +++ /dev/null @@ -1,5224 +0,0 @@ -/** - * @preserve - * FullCalendar v1.5.3 - * http://arshaw.com/fullcalendar/ - * - * Use fullcalendar.css for basic styling. - * For event drag & drop, requires jQuery UI draggable. - * For event resizing, requires jQuery UI resizable. - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - -(function($, undefined) { - - -var defaults = { - - // display - defaultView: 'month', - aspectRatio: 1.35, - header: { - left: 'title', - center: '', - right: 'today prev,next' - }, - weekends: true, - - // editing - //editable: false, - //disableDragging: false, - //disableResizing: false, - - allDayDefault: true, - ignoreTimezone: true, - - // event ajax - lazyFetching: true, - startParam: 'start', - endParam: 'end', - - // time formats - titleFormat: { - month: 'MMMM yyyy', - week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", - day: 'dddd, MMM d, yyyy' - }, - columnFormat: { - month: 'ddd', - week: 'ddd M/d', - day: 'dddd M/d' - }, - timeFormat: { // for event elements - '': 'h(:mm)t' // default - }, - - // locale - isRTL: false, - firstDay: 0, - monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], - monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], - dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], - buttonText: { - prev: ' ◄ ', - next: ' ► ', - prevYear: ' << ', - nextYear: ' >> ', - today: 'today', - month: 'month', - week: 'week', - day: 'day' - }, - - // jquery-ui theming - theme: false, - buttonIcons: { - prev: 'circle-triangle-w', - next: 'circle-triangle-e' - }, - - //selectable: false, - unselectAuto: true, - - dropAccept: '*' - -}; - -// right-to-left defaults -var rtlDefaults = { - header: { - left: 'next,prev today', - center: '', - right: 'title' - }, - buttonText: { - prev: ' ► ', - next: ' ◄ ', - prevYear: ' >> ', - nextYear: ' << ' - }, - buttonIcons: { - prev: 'circle-triangle-e', - next: 'circle-triangle-w' - } -}; - - - -var fc = $.fullCalendar = { version: "1.5.3" }; -var fcViews = fc.views = {}; - - -$.fn.fullCalendar = function(options) { - - - // method calling - if (typeof options == 'string') { - var args = Array.prototype.slice.call(arguments, 1); - var res; - this.each(function() { - var calendar = $.data(this, 'fullCalendar'); - if (calendar && $.isFunction(calendar[options])) { - var r = calendar[options].apply(calendar, args); - if (res === undefined) { - res = r; - } - if (options == 'destroy') { - $.removeData(this, 'fullCalendar'); - } - } - }); - if (res !== undefined) { - return res; - } - return this; - } - - - // would like to have this logic in EventManager, but needs to happen before options are recursively extended - var eventSources = options.eventSources || []; - delete options.eventSources; - if (options.events) { - eventSources.push(options.events); - delete options.events; - } - - - options = $.extend(true, {}, - defaults, - (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, - options - ); - - - this.each(function(i, _element) { - var element = $(_element); - var calendar = new Calendar(element, options, eventSources); - element.data('fullCalendar', calendar); // TODO: look into memory leak implications - calendar.render(); - }); - - - return this; - -}; - - -// function for adding/overriding defaults -function setDefaults(d) { - $.extend(true, defaults, d); -} - - - - -function Calendar(element, options, eventSources) { - var t = this; - - - // exports - t.options = options; - t.render = render; - t.destroy = destroy; - t.refetchEvents = refetchEvents; - t.reportEvents = reportEvents; - t.reportEventChange = reportEventChange; - t.rerenderEvents = rerenderEvents; - t.changeView = changeView; - t.select = select; - t.unselect = unselect; - t.prev = prev; - t.next = next; - t.prevYear = prevYear; - t.nextYear = nextYear; - t.today = today; - t.gotoDate = gotoDate; - t.incrementDate = incrementDate; - t.formatDate = function(format, date) { return formatDate(format, date, options) }; - t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; - t.getDate = getDate; - t.getView = getView; - t.option = option; - t.trigger = trigger; - - - // imports - EventManager.call(t, options, eventSources); - var isFetchNeeded = t.isFetchNeeded; - var fetchEvents = t.fetchEvents; - - - // locals - var _element = element[0]; - var header; - var headerElement; - var content; - var tm; // for making theme classes - var currentView; - var viewInstances = {}; - var elementOuterWidth; - var suggestedViewHeight; - var absoluteViewElement; - var resizeUID = 0; - var ignoreWindowResize = 0; - var date = new Date(); - var events = []; - var _dragElement; - - - - /* Main Rendering - -----------------------------------------------------------------------------*/ - - - setYMD(date, options.year, options.month, options.date); - - - function render(inc) { - if (!content) { - initialRender(); - }else{ - calcSize(); - markSizesDirty(); - markEventsDirty(); - renderView(inc); - } - } - - - function initialRender() { - tm = options.theme ? 'ui' : 'fc'; - element.addClass('fc'); - if (options.isRTL) { - element.addClass('fc-rtl'); - } - if (options.theme) { - element.addClass('ui-widget'); - } - content = $("
") - .prependTo(element); - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - changeView(options.defaultView); - $(window).resize(windowResize); - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - $(window).unbind('resize', windowResize); - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - - function elementVisible() { - return _element.offsetWidth !== 0; - } - - - function bodyVisible() { - return $('body')[0].offsetWidth !== 0; - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - // TODO: improve view switching (still weird transition in IE, and FF has whiteout problem) - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - ignoreWindowResize++; // because setMinHeight might change the height before render (and subsequently setSize) is reached - - unselect(); - - var oldView = currentView; - var newViewElement; - - if (oldView) { - (oldView.beforeHide || noop)(); // called before changing min-height. if called after, scroll state is reset (in Opera) - setMinHeight(content, content.height()); - oldView.element.hide(); - }else{ - setMinHeight(content, 1); // needs to be 1 (not 0) for IE7, or else view dimensions miscalculated - } - content.css('overflow', 'hidden'); - - currentView = viewInstances[newViewName]; - if (currentView) { - currentView.element.show(); - }else{ - currentView = viewInstances[newViewName] = new fcViews[newViewName]( - newViewElement = absoluteViewElement = - $("
") - .appendTo(content), - t // the calendar object - ); - } - - if (oldView) { - header.deactivateButton(oldView.name); - } - header.activateButton(newViewName); - - renderView(); // after height has been set, will make absoluteViewElement's position=relative, then set to null - - content.css('overflow', ''); - if (oldView) { - setMinHeight(content, 1); - } - - if (!newViewElement) { - (currentView.afterShow || noop)(); // called after setting min-height/overflow, so in final scroll state (for Opera) - } - - ignoreWindowResize--; - } - } - - - - function renderView(inc) { - if (elementVisible()) { - ignoreWindowResize++; // because renderEvents might temporarily change the height before setSize is reached - - unselect(); - - if (suggestedViewHeight === undefined) { - calcSize(); - } - - var forceEventRender = false; - if (!currentView.start || inc || date < currentView.start || date >= currentView.end) { - // view must render an entire new date range (and refetch/render events) - currentView.render(date, inc || 0); // responsible for clearing events - setSize(true); - forceEventRender = true; - } - else if (currentView.sizeDirty) { - // view must resize (and rerender events) - currentView.clearEvents(); - setSize(); - forceEventRender = true; - } - else if (currentView.eventsDirty) { - currentView.clearEvents(); - forceEventRender = true; - } - currentView.sizeDirty = false; - currentView.eventsDirty = false; - updateEvents(forceEventRender); - - elementOuterWidth = element.outerWidth(); - - header.updateTitle(currentView.title); - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - }else{ - header.enableButton('today'); - } - - ignoreWindowResize--; - currentView.trigger('viewDisplay', _element); - } - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - markSizesDirty(); - if (elementVisible()) { - calcSize(); - setSize(); - unselect(); - currentView.clearEvents(); - currentView.renderEvents(events); - currentView.sizeDirty = false; - } - } - - - function markSizesDirty() { - $.each(viewInstances, function(i, inst) { - inst.sizeDirty = true; - }); - } - - - function calcSize() { - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize(dateChanged) { // todo: dateChanged? - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight, dateChanged); - if (absoluteViewElement) { - absoluteViewElement.css('position', 'relative'); - absoluteViewElement = null; - } - currentView.setWidth(content.width(), dateChanged); - ignoreWindowResize--; - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - - - // fetches events if necessary, rerenders events if necessary (or if forced) - function updateEvents(forceRender) { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - refetchEvents(); - } - else if (forceRender) { - rerenderEvents(); - } - } - - - function refetchEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); // will call reportEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - rerenderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - // attempts to rerenderEvents - function rerenderEvents(modifiedEventID) { - markEventsDirty(); - if (elementVisible()) { - currentView.clearEvents(); - currentView.renderEvents(events, modifiedEventID); - currentView.eventsDirty = false; - } - } - - - function markEventsDirty() { - $.each(viewInstances, function(i, inst) { - inst.eventsDirty = true; - }); - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("") - .append( - $("") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $("" + - ""; - for (i=0; i"; // need fc- for setDayID - } - s += - "" + - "" + - ""; - for (i=0; i"; - for (j=0; j" + // need fc- for setDayID - "
" + - (showNumbers ? - "
" : - '' - ) + - "
" + - "
 
" + - "
" + - "
" + - ""; - } - s += - ""; - } - s += - "
" + - "
"); - var buttonStr = options.header[position]; - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

 

"); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - "" + - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" + - "" + - "" + - "" - ); - if (button) { - button - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - } -}; - - - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); -} - - -function segCmp(a, b) { - return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); -} - - -function segsCollide(seg1, seg2) { - return seg1.end > seg2.start && seg1.start < seg2.end; -} - - - -/* Event Sorting ------------------------------------------------------------------------------*/ - - -// event rendering utilities -function sliceSegs(events, visEventEnds, start, end) { - var segs = [], - i, len=events.length, event, - eventStart, eventEnd, - segStart, segEnd, - isStart, isEnd; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segCmp); -} - - -// event rendering calculation utilities -function stackSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
'); -} - - -function cssKey(_element) { - return _element.id + '/' + _element.className + '/' + _element.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig, ''); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i" + - "
"; - table = $(s).appendTo(element); - - head = table.find('thead'); - headCells = head.find('th'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('td'); - bodyFirstCells = bodyCells.filter(':first-child'); - bodyCellTopInners = bodyRows.eq(0).find('div.fc-day-content div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); // fc-last is done in updateCells - - dayBind(bodyCells); - - daySegmentContainer = - $("
") - .appendTo(element); - } - - - - function updateCells(firstTime) { - var dowDirty = firstTime || rowCnt == 1; // could the cells' day-of-weeks need updating? - var month = t.start.getMonth(); - var today = clearTime(new Date()); - var cell; - var date; - var row; - - if (dowDirty) { - headCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - cell.html(formatDate(date, colFormat)); - setDayID(cell, date); - }); - } - - bodyCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - if (date.getMonth() == month) { - cell.removeClass('fc-other-month'); - }else{ - cell.addClass('fc-other-month'); - } - if (+date == +today) { - cell.addClass(tm + '-state-highlight fc-today'); - }else{ - cell.removeClass(tm + '-state-highlight fc-today'); - } - cell.find('div.fc-day-number').text(date.getDate()); - if (dowDirty) { - setDayID(cell, date); - } - }); - - bodyRows.each(function(i, _row) { - row = $(_row); - if (i < rowCnt) { - row.show(); - if (i == rowCnt-1) { - row.addClass('fc-last'); - }else{ - row.removeClass('fc-last'); - } - }else{ - row.hide(); - } - }); - } - - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - setMinHeight( - cell.find('> div'), - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - } - - - function setWidth(width) { - viewWidth = width; - colContentPositions.clear(); - colWidth = Math.floor(viewWidth / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var index = parseInt(this.className.match(/fc\-day(\d+)/)[1]); // TODO: maybe use .data - var date = indexDate(index); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - var rowStart = cloneDate(t.visStart); - var rowEnd = addDays(cloneDate(rowStart), colCnt); - for (var i=0; i" + - "" + - "" + - " "; - for (i=0; i"; // fc- needed for setDayID - } - s += - " " + - "" + - "" + - "" + - "" + - " "; - for (i=0; i" + // fc- needed for setDayID - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - } - s += - " " + - "" + - "" + - ""; - dayTable = $(s).appendTo(element); - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); - dayBodyCellInners = dayBodyCells.find('div.fc-day-content div'); - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyFirstCell.find('> div'); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - axisFirstCells = dayHead.find('th:first'); - gutterCells = dayTable.find('.fc-agenda-gutter'); - - slotLayer = - $("
") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContent = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContent); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContent); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - } - - - - function updateCells() { - var i; - var headCell; - var bodyCell; - var date; - var today = clearTime(new Date()); - for (i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * opt('slotMinutes')); - } - return d; - } - - - function colDate(col) { // returns dates with 00:00:00 - return addDays(cloneDate(t.visStart), col*dis+dit); - } - - - function cellIsAllDay(cell) { - return opt('allDaySlot') && !cell.row; - } - - - function dayOfWeekCol(dayOfWeek) { - return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt)*dis+dit; - } - - - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = slotTable.find('tr:eq(' + slotI + ') td div')[0].offsetTop; //.position().top; // need this optimization??? - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function allDayBounds() { - return { - left: axisWidth, - right: viewWidth - gutterWidth - } - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dayDiff(startDate, t.visStart) * dis + dit; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - rect.zIndex = 8; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContent); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContent.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) { - var d1 = cellDate(origCell); - var d2 = cellDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), opt('slotMinutes')), - d2, - addMinutes(cloneDate(d2), opt('slotMinutes')) - ].sort(cmp); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dayOfWeekCol(date.getDay())], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (cellIsAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = cellDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui); - } - } - - -} - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.compileDaySegs = compileDaySegs; // for DayEventRenderer - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - t.bindDaySeg = bindDaySeg; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - //var setOverflowHidden = t.setOverflowHidden; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var reportEvents = t.reportEvents; - var reportEventClear = t.reportEventClear; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var renderDaySegs = t.renderDaySegs; - var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSlotHeight = t.getSlotHeight; - var getBodyContent = t.getBodyContent; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - reportEvents(events); - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i" + - "
" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - "
" + - "
" + - htmlEscape(event.title) + - "
" + - "
" + - "
" + - "
"; // close inner - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindDaySeg(event, eventElement, seg) { - if (isEventDraggable(event)) { - draggableDayEvent(event, eventElement, seg.isStart); - } - if (seg.isEnd && isEventResizable(event)) { - resizableDayEvent(event, eventElement, seg); - } - eventElementHandlers(event, eventElement); - // needs to be after, because resizableDayEvent might stopImmediatePropagation on click - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - - function draggableDayEvent(event, eventElement, isStart) { - var origWidth; - var revert; - var allDay=true; - var dayDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - var minMinute = getMinMinute(); - eventElement.draggable({ - zIndex: 9, - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - clearOverlays(); - if (cell) { - //setOverflowHidden(true); - revert = false; - dayDelta = colDelta * dis; - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - slotHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) - / opt('slotMinutes') - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - //setOverflowHidden(false); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / slotHeight) - * opt('slotMinutes') - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - //setOverflowHidden(false); - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var origPosition; - var allDay=false; - var dayDelta; - var minuteDelta; - var prevMinuteDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - eventElement.draggable({ - zIndex: 9, - scroll: false, - grid: [colWidth, slotHeight], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origPosition = eventElement.position(); - minuteDelta = prevMinuteDelta = 0; - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - eventElement.draggable('option', 'revert', !cell); - clearOverlays(); - if (cell) { - dayDelta = colDelta * dis; - if (opt('allDaySlot') && !cell.row) { - // over full days - if (!allDay) { - // convert to temporary all-day event - allDay = true; - timeElement.hide(); - eventElement.draggable('option', 'grid', null); - } - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - }else{ - // on slots - resetElement(); - } - } - }, ev, 'drag'); - }, - drag: function(ev, ui) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / slotHeight) * opt('slotMinutes'); - if (minuteDelta != prevMinuteDelta) { - if (!allDay) { - updateTimeText(minuteDelta); - } - prevMinuteDelta = minuteDelta; - } - }, - stop: function(ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (cell && (dayDelta || minuteDelta || allDay)) { - // changed! - eventDrop(this, event, dayDelta, allDay ? 0 : minuteDelta, allDay, ev, ui); - }else{ - // either no change or out-of-bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position - updateTimeText(0); - showEvents(event, eventElement); - } - } - }); - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - function resetElement() { - // convert back to original slot-event - if (allDay) { - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, slotHeight]); - allDay = false; - } - } - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var slotDelta, prevSlotDelta; - var slotHeight = getSlotHeight(); - eventElement.resizable({ - handles: { - s: 'div.ui-resizable-s' - }, - grid: slotHeight, - start: function(ev, ui) { - slotDelta = prevSlotDelta = 0; - hideEvents(event, eventElement); - eventElement.css('z-index', 9); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - slotDelta = Math.round((Math.max(slotHeight, eventElement.height()) - ui.originalSize.height) / slotHeight); - if (slotDelta != prevSlotDelta) { - timeElement.text( - formatDates( - event.start, - (!slotDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), opt('slotMinutes')*slotDelta), - opt('timeFormat') - ) - ); - prevSlotDelta = slotDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (slotDelta) { - eventResize(this, event, 0, opt('slotMinutes')*slotDelta, ev, ui); - }else{ - eventElement.css('z-index', 8); - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - -function countForwardSegs(levels) { - var i, j, k, level, segForward, segBack; - for (i=levels.length-1; i>0; i--) { - level = levels[i]; - for (j=0; j"); - var elements; - var segmentContainer = getDaySegmentContainer(); - var i; - var segCnt = segs.length; - var element; - tempContainer[0].innerHTML = daySegHTML(segs); // faster than .html() - elements = tempContainer.children(); - segmentContainer.append(elements); - daySegElementResolve(segs, elements); - daySegCalcHSides(segs); - daySegSetWidths(segs); - daySegCalcHeights(segs); - daySegSetTops(segs, getRowTops(getRowDivs())); - elements = []; - for (i=0; i" + - ""; - if (!event.allDay && seg.isStart) { - html += - "" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - ""; - } - html += - "" + htmlEscape(event.title) + "" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
" + - "   " + // makes hit area a lot better for IE6/7 - "
"; - } - html += - ""; - seg.left = left; - seg.outerWidth = right - left; - seg.startCol = leftCol; - seg.endCol = rightCol + 1; // needs to be exclusive - } - return html; - } - - - function daySegElementResolve(segs, elements) { // sets seg.element - var i; - var segCnt = segs.length; - var seg; - var event; - var element; - var triggerRes; - for (i=0; i div'); // optimal selector? - } - return rowDivs; - } - - - function getRowTops(rowDivs) { - var i; - var rowCnt = rowDivs.length; - var tops = []; - for (i=0; i selection for IE - element - .mousedown(function(ev) { // prevent native selection for others - ev.preventDefault(); - }) - .click(function(ev) { - if (isResizing) { - ev.preventDefault(); // prevent link from being visited (only method that worked in IE6) - ev.stopImmediatePropagation(); // prevent fullcalendar eventClick handler from being called - // (eventElementHandlers needs to be bound after resizableDayEvent) - } - }); - - handle.mousedown(function(ev) { - if (ev.which != 1) { - return; // needs to be left mouse button - } - isResizing = true; - var hoverListener = t.getHoverListener(); - var rowCnt = getRowCnt(); - var colCnt = getColCnt(); - var dis = rtl ? -1 : 1; - var dit = rtl ? colCnt-1 : 0; - var elementTop = element.css('top'); - var dayDelta; - var helpers; - var eventCopy = $.extend({}, event); - var minCell = dateCell(event.start); - clearSelection(); - $('body') - .css('cursor', direction + '-resize') - .one('mouseup', mouseup); - trigger('eventResizeStart', this, event, ev); - hoverListener.start(function(cell, origCell) { - if (cell) { - var r = Math.max(minCell.row, cell.row); - var c = cell.col; - if (rowCnt == 1) { - r = 0; // hack for all-day area in agenda views - } - if (r == minCell.row) { - if (rtl) { - c = Math.min(minCell.col, c); - }else{ - c = Math.max(minCell.col, c); - } - } - dayDelta = (r*7 + c*dis+dit) - (origCell.row*7 + origCell.col*dis+dit); - var newEnd = addDays(eventEnd(event), dayDelta, true); - if (dayDelta) { - eventCopy.end = newEnd; - var oldHelpers = helpers; - helpers = renderTempDaySegs(compileDaySegs([eventCopy]), seg.row, elementTop); - helpers.find('*').css('cursor', direction + '-resize'); - if (oldHelpers) { - oldHelpers.remove(); - } - hideEvents(event); - }else{ - if (helpers) { - showEvents(event); - helpers.remove(); - helpers = null; - } - } - clearOverlays(); - renderDayOverlay(event.start, addDays(cloneDate(newEnd), 1)); // coordinate grid already rebuild at hoverListener.start - } - }, ev); - - function mouseup(ev) { - trigger('eventResizeStop', this, event, ev); - $('body').css('cursor', ''); - hoverListener.stop(); - clearOverlays(); - if (dayDelta) { - eventResize(this, event, dayDelta, 0, ev); - // event redraw will clear helpers - } - // otherwise, the drag handler already restored the old events - - setTimeout(function() { // make this happen after the element's click event - isResizing = false; - },0); - } - - }); - } - - -} - -//BUG: unselect needs to be triggered when events are dragged+dropped - -function SelectionManager() { - var t = this; - - - // exports - t.select = select; - t.unselect = unselect; - t.reportSelection = reportSelection; - t.daySelectionMousedown = daySelectionMousedown; - - - // imports - var opt = t.opt; - var trigger = t.trigger; - var defaultSelectionEnd = t.defaultSelectionEnd; - var renderSelection = t.renderSelection; - var clearSelection = t.clearSelection; - - - // locals - var selected = false; - - - - // unselectAuto - if (opt('selectable') && opt('unselectAuto')) { - $(document).mousedown(function(ev) { - var ignore = opt('unselectCancel'); - if (ignore) { - if ($(ev.target).parents(ignore).length) { // could be optimized to stop after first match - return; - } - } - unselect(ev); - }); - } - - - function select(startDate, endDate, allDay) { - unselect(); - if (!endDate) { - endDate = defaultSelectionEnd(startDate, allDay); - } - renderSelection(startDate, endDate, allDay); - reportSelection(startDate, endDate, allDay); - } - - - function unselect(ev) { - if (selected) { - selected = false; - clearSelection(); - trigger('unselect', null, ev); - } - } - - - function reportSelection(startDate, endDate, allDay, ev) { - selected = true; - trigger('select', null, startDate, endDate, allDay, ev); - } - - - function daySelectionMousedown(ev) { // not really a generic manager method, oh well - var cellDate = t.cellDate; - var cellIsAllDay = t.cellIsAllDay; - var hoverListener = t.getHoverListener(); - var reportDayClick = t.reportDayClick; // this is hacky and sort of weird - if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button - unselect(ev); - var _mousedownElement = this; - var dates; - hoverListener.start(function(cell, origCell) { // TODO: maybe put cellDate/cellIsAllDay info in cell - clearSelection(); - if (cell && cellIsAllDay(cell)) { - dates = [ cellDate(origCell), cellDate(cell) ].sort(cmp); - renderSelection(dates[0], dates[1], true); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], true, ev); - } - reportSelection(dates[0], dates[1], true, ev); - } - }); - } - } - - -} - -function OverlayManager() { - var t = this; - - - // exports - t.renderOverlay = renderOverlay; - t.clearOverlays = clearOverlays; - - - // locals - var usedOverlays = []; - var unusedOverlays = []; - - - function renderOverlay(rect, parent) { - var e = unusedOverlays.shift(); - if (!e) { - e = $("
"); - } - if (e[0].parentNode != parent[0]) { - e.appendTo(parent); - } - usedOverlays.push(e.css(rect).show()); - return e; - } - - - function clearOverlays() { - var e; - while (e = usedOverlays.shift()) { - unusedOverlays.push(e.hide().unbind()); - } - } - - -} - -function CoordinateGrid(buildFunc) { - - var t = this; - var rows; - var cols; - - - t.build = function() { - rows = []; - cols = []; - buildFunc(rows, cols); - }; - - - t.cell = function(x, y) { - var rowCnt = rows.length; - var colCnt = cols.length; - var i, r=-1, c=-1; - for (i=0; i= rows[i][0] && y < rows[i][1]) { - r = i; - break; - } - } - for (i=0; i= cols[i][0] && x < cols[i][1]) { - c = i; - break; - } - } - return (r>=0 && c>=0) ? { row:r, col:c } : null; - }; - - - t.rect = function(row0, col0, row1, col1, originElement) { // row1,col1 is inclusive - var origin = originElement.offset(); - return { - top: rows[row0][0] - origin.top, - left: cols[col0][0] - origin.left, - width: cols[col1][1] - cols[col0][0], - height: rows[row1][1] - rows[row0][0] - }; - }; - -} - -function HoverListener(coordinateGrid) { - - - var t = this; - var bindType; - var change; - var firstCell; - var cell; - - - t.start = function(_change, ev, _bindType) { - change = _change; - firstCell = cell = null; - coordinateGrid.build(); - mouse(ev); - bindType = _bindType || 'mousemove'; - $(document).bind(bindType, mouse); - }; - - - function mouse(ev) { - _fixUIEvent(ev); // see below - var newCell = coordinateGrid.cell(ev.pageX, ev.pageY); - if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) { - if (newCell) { - if (!firstCell) { - firstCell = newCell; - } - change(newCell, firstCell, newCell.row-firstCell.row, newCell.col-firstCell.col); - }else{ - change(newCell, firstCell); - } - cell = newCell; - } - } - - - t.stop = function() { - $(document).unbind(bindType, mouse); - return cell; - }; - - -} - - - -// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1) -// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem -// but keep this in here for 1.8.16 users -// and maybe remove it down the line - -function _fixUIEvent(event) { // for issue 1168 - if (event.pageX === undefined) { - event.pageX = event.originalEvent.pageX; - event.pageY = event.originalEvent.pageY; - } -} -function HorizontalPositionCache(getElement) { - - var t = this, - elements = {}, - lefts = {}, - rights = {}; - - function e(i) { - return elements[i] = elements[i] || getElement(i); - } - - t.left = function(i) { - return lefts[i] = lefts[i] === undefined ? e(i).position().left : lefts[i]; - }; - - t.right = function(i) { - return rights[i] = rights[i] === undefined ? t.left(i) + e(i).width() : rights[i]; - }; - - t.clear = function() { - elements = {}; - lefts = {}; - rights = {}; - }; - -} - -})(jQuery); diff --git a/www/plugins/fullcalendar/fullcalendar.min.js b/www/plugins/fullcalendar/fullcalendar.min.js deleted file mode 100644 index 67d604528..000000000 --- a/www/plugins/fullcalendar/fullcalendar.min.js +++ /dev/null @@ -1,114 +0,0 @@ -/* - - FullCalendar v1.5.3 - http://arshaw.com/fullcalendar/ - - Use fullcalendar.css for basic styling. - For event drag & drop, requires jQuery UI draggable. - For event resizing, requires jQuery UI resizable. - - Copyright (c) 2011 Adam Shaw - Dual licensed under the MIT and GPL licenses, located in - MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - - Date: Mon Feb 6 22:40:40 2012 -0800 - -*/ -(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("
").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy(); -E.remove();a.removeClass("fc fc-rtl ui-widget")}function j(){return i.offsetWidth!==0}function t(){return m("body")[0].offsetWidth!==0}function y(k){if(!n||k!=n.name){F++;pa();var D=n,Z;if(D){(D.beforeHide||xb)();Za(E,E.height());D.element.hide()}else Za(E,1);E.css("overflow","hidden");if(n=Y[k])n.element.show();else n=Y[k]=new Ja[k](Z=s=m("
").appendTo(E),X);D&&C.deactivateButton(D.name);C.activateButton(k);S();E.css("overflow","");D&& -Za(E,1);Z||(n.afterShow||xb)();F--}}function S(k){if(j()){F++;pa();o===ma&&u();var D=false;if(!n.start||k||r=n.end){n.render(r,k||0);fa(true);D=true}else if(n.sizeDirty){n.clearEvents();fa();D=true}else if(n.eventsDirty){n.clearEvents();D=true}n.sizeDirty=false;n.eventsDirty=false;ga(D);W=a.outerWidth();C.updateTitle(n.title);k=new Date;k>=n.start&&k").append(m("").append(f("left")).append(f("center")).append(f("right")))}function d(){Q.remove()}function f(u){var fa=m("");(u=b.header[u])&&m.each(u.split(" "),function(oa){oa>0&&fa.append("");var ga; -m.each(this.split(","),function(ra,sa){if(sa=="title"){fa.append("

 

");ga&&ga.addClass(q+"-corner-right");ga=null}else{var ha;if(a[sa])ha=a[sa];else if(Ja[sa])ha=function(){na.removeClass(q+"-state-hover");a.changeView(sa)};if(ha){ra=b.theme?jb(b.buttonIcons,sa):null;var da=jb(b.buttonText,sa),na=m(""+(ra?"":da)+"");if(na){na.click(function(){na.hasClass(q+"-state-disabled")||ha()}).mousedown(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-down")}).mouseup(function(){na.removeClass(q+"-state-down")}).hover(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-hover")},function(){na.removeClass(q+"-state-hover").removeClass(q+"-state-down")}).appendTo(fa); -ga||na.addClass(q+"-corner-left");ga=na}}}});ga&&ga.addClass(q+"-corner-right")});return fa}function g(u){Q.find("h2").html(u)}function l(u){Q.find("span.fc-button-"+u).addClass(q+"-state-active")}function j(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-active")}function t(u){Q.find("span.fc-button-"+u).addClass(q+"-state-disabled")}function y(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-disabled")}var S=this;S.render=e;S.destroy=d;S.updateTitle=g;S.activateButton=l;S.deactivateButton= -j;S.disableButton=t;S.enableButton=y;var Q=m([]),q}function $b(a,b){function e(c,z){return!ca||cka}function d(c,z){ca=c;ka=z;L=[];c=++qa;G=z=U.length;for(var H=0;Hl;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.starte&&td){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e=0;e--){d=a[b[e].toLowerCase()];if(d!== -ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")} -function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a= -[a];if(a){var d,f;for(d=0;d";for(aa=0;aa";R+="";for(aa=0;aa";for(V=0;V
"+(I?"
":"")+"
 
";R+=""}R+="";w= -m(R).appendTo(a);K=w.find("thead");i=K.find("th");C=w.find("tbody");P=C.find("tr");E=C.find("td");B=E.filter(":first-child");n=P.eq(0).find("div.fc-day-content div");ab(K.add(K.find("tr")));ab(P);P.eq(0).addClass("fc-first");y(E);Y=m("
").appendTo(a)}function l(w){var I=w||v==1,R=p.start.getMonth(),V=Ka(new Date),ea,aa,va;I&&i.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);ea.html(ya(aa,$));rb(ea,aa)});E.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);aa.getMonth()== -R?ea.removeClass("fc-other-month"):ea.addClass("fc-other-month");+aa==+V?ea.addClass(la+"-state-highlight fc-today"):ea.removeClass(la+"-state-highlight fc-today");ea.find("div.fc-day-number").text(aa.getDate());I&&rb(ea,aa)});P.each(function(wa,Ga){va=m(Ga);if(wa div"),(ea==v-1?R:I)-Sa(V))}})}function t(w){W=w;M.clear();s=Math.floor(W/F);Va(i.slice(0,-1),s)}function y(w){w.click(S).mousedown(X)}function S(w){if(!L("selectable")){var I=parseInt(this.className.match(/fc\-day(\d+)/)[1]);I=ca(I);c("dayClick",this,I,true,w)}}function Q(w,I,R){R&&r.build();R=N(p.visStart);for(var V=ba(N(R),F),ea=0;ea ";for(A=0;A";x+="  ";for(A=0;A
 
";x+=" ";v=m(x).appendTo(a);F=v.find("thead");r=F.find("th").slice(1,-1);J=v.find("tbody");M=J.find("td").slice(0,-1);k=M.find("div.fc-day-content div");D=M.eq(0);Z=D.find("> div");ab(F.add(F.find("tr")));ab(J.add(J.find("tr")));aa=F.find("th:first");va=v.find(".fc-agenda-gutter");ja=m("
").appendTo(a); -if(i("allDaySlot")){ia=m("
").appendTo(ja);x="
"+i("allDayText")+"
 
";la=m(x).appendTo(ja);$=la.find("tr");q($.find("td"));aa=aa.add(la.find("th:first"));va=va.add(la.find("th.fc-agenda-gutter"));ja.append("
")}else ia=m([]);w=m("
").appendTo(ja);I=m("
").appendTo(w);R=m("
").appendTo(I);x="";ta=zb();za=xa(N(ta),bb);xa(ta,La);for(A=tb=0;ta";xa(ta,i("slotMinutes"));tb++}x+="
"+(!Ea||!Da?s(ta,i("axisFormat")):" ")+"
 
";V=m(x).appendTo(I);ea=V.find("div:first");u(V.find("td"));aa=aa.add(V.find("th:first"))}function l(){var h,O,x,A,ta=Ka(new Date);for(h=0;h=0&&xa(O,La+h*i("slotMinutes"));return O}function ua(h){return ba(N(K.visStart),h*Ha+Ia)}function pa(h){return i("allDaySlot")&&!h.row}function U(h){return(h-Math.max(Tb,Sb)+Ba)%Ba*Ha+Ia}function ca(h,O){h=N(h,true);if(O=xa(N(h),bb))return V.height(); -h=i("slotMinutes");O=O.getHours()*60+O.getMinutes()-La;var x=Math.floor(O/h),A=ub[x];if(A===ma)A=ub[x]=V.find("tr:eq("+x+") td div")[0].offsetTop;return Math.max(0,Math.round(A-1+Xa*(O%h/h)))}function ka(){return{left:Ma,right:Ga-vb}}function qa(){return $}function G(h){var O=N(h.start);if(h.allDay)return O;return xa(O,i("defaultEventMinutes"))}function p(h,O){if(O)return N(h);return xa(N(h),i("slotMinutes"))}function L(h,O,x){if(x)i("allDaySlot")&&oa(h,ba(N(O),1),true);else c(h,O)}function c(h,O){var x= -i("selectHelper");Na.build();if(x){var A=Ca(h,K.visStart)*Ha+Ia;if(A>=0&&Ata){A.top=ta;A.height=za-ta;A.left+=2;A.width-=5;if(m.isFunction(x)){if(h=x(h,O)){A.position="absolute";A.zIndex=8;wa=m(h).css(A).appendTo(I)}}else{A.isStart=true;A.isEnd=true;wa=m(o({title:"",start:h,end:O,className:["fc-select-helper"],editable:false},A));wa.css("opacity",i("dragOpacity"))}if(wa){u(wa);I.append(wa);Va(wa,A.width,true);Eb(wa,A.height,true)}}}}else ra(h, -O)}function z(){B();if(wa){wa.remove();wa=null}}function H(h){if(h.which==1&&i("selectable")){Y(h);var O;Ra.start(function(x,A){z();if(x&&x.col==A.col&&!pa(x)){A=na(A);x=na(x);O=[A,xa(N(A),i("slotMinutes")),x,xa(N(x),i("slotMinutes"))].sort(Gb);c(O[0],O[3])}else O=null},h);m(document).one("mouseup",function(x){Ra.stop();if(O){+O[0]==+O[1]&&T(O[0],false,x);n(O[0],O[3],false,x)}})}}function T(h,O,x){C("dayClick",M[U(h.getDay())],h,O,x)}function X(h,O){Ra.start(function(x){B();if(x)if(pa(x))ga(x.row, -x.col,x.row,x.col);else{x=na(x);var A=xa(N(x),i("defaultEventMinutes"));ra(x,A)}},O)}function ya(h,O,x){var A=Ra.stop();B();A&&C("drop",h,na(A),pa(A),O,x)}var K=this;K.renderAgenda=d;K.setWidth=t;K.setHeight=j;K.beforeHide=S;K.afterShow=Q;K.defaultEventEnd=G;K.timePosition=ca;K.dayOfWeekCol=U;K.dateCell=da;K.cellDate=na;K.cellIsAllDay=pa;K.allDayRow=qa;K.allDayBounds=ka;K.getHoverListener=function(){return Ra};K.colContentLeft=sa;K.colContentRight=ha;K.getDaySegmentContainer=function(){return ia}; -K.getSlotSegmentContainer=function(){return R};K.getMinMinute=function(){return La};K.getMaxMinute=function(){return bb};K.getBodyContent=function(){return I};K.getRowCnt=function(){return 1};K.getColCnt=function(){return Ba};K.getColWidth=function(){return db};K.getSlotHeight=function(){return Xa};K.defaultSelectionEnd=p;K.renderDayOverlay=oa;K.renderSelection=L;K.clearSelection=z;K.reportDayClick=T;K.dragStart=X;K.dragStop=ya;Kb.call(K,a,b,e);Lb.call(K);Mb.call(K);sc.call(K);var i=K.opt,C=K.trigger, -P=K.clearEvents,E=K.renderOverlay,B=K.clearOverlays,n=K.reportSelection,Y=K.unselect,W=K.daySelectionMousedown,o=K.slotSegHtml,s=b.formatDate,v,F,r,J,M,k,D,Z,ja,ia,la,$,w,I,R,V,ea,aa,va,wa,Ga,Wb,Ma,db,vb,Xa,Xb,Ba,tb,Na,Ra,cb,ub={},Wa,Tb,Sb,Ub,Ha,Ia,La,bb,Vb;qb(a.addClass("fc-agenda"));Na=new Nb(function(h,O){function x(eb){return Math.max(Ea,Math.min(tc,eb))}var A,ta,za;r.each(function(eb,uc){A=m(uc);ta=A.offset().left;if(eb)za[1]=ta;za=[ta];O[eb]=za});za[1]=ta+A.outerWidth();if(i("allDaySlot")){A= -$;ta=A.offset().top;h[0]=[ta,ta+A.outerHeight()]}for(var Da=I.offset().top,Ea=w.offset().top,tc=Ea+w.outerHeight(),fb=0;fb
"+Qa(W(o.start,o.end,u("timeFormat")))+"
"+Qa(o.title)+"
";if(s.isEnd&&ga(o))v+="
=
"; -v+="";return v}function j(o,s,v){oa(o)&&y(o,s,v.isStart);v.isEnd&&ga(o)&&c(o,s,v);da(o,s)}function t(o,s,v){var F=s.find("div.fc-event-time");oa(o)&&S(o,s,F);v.isEnd&&ga(o)&&Q(o,s,F);da(o,s)}function y(o,s,v){function F(){if(!M){s.width(r).height("").draggable("option","grid",null);M=true}}var r,J,M=true,k,D=u("isRTL")?-1:1,Z=U(),ja=H(),ia=T(),la=ka();s.draggable({zIndex:9,opacity:u("dragOpacity","month"),revertDuration:u("dragRevertDuration"),start:function($,w){fa("eventDragStart", -s,o,$,w);i(o,s);r=s.width();Z.start(function(I,R,V,ea){B();if(I){J=false;k=ea*D;if(I.row)if(v){if(M){s.width(ja-10);Eb(s,ia*Math.round((o.end?(o.end-o.start)/wc:u("defaultEventMinutes"))/u("slotMinutes")));s.draggable("option","grid",[ja,1]);M=false}}else J=true;else{E(ba(N(o.start),k),ba(Ua(o),k));F()}J=J||M&&!k}else{F();J=true}s.draggable("option","revert",J)},$,"drag")},stop:function($,w){Z.stop();B();fa("eventDragStop",s,o,$,w);if(J){F();s.css("filter","");K(o,s)}else{var I=0;M||(I=Math.round((s.offset().top- -X().offset().top)/ia)*u("slotMinutes")+la-(o.start.getHours()*60+o.start.getMinutes()));C(this,o,k,I,M,$,w)}}})}function S(o,s,v){function F(I){var R=xa(N(o.start),I),V;if(o.end)V=xa(N(o.end),I);v.text(W(R,V,u("timeFormat")))}function r(){if(M){v.css("display","");s.draggable("option","grid",[$,w]);M=false}}var J,M=false,k,D,Z,ja=u("isRTL")?-1:1,ia=U(),la=z(),$=H(),w=T();s.draggable({zIndex:9,scroll:false,grid:[$,w],axis:la==1?"y":false,opacity:u("dragOpacity"),revertDuration:u("dragRevertDuration"), -start:function(I,R){fa("eventDragStart",s,o,I,R);i(o,s);J=s.position();D=Z=0;ia.start(function(V,ea,aa,va){s.draggable("option","revert",!V);B();if(V){k=va*ja;if(u("allDaySlot")&&!V.row){if(!M){M=true;v.hide();s.draggable("option","grid",null)}E(ba(N(o.start),k),ba(Ua(o),k))}else r()}},I,"drag")},drag:function(I,R){D=Math.round((R.position.top-J.top)/w)*u("slotMinutes");if(D!=Z){M||F(D);Z=D}},stop:function(I,R){var V=ia.stop();B();fa("eventDragStop",s,o,I,R);if(V&&(k||D||M))C(this,o,k,M?0:D,M,I,R); -else{r();s.css("filter","");s.css(J);F(0);K(o,s)}}})}function Q(o,s,v){var F,r,J=T();s.resizable({handles:{s:"div.ui-resizable-s"},grid:J,start:function(M,k){F=r=0;i(o,s);s.css("z-index",9);fa("eventResizeStart",this,o,M,k)},resize:function(M,k){F=Math.round((Math.max(J,s.height())-k.originalSize.height)/J);if(F!=r){v.text(W(o.start,!F&&!o.end?null:xa(ra(o),u("slotMinutes")*F),u("timeFormat")));r=F}},stop:function(M,k){fa("eventResizeStop",this,o,M,k);if(F)P(this,o,0,u("slotMinutes")*F,M,k);else{s.css("z-index", -8);K(o,s)}}})}var q=this;q.renderEvents=a;q.compileDaySegs=e;q.clearEvents=b;q.slotSegHtml=l;q.bindDaySeg=j;Qb.call(q);var u=q.opt,fa=q.trigger,oa=q.isEventDraggable,ga=q.isEventResizable,ra=q.eventEnd,sa=q.reportEvents,ha=q.reportEventClear,da=q.eventElementHandlers,na=q.setHeight,ua=q.getDaySegmentContainer,pa=q.getSlotSegmentContainer,U=q.getHoverListener,ca=q.getMaxMinute,ka=q.getMinMinute,qa=q.timePosition,G=q.colContentLeft,p=q.colContentRight,L=q.renderDaySegs,c=q.resizableDayEvent,z=q.getColCnt, -H=q.getColWidth,T=q.getSlotHeight,X=q.getBodyContent,ya=q.reportEventElement,K=q.showEvents,i=q.hideEvents,C=q.eventDrop,P=q.eventResize,E=q.renderDayOverlay,B=q.clearOverlays,n=q.calendar,Y=n.formatDate,W=n.formatDates}function vc(a){var b,e,d,f,g,l;for(b=a.length-1;b>0;b--){f=a[b];for(e=0;e"),B=z(),n=i.length,Y;E[0].innerHTML=e(i);E=E.children();B.append(E);d(i,E);l(i);j(i);t(i);Q(i,S(y()));E=[];for(B=0;B
";if(!n.allDay&&B.isStart)k+=""+Qa(T(n.start,n.end,fa("timeFormat")))+"";k+=""+Qa(n.title)+"
";if(B.isEnd&&ra(n))k+="
   
";k+="";B.left=r;B.outerWidth=J-r;B.startCol=v;B.endCol=F+1}return k}function d(i,C){var P,E=i.length,B,n,Y;for(P=0;P div");return P}function S(i){var C,P=i.length,E=[];for(C=0;C"));j[0].parentNode!=l[0]&&j.appendTo(l);d.push(j.css(g).show());return j}function b(){for(var g;g=d.shift();)f.push(g.hide().unbind())}var e=this;e.renderOverlay=a;e.clearOverlays=b;var d=[],f=[]}function Nb(a){var b=this,e,d;b.build=function(){e=[];d=[];a(e,d)};b.cell=function(f,g){var l=e.length,j=d.length, -t,y=-1,S=-1;for(t=0;t=e[t][0]&&g=d[t][0]&&f=0&&S>=0?{row:y,col:S}:null};b.rect=function(f,g,l,j,t){t=t.offset();return{top:e[f][0]-t.top,left:d[g][0]-t.left,width:d[j][1]-d[g][0],height:e[l][1]-e[f][0]}}}function Ob(a){function b(j){xc(j);j=a.cell(j.pageX,j.pageY);if(!j!=!l||j&&(j.row!=l.row||j.col!=l.col)){if(j){g||(g=j);f(j,g,j.row-g.row,j.col-g.col)}else f(j,g);l=j}}var e=this,d,f,g,l;e.start=function(j,t,y){f=j; -g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35, -header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '—'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan", -"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:" ◄ ",next:" ► ",prevYear:" << ",nextYear:" >> ",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc= -{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:" ► ",next:" ◄ ",prevYear:" >> ",nextYear:" << "},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.3"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f, -b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601= -Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())}, -ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()< -12?"A":"P"},TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"ganztägig",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0, -maxTime:24})})(jQuery); diff --git a/www/plugins/fullcalendar/fullcalendar.print.css b/www/plugins/fullcalendar/fullcalendar.print.css deleted file mode 100644 index e11c18163..000000000 --- a/www/plugins/fullcalendar/fullcalendar.print.css +++ /dev/null @@ -1,61 +0,0 @@ -/* - * FullCalendar v1.5.3 Print Stylesheet - * - * Include this stylesheet on your page to get a more printer-friendly calendar. - * When including this stylesheet, use the media='print' attribute of the tag. - * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css. - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - - - /* Events ------------------------------------------------------*/ - -.fc-event-skin { - background: none !important; - color: #000 !important; - } - -/* horizontal events */ - -.fc-event-hori { - border-width: 0 0 1px 0 !important; - border-bottom-style: dotted !important; - border-bottom-color: #000 !important; - padding: 1px 0 0 0 !important; - } - -.fc-event-hori .fc-event-inner { - border-width: 0 !important; - padding: 0 1px !important; - } - -/* vertical events */ - -.fc-event-vert { - border-width: 0 0 0 1px !important; - border-left-style: dotted !important; - border-left-color: #000 !important; - padding: 0 1px 0 0 !important; - } - -.fc-event-vert .fc-event-inner { - border-width: 0 !important; - padding: 1px 0 !important; - } - -.fc-event-bg { - display: none !important; - } - -.fc-event .ui-resizable-handle { - display: none !important; - } - - diff --git a/www/plugins/fullcalendar/gcal.js b/www/plugins/fullcalendar/gcal.js deleted file mode 100644 index e9bbe26d8..000000000 --- a/www/plugins/fullcalendar/gcal.js +++ /dev/null @@ -1,112 +0,0 @@ -/* - * FullCalendar v1.5.3 Google Calendar Plugin - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Mon Feb 6 22:40:40 2012 -0800 - * - */ - -(function($) { - - -var fc = $.fullCalendar; -var formatDate = fc.formatDate; -var parseISO8601 = fc.parseISO8601; -var addDays = fc.addDays; -var applyAll = fc.applyAll; - - -fc.sourceNormalizers.push(function(sourceOptions) { - if (sourceOptions.dataType == 'gcal' || - sourceOptions.dataType === undefined && - (sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) { - sourceOptions.dataType = 'gcal'; - if (sourceOptions.editable === undefined) { - sourceOptions.editable = false; - } - } -}); - - -fc.sourceFetchers.push(function(sourceOptions, start, end) { - if (sourceOptions.dataType == 'gcal') { - return transformOptions(sourceOptions, start, end); - } -}); - - -function transformOptions(sourceOptions, start, end) { - - var success = sourceOptions.success; - var data = $.extend({}, sourceOptions.data || {}, { - 'start-min': formatDate(start, 'u'), - 'start-max': formatDate(end, 'u'), - 'singleevents': true, - 'max-results': 9999 - }); - - var ctz = sourceOptions.currentTimezone; - if (ctz) { - data.ctz = ctz = ctz.replace(' ', '_'); - } - - return $.extend({}, sourceOptions, { - url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?', - dataType: 'jsonp', - data: data, - startParam: false, - endParam: false, - success: function(data) { - var events = []; - if (data.feed.entry) { - $.each(data.feed.entry, function(i, entry) { - var startStr = entry['gd$when'][0]['startTime']; - var start = parseISO8601(startStr, true); - var end = parseISO8601(entry['gd$when'][0]['endTime'], true); - var allDay = startStr.indexOf('T') == -1; - var url; - $.each(entry.link, function(i, link) { - if (link.type == 'text/html') { - url = link.href; - if (ctz) { - url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz; - } - } - }); - if (allDay) { - addDays(end, -1); // make inclusive - } - events.push({ - id: entry['gCal$uid']['value'], - title: entry['title']['$t'], - url: url, - start: start, - end: end, - allDay: allDay, - location: entry['gd$where'][0]['valueString'], - description: entry['content']['$t'] - }); - }); - } - var args = [events].concat(Array.prototype.slice.call(arguments, 1)); - var res = applyAll(success, this, args); - if ($.isArray(res)) { - return res; - } - return events; - } - }); - -} - - -// legacy -fc.gcalFeed = function(url, sourceOptions) { - return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' }); -}; - - -})(jQuery); From a3db2b36886bb838455374cd9a04bd712399b2d4 Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Mon, 9 Mar 2026 10:08:59 +0100 Subject: [PATCH 10/15] Remove unused and outdated EtsyApi --- .../Credential/AbstractCredentialData.php | 98 --------- .../Credential/ClientCredentialData.php | 7 - .../Credential/CredentialDataInterface.php | 16 -- .../Credential/TemporaryCredentialData.php | 7 - .../Credential/TokenCredentialData.php | 7 - classes/Modules/EtsyApi/EtsyOAuthHelper.php | 147 -------------- .../EtsyApi/Exception/CredentialException.php | 9 - .../Exception/EtsyApiExceptionInterface.php | 9 - .../EtsyApi/Exception/EtsyOAuthException.php | 9 - classes/Modules/EtsyApi/docs/oauth-example.md | 96 --------- composer.json | 3 +- composer.lock | 55 +---- vendor/composer/autoload_classmap.php | 10 - vendor/composer/autoload_files.php | 2 +- vendor/composer/autoload_psr4.php | 1 - vendor/composer/autoload_static.php | 20 +- vendor/composer/installed.json | 56 ----- vendor/composer/installed.php | 9 - vendor/y0lk/oauth1-etsy/.gitignore | 2 - vendor/y0lk/oauth1-etsy/.travis.yml | 15 -- vendor/y0lk/oauth1-etsy/LICENSE.md | 22 -- vendor/y0lk/oauth1-etsy/README.md | 37 ---- vendor/y0lk/oauth1-etsy/composer.json | 32 --- vendor/y0lk/oauth1-etsy/phpunit.xml | 18 -- vendor/y0lk/oauth1-etsy/src/Etsy.php | 192 ------------------ vendor/y0lk/oauth1-etsy/tests/EtsyTest.php | 27 --- 26 files changed, 4 insertions(+), 902 deletions(-) delete mode 100644 classes/Modules/EtsyApi/Credential/AbstractCredentialData.php delete mode 100644 classes/Modules/EtsyApi/Credential/ClientCredentialData.php delete mode 100644 classes/Modules/EtsyApi/Credential/CredentialDataInterface.php delete mode 100644 classes/Modules/EtsyApi/Credential/TemporaryCredentialData.php delete mode 100644 classes/Modules/EtsyApi/Credential/TokenCredentialData.php delete mode 100644 classes/Modules/EtsyApi/EtsyOAuthHelper.php delete mode 100644 classes/Modules/EtsyApi/Exception/CredentialException.php delete mode 100644 classes/Modules/EtsyApi/Exception/EtsyApiExceptionInterface.php delete mode 100644 classes/Modules/EtsyApi/Exception/EtsyOAuthException.php delete mode 100644 classes/Modules/EtsyApi/docs/oauth-example.md delete mode 100644 vendor/y0lk/oauth1-etsy/.gitignore delete mode 100644 vendor/y0lk/oauth1-etsy/.travis.yml delete mode 100644 vendor/y0lk/oauth1-etsy/LICENSE.md delete mode 100644 vendor/y0lk/oauth1-etsy/README.md delete mode 100644 vendor/y0lk/oauth1-etsy/composer.json delete mode 100644 vendor/y0lk/oauth1-etsy/phpunit.xml delete mode 100644 vendor/y0lk/oauth1-etsy/src/Etsy.php delete mode 100644 vendor/y0lk/oauth1-etsy/tests/EtsyTest.php diff --git a/classes/Modules/EtsyApi/Credential/AbstractCredentialData.php b/classes/Modules/EtsyApi/Credential/AbstractCredentialData.php deleted file mode 100644 index 141814481..000000000 --- a/classes/Modules/EtsyApi/Credential/AbstractCredentialData.php +++ /dev/null @@ -1,98 +0,0 @@ -identifier = $identifier; - $this->secret = $secret; - } - - /** - * @param string $string - * - * @throws CredentialException - * - * @return static - */ - public static function fromString($string) - { - $base64Raw = strtr($string, '-_', '+/'); - $jsonString = base64_decode($base64Raw, true); - - $data = json_decode($jsonString, true); - - if (!isset($data['class'])) { - throw new CredentialException('Can not create credentials object from string. Class property is missing.'); - } - if ($data['class'] !== static::class) { - throw new CredentialException('Can not create credentials object from string. Class does not match.'); - } - - return static::fromArray($data); - } - - /** - * @param array $credentials - * - * @return static - */ - public static function fromArray(array $credentials) - { - return new static($credentials['identifier'], $credentials['secret']); - } - - /** - * @return string - */ - public function getIdentifier() - { - return $this->identifier; - } - - /** - * @return string - */ - public function getSecret() - { - return $this->secret; - } - - /** - * @return string - */ - public function toString() - { - $data = [ - 'identifier' => $this->identifier, - 'secret' => $this->secret, - 'class' => static::class, - ]; - $base64Raw = base64_encode(json_encode($data, JSON_HEX_TAG| JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT)); - $base64Url = strtr($base64Raw, '+/', '-_'); - - return rtrim($base64Url, '='); - } - - /** - * @return string - */ - public function __toString() - { - return $this->toString(); - } -} diff --git a/classes/Modules/EtsyApi/Credential/ClientCredentialData.php b/classes/Modules/EtsyApi/Credential/ClientCredentialData.php deleted file mode 100644 index 22881d3c5..000000000 --- a/classes/Modules/EtsyApi/Credential/ClientCredentialData.php +++ /dev/null @@ -1,7 +0,0 @@ -server = new Y0lkEtsy([ - 'identifier' => $clientCredentials->getIdentifier(), - 'secret' => $clientCredentials->getSecret(), - 'callback_uri' => $callbackUri, - 'scope' => implode(' ', $scopes), - ]); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - } - - /** - * @throws EtsyOAuthException - * - * @return TemporaryCredentialData - */ - public function getTemporaryCredentials() - { - try { - /** @var LeagueTemporaryCredentials $temp */ - $temp = $this->server->getTemporaryCredentials(); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - - return new TemporaryCredentialData( - $temp->getIdentifier(), - $temp->getSecret() - ); - } - - /** - * @param TemporaryCredentialData $temporaryCredentials - * @param string $temporaryIdentifier - * @param string $verifier - * - * @throws EtsyOAuthException - * - * @return TokenCredentialData - */ - public function getTokenCredentials(TemporaryCredentialData $temporaryCredentials, $temporaryIdentifier, $verifier) - { - $leagueTemp = new LeagueTemporaryCredentials(); - $leagueTemp->setIdentifier($temporaryCredentials->getIdentifier()); - $leagueTemp->setSecret($temporaryCredentials->getSecret()); - - try { - $leagueToken = $this->server->getTokenCredentials($leagueTemp, $temporaryIdentifier, $verifier); - $tokenCredentials = new TokenCredentialData($leagueToken->getIdentifier(), $leagueToken->getSecret()); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - - return $tokenCredentials; - } - - /** - * @param TemporaryCredentialData $temporaryCredentials - * - * @throws EtsyOAuthException - * - * @return void - */ - public function authorize(TemporaryCredentialData $temporaryCredentials) - { - $leagueCredentials = new LeagueTemporaryCredentials(); - $leagueCredentials->setIdentifier($temporaryCredentials->getIdentifier()); - $leagueCredentials->setSecret($temporaryCredentials->getSecret()); - - try { - $this->server->authorize($leagueCredentials); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - } - - /** - * @param TemporaryCredentialData $temporaryCredentials - * - * @throws EtsyOAuthException - * - * @return string - */ - public function getAuthorizationUrl(TemporaryCredentialData $temporaryCredentials) - { - $leagueCredentials = new LeagueTemporaryCredentials(); - $leagueCredentials->setIdentifier($temporaryCredentials->getIdentifier()); - $leagueCredentials->setSecret($temporaryCredentials->getSecret()); - - try { - return $this->server->getAuthorizationUrl($leagueCredentials); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - } - - /** - * @param TokenCredentialData $tokenCredentials - * @param string $httpMethod - * @param string $url - * @param array $bodyParams - * - * @throws EtsyOAuthException - * - * @return array - */ - public function getHeaders(TokenCredentialData $tokenCredentials, $httpMethod, $url, array $bodyParams = []) - { - $leagueCredentials = new LeagueTokenCredentials(); - $leagueCredentials->setIdentifier($tokenCredentials->getIdentifier()); - $leagueCredentials->setSecret($tokenCredentials->getSecret()); - - try { - return $this->server->getHeaders($leagueCredentials, $httpMethod, $url, $bodyParams); - } catch (Exception $exception) { - throw new EtsyOAuthException($exception->getMessage(), $exception->getCode(), $exception); - } - } -} diff --git a/classes/Modules/EtsyApi/Exception/CredentialException.php b/classes/Modules/EtsyApi/Exception/CredentialException.php deleted file mode 100644 index b6b86e731..000000000 --- a/classes/Modules/EtsyApi/Exception/CredentialException.php +++ /dev/null @@ -1,9 +0,0 @@ - 12345678, - 'products' => '[{"product_id":98765431,"sku":"700001","property_values":[],"offerings":[{"offering_id":999888777,"price":{"amount":7900,"divisor":100,"currency_code":"EUR","currency_formatted_short":"\u20ac79.00","currency_formatted_long":"\u20ac79.00 EUR","currency_formatted_raw":"79.00"},"quantity":1,"is_enabled":1,"is_deleted":0}],"is_deleted":0}]', - ]; - - $headers = $etsyHelper->getHeaders($tokenCredentials, $method, $apiUrl, $data); - $client = new GuzzleHttp\Client(); - $response = $client->put($apiUrl, [ - 'headers' => $headers, - 'form_params' => $data, - ]); - - if ($response->getStatusCode() === 200) { - die('Erfolg'); - } - -} elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { - - /* - * SCHRITT 2 - */ - - if (!isset($_SESSION['temporary_credentials'])) { - die('No temporary credentials.'); - } - - // Temporary-Credentials aus Schritt 1 wiederherstellen - $temporaryCredentials = TemporaryCredentialData::fromString($_SESSION['temporary_credentials']); - - // Teil 3 der OAuth 1.0 Authentifizierung: Token-Credentials (früher Access-Tokens) abholen - $tokenCredentials = $etsyHelper->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); - - // Temporary-Credentials löschen und Token-Credentials in Session speichern - unset($_SESSION['temporary_credentials']); - $_SESSION['token_credentials'] = $tokenCredentials->toString(); - session_write_close(); - - // Benutzer zu Schritt 3 umleiten - header('Location: http://example.com/somefile?user=user'); - exit; - -} else { - - /* - * SCHRITT 1 - */ - - // Teil 1 der OAuth 1.0 Authentifizierung: Temporary-Credentials abholen - // Diese identifizieren uns als Client beim Server - $temporaryCredentials = $etsyHelper->getTemporaryCredentials(); - - // Credentials in Session speichern; für übernächsten Schritt - $_SESSION['temporary_credentials'] = $temporaryCredentials->toString(); - session_write_close(); - - // Teil 2 der OAuth 1.0 Authentifizierung: Resource Owner auf die Login-Seite umleiten - $redirectUrl = $etsyHelper->getAuthorizationUrl($temporaryCredentials); - header('Location: ' . $redirectUrl); - exit; -} -``` diff --git a/composer.json b/composer.json index 25501b7a8..71bd14a10 100644 --- a/composer.json +++ b/composer.json @@ -25,8 +25,7 @@ "smarty/smarty": "v3.1.39", "swiss-payment-slip/swiss-payment-slip": "0.13.0 as 0.11.1", "swiss-payment-slip/swiss-payment-slip-fpdf": "0.6.0", - "tecnickcom/tcpdf": "6.3.5", - "y0lk/oauth1-etsy": "1.1.0" + "tecnickcom/tcpdf": "6.3.5" }, "replace": { "itbz/fpdf": "*" diff --git a/composer.lock b/composer.lock index f88de8422..b01c34d52 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "824d49da17972b2e9a7b449967c35ccb", + "content-hash": "4dcd0a8acfa074192ad0024c8924b5cf", "packages": [ { "name": "aura/sqlquery", @@ -2939,59 +2939,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.12.1" }, "time": "2025-10-29T15:56:20+00:00" - }, - { - "name": "y0lk/oauth1-etsy", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/Y0lk/oauth1-etsy.git", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Y0lk/oauth1-etsy/zipball/3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "shasum": "" - }, - "require": { - "league/oauth1-client": "^1.7.0", - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Y0lk\\OAuth1\\Client\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Y0lk", - "email": "gabriel@inkrebit.com", - "homepage": "https://github.com/Y0lk" - } - ], - "description": "Etsy API OAuth 1.0 Client Provider for The PHP League OAuth1-Client", - "keywords": [ - "authorisation", - "authorization", - "client", - "etsy", - "oauth", - "oauth1" - ], - "support": { - "issues": "https://github.com/Y0lk/oauth1-etsy/issues", - "source": "https://github.com/Y0lk/oauth1-etsy/tree/1.1.0" - }, - "time": "2021-02-03T16:15:30+00:00" } ], "packages-dev": [], diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 4e4c786d5..c07aa0219 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -3334,15 +3334,6 @@ 'Xentral\\Modules\\Ebay\\Service\\EbayStockLoggingService' => $baseDir . '/classes/Modules/Ebay/Service/EbayStockLoggingService.php', 'Xentral\\Modules\\Ebay\\Wrapper\\EbayStockCalculationWrapperInterface' => $baseDir . '/classes/Modules/Ebay/Wrapper/EbayStockCalculationWrapperInterface.php', 'Xentral\\Modules\\Ebay\\Wrapper\\StockCalculationWrapper' => $baseDir . '/classes/Modules/Ebay/Wrapper/StockCalculationWrapper.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\AbstractCredentialData' => $baseDir . '/classes/Modules/EtsyApi/Credential/AbstractCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\ClientCredentialData' => $baseDir . '/classes/Modules/EtsyApi/Credential/ClientCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\CredentialDataInterface' => $baseDir . '/classes/Modules/EtsyApi/Credential/CredentialDataInterface.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\TemporaryCredentialData' => $baseDir . '/classes/Modules/EtsyApi/Credential/TemporaryCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\TokenCredentialData' => $baseDir . '/classes/Modules/EtsyApi/Credential/TokenCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\EtsyOAuthHelper' => $baseDir . '/classes/Modules/EtsyApi/EtsyOAuthHelper.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\CredentialException' => $baseDir . '/classes/Modules/EtsyApi/Exception/CredentialException.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\EtsyApiExceptionInterface' => $baseDir . '/classes/Modules/EtsyApi/Exception/EtsyApiExceptionInterface.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\EtsyOAuthException' => $baseDir . '/classes/Modules/EtsyApi/Exception/EtsyOAuthException.php', 'Xentral\\Modules\\FeeReduction\\Bootstrap' => $baseDir . '/classes/Modules/FeeReduction/Bootstrap.php', 'Xentral\\Modules\\FeeReduction\\Exception\\FeeReductionExceptionInterface' => $baseDir . '/classes/Modules/FeeReduction/Exception/FeeReductionExceptionInterface.php', 'Xentral\\Modules\\FeeReduction\\Exception\\InvalidArgumentException' => $baseDir . '/classes/Modules/FeeReduction/Exception/InvalidArgumentException.php', @@ -4113,7 +4104,6 @@ 'Xentral\\Widgets\\SuperSearch\\Result\\ResultDetail' => $baseDir . '/classes/Widgets/SuperSearch/Result/ResultDetail.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultGroup' => $baseDir . '/classes/Widgets/SuperSearch/Result/ResultGroup.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultItem' => $baseDir . '/classes/Widgets/SuperSearch/Result/ResultItem.php', - 'Y0lk\\OAuth1\\Client\\Server\\Etsy' => $vendorDir . '/y0lk/oauth1-etsy/src/Etsy.php', 'YUI' => $baseDir . '/phpwf/plugins/class.yui.php', 'erpAPI' => $baseDir . '/www/lib/class.erpapi.php', 'erpooSystem' => $baseDir . '/www/eproosystem.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 09f2014a2..09f83c3d7 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -12,13 +12,13 @@ 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', '2b9d0f43f9552984cfa82fee95491826' => $vendorDir . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => $vendorDir . '/sabre/event/lib/Loop/functions.php', 'a1cce3d26cc15c00fcd0b3354bd72c88' => $vendorDir . '/sabre/event/lib/Promise/functions.php', '3569eecfeed3bcf0bad3c998a494ecb8' => $vendorDir . '/sabre/xml/lib/Deserializer/functions.php', '93aa591bc4ca510c520999e34229ee79' => $vendorDir . '/sabre/xml/lib/Serializer/functions.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', 'c9d07b32a2e02bc0fc582d4f0c1b56cc' => $vendorDir . '/laminas/laminas-servicemanager/src/autoload.php', 'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => $vendorDir . '/sabre/http/lib/functions.php', diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index aa47ba3c3..e54b002c4 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -7,7 +7,6 @@ return array( 'lfkeitel\\phptotp\\' => array($vendorDir . '/lfkeitel/phptotp/src'), - 'Y0lk\\OAuth1\\Client\\Server\\' => array($vendorDir . '/y0lk/oauth1-etsy/src'), 'Xentral\\' => array($baseDir . '/classes'), 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 90af1651a..77a4337e2 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -13,13 +13,13 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', '2b9d0f43f9552984cfa82fee95491826' => __DIR__ . '/..' . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => __DIR__ . '/..' . '/sabre/event/lib/Loop/functions.php', 'a1cce3d26cc15c00fcd0b3354bd72c88' => __DIR__ . '/..' . '/sabre/event/lib/Promise/functions.php', '3569eecfeed3bcf0bad3c998a494ecb8' => __DIR__ . '/..' . '/sabre/xml/lib/Deserializer/functions.php', '93aa591bc4ca510c520999e34229ee79' => __DIR__ . '/..' . '/sabre/xml/lib/Serializer/functions.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', 'c9d07b32a2e02bc0fc582d4f0c1b56cc' => __DIR__ . '/..' . '/laminas/laminas-servicemanager/src/autoload.php', 'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => __DIR__ . '/..' . '/sabre/http/lib/functions.php', @@ -33,10 +33,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 array ( 'lfkeitel\\phptotp\\' => 17, ), - 'Y' => - array ( - 'Y0lk\\OAuth1\\Client\\Server\\' => 26, - ), 'X' => array ( 'Xentral\\' => 8, @@ -119,10 +115,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 array ( 0 => __DIR__ . '/..' . '/lfkeitel/phptotp/src', ), - 'Y0lk\\OAuth1\\Client\\Server\\' => - array ( - 0 => __DIR__ . '/..' . '/y0lk/oauth1-etsy/src', - ), 'Xentral\\' => array ( 0 => __DIR__ . '/../..' . '/classes', @@ -3636,15 +3628,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'Xentral\\Modules\\Ebay\\Service\\EbayStockLoggingService' => __DIR__ . '/../..' . '/classes/Modules/Ebay/Service/EbayStockLoggingService.php', 'Xentral\\Modules\\Ebay\\Wrapper\\EbayStockCalculationWrapperInterface' => __DIR__ . '/../..' . '/classes/Modules/Ebay/Wrapper/EbayStockCalculationWrapperInterface.php', 'Xentral\\Modules\\Ebay\\Wrapper\\StockCalculationWrapper' => __DIR__ . '/../..' . '/classes/Modules/Ebay/Wrapper/StockCalculationWrapper.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\AbstractCredentialData' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Credential/AbstractCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\ClientCredentialData' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Credential/ClientCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\CredentialDataInterface' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Credential/CredentialDataInterface.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\TemporaryCredentialData' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Credential/TemporaryCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\Credential\\TokenCredentialData' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Credential/TokenCredentialData.php', - 'Xentral\\Modules\\EtsyApi\\EtsyOAuthHelper' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/EtsyOAuthHelper.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\CredentialException' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Exception/CredentialException.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\EtsyApiExceptionInterface' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Exception/EtsyApiExceptionInterface.php', - 'Xentral\\Modules\\EtsyApi\\Exception\\EtsyOAuthException' => __DIR__ . '/../..' . '/classes/Modules/EtsyApi/Exception/EtsyOAuthException.php', 'Xentral\\Modules\\FeeReduction\\Bootstrap' => __DIR__ . '/../..' . '/classes/Modules/FeeReduction/Bootstrap.php', 'Xentral\\Modules\\FeeReduction\\Exception\\FeeReductionExceptionInterface' => __DIR__ . '/../..' . '/classes/Modules/FeeReduction/Exception/FeeReductionExceptionInterface.php', 'Xentral\\Modules\\FeeReduction\\Exception\\InvalidArgumentException' => __DIR__ . '/../..' . '/classes/Modules/FeeReduction/Exception/InvalidArgumentException.php', @@ -4415,7 +4398,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'Xentral\\Widgets\\SuperSearch\\Result\\ResultDetail' => __DIR__ . '/../..' . '/classes/Widgets/SuperSearch/Result/ResultDetail.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultGroup' => __DIR__ . '/../..' . '/classes/Widgets/SuperSearch/Result/ResultGroup.php', 'Xentral\\Widgets\\SuperSearch\\Result\\ResultItem' => __DIR__ . '/../..' . '/classes/Widgets/SuperSearch/Result/ResultItem.php', - 'Y0lk\\OAuth1\\Client\\Server\\Etsy' => __DIR__ . '/..' . '/y0lk/oauth1-etsy/src/Etsy.php', 'YUI' => __DIR__ . '/../..' . '/phpwf/plugins/class.yui.php', 'erpAPI' => __DIR__ . '/../..' . '/www/lib/class.erpapi.php', 'erpooSystem' => __DIR__ . '/../..' . '/www/eproosystem.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index bd4a8d66a..21fdfafe1 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -3062,62 +3062,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.12.1" }, "install-path": "../webmozart/assert" - }, - { - "name": "y0lk/oauth1-etsy", - "version": "1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/Y0lk/oauth1-etsy.git", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Y0lk/oauth1-etsy/zipball/3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "reference": "3fef9d03787e01a72ef19cdcbbc243c166a5d425", - "shasum": "" - }, - "require": { - "league/oauth1-client": "^1.7.0", - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0" - }, - "time": "2021-02-03T16:15:30+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Y0lk\\OAuth1\\Client\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Y0lk", - "email": "gabriel@inkrebit.com", - "homepage": "https://github.com/Y0lk" - } - ], - "description": "Etsy API OAuth 1.0 Client Provider for The PHP League OAuth1-Client", - "keywords": [ - "authorisation", - "authorization", - "client", - "etsy", - "oauth", - "oauth1" - ], - "support": { - "issues": "https://github.com/Y0lk/oauth1-etsy/issues", - "source": "https://github.com/Y0lk/oauth1-etsy/tree/1.1.0" - }, - "install-path": "../y0lk/oauth1-etsy" } ], "dev": true, diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 23f946522..301178b66 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -438,14 +438,5 @@ 'aliases' => array(), 'dev_requirement' => false, ), - 'y0lk/oauth1-etsy' => array( - 'pretty_version' => '1.1.0', - 'version' => '1.1.0.0', - 'reference' => '3fef9d03787e01a72ef19cdcbbc243c166a5d425', - 'type' => 'library', - 'install_path' => __DIR__ . '/../y0lk/oauth1-etsy', - 'aliases' => array(), - 'dev_requirement' => false, - ), ), ); diff --git a/vendor/y0lk/oauth1-etsy/.gitignore b/vendor/y0lk/oauth1-etsy/.gitignore deleted file mode 100644 index dfd6caa43..000000000 --- a/vendor/y0lk/oauth1-etsy/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/vendor -composer.lock \ No newline at end of file diff --git a/vendor/y0lk/oauth1-etsy/.travis.yml b/vendor/y0lk/oauth1-etsy/.travis.yml deleted file mode 100644 index cd4183918..000000000 --- a/vendor/y0lk/oauth1-etsy/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: php -php: - - '7.0' - - '7.1' - - '7.2' - - '7.3' - - '7.4' - - '8.0' - - hhvm - - nightly - -before_script: - - travis_retry composer self-update - - travis_retry composer install --no-interaction --dev - - travis_retry phpenv rehash \ No newline at end of file diff --git a/vendor/y0lk/oauth1-etsy/LICENSE.md b/vendor/y0lk/oauth1-etsy/LICENSE.md deleted file mode 100644 index a86a4053f..000000000 --- a/vendor/y0lk/oauth1-etsy/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ - -The MIT License (MIT) - -Copyright (c) 2016 Gabriel Jean - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/y0lk/oauth1-etsy/README.md b/vendor/y0lk/oauth1-etsy/README.md deleted file mode 100644 index bb306a037..000000000 --- a/vendor/y0lk/oauth1-etsy/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# Etsy Provider for OAuth 1.0 Client - -[![Latest Stable Version](https://img.shields.io/packagist/v/y0lk/oauth1-etsy.svg)](https://packagist.org/packages/y0lk/oauth1-etsy) -[![Build Status](https://img.shields.io/travis/Y0lk/oauth1-etsy.svg)](https://travis-ci.org/Y0lk/oauth1-etsy) -[![License](https://img.shields.io/packagist/l/y0lk/oauth1-etsy.svg)](https://github.com/y0lk/oauth1-etsy/blob/master/LICENSE) -[![Total Downloads](https://img.shields.io/packagist/dt/y0lk/oauth1-etsy.svg?maxAge=2592000)](https://packagist.org/packages/y0lk/oauth1-etsy) - -This package provides Etsy API OAuth 1.0 support for the PHP League's [OAuth 1.0 Client](https://github.com/thephpleague/oauth1-client). - -## Installation - -Via Composer - -```shell -$ composer require y0lk/oauth1-etsy -``` - -## Usage - -Usage is the same as The League's OAuth client, using `Y0lk\OAuth1\Client\Server\Etsy` as the provider. - -```php -$server = new Y0lk\OAuth1\Client\Server\Etsy([ - 'identifier' => 'your-client-id', - 'secret' => 'your-client-secret', - 'scope' => '', //See Etsy documentation for the full list of permission scopes - 'callback_uri' => 'http://callback.url/callback' -]); -``` - -### Permission Scopes -See the Etsy documentation for [Permission Scopes](https://www.etsy.com/developers/documentation/getting_started/oauth#section_permission_scopes) - - -## License - -The MIT License (MIT). Please see [License File](https://github.com/thephpleague/oauth1-client/blob/master/LICENSE) for more information. diff --git a/vendor/y0lk/oauth1-etsy/composer.json b/vendor/y0lk/oauth1-etsy/composer.json deleted file mode 100644 index 7cb4f287c..000000000 --- a/vendor/y0lk/oauth1-etsy/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "y0lk/oauth1-etsy", - "description": "Etsy API OAuth 1.0 Client Provider for The PHP League OAuth1-Client", - "license": "MIT", - "authors": [ - { - "name": "Y0lk", - "email": "gabriel@inkrebit.com", - "homepage": "https://github.com/Y0lk" - } - ], - "keywords": [ - "oauth", - "oauth1", - "client", - "authorization", - "authorisation", - "etsy" - ], - "require": { - "php": ">=7.0", - "league/oauth1-client": "^1.7.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0" - }, - "autoload": { - "psr-4": { - "Y0lk\\OAuth1\\Client\\Server\\": "src/" - } - } -} diff --git a/vendor/y0lk/oauth1-etsy/phpunit.xml b/vendor/y0lk/oauth1-etsy/phpunit.xml deleted file mode 100644 index 340cc3d18..000000000 --- a/vendor/y0lk/oauth1-etsy/phpunit.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ./tests - - - - - ./src/ - - - \ No newline at end of file diff --git a/vendor/y0lk/oauth1-etsy/src/Etsy.php b/vendor/y0lk/oauth1-etsy/src/Etsy.php deleted file mode 100644 index 1ee462147..000000000 --- a/vendor/y0lk/oauth1-etsy/src/Etsy.php +++ /dev/null @@ -1,192 +0,0 @@ -parseConfiguration($clientCredentials); - } - } - - /** - * Set the application scope. - * - * @param string $applicationScope - * - * @return Etsy - */ - public function setApplicationScope($applicationScope) - { - $this->applicationScope = $applicationScope; - return $this; - } - - /** - * Get application scope. - * - * @return string - */ - public function getApplicationScope() - { - return $this->applicationScope; - } - - /** - * {@inheritDoc} - */ - public function urlTemporaryCredentials() - { - return self::API_URL.'oauth/request_token?scope='.$this->applicationScope; - } - /** - * {@inheritDoc} - */ - public function urlAuthorization() - { - return $this->login_url; - } - /** - * {@inheritDoc} - */ - public function urlTokenCredentials() - { - return self::API_URL.'oauth/access_token'; - } - /** - * {@inheritDoc} - */ - public function urlUserDetails() - { - return self::API_URL.'users/__SELF__'; - } - - /** - * {@inheritDoc} - */ - public function userDetails($data, TokenCredentials $tokenCredentials) - { - $data = $data['results'][0]; - - $user = new User(); - $user->uid = $data['user_id']; - $user->nickname = $data['login_name']; - - $used = array('user_id', 'login_name'); - - // Save all extra data - $user->extra = array_diff_key($data, array_flip($used)); - return $user; - } - - /** - * {@inheritDoc} - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return $data['user']['user_id']; - } - - /** - * {@inheritDoc} - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return; - } - - /** - * {@inheritDoc} - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return $data['user']['login_name']; - } - - /** - * Parse configuration array to set attributes. - * - * @param array $configuration - */ - private function parseConfiguration(array $configuration = array()) - { - $configToPropertyMap = array( - 'scope' => 'applicationScope' - ); - foreach ($configToPropertyMap as $config => $property) { - if (isset($configuration[$config])) { - $this->$property = $configuration[$config]; - } - } - } - - /** - * {@inheritDoc} - */ - public function getTemporaryCredentials() - { - $uri = $this->urlTemporaryCredentials(); - - $client = $this->createHttpClient(); - - $header = $this->temporaryCredentialsProtocolHeader($uri); - $authorizationHeader = array('Authorization' => $header); - $headers = $this->buildHttpClientHeaders($authorizationHeader); - - try { - $response = $client->post($uri, [ - 'headers' => $headers - ]); - } catch (BadResponseException $e) { - return $this->handleTemporaryCredentialsBadResponse($e); - } - - //Catch body and retrieve Etsy login_url - $body = $response->getBody(); - parse_str($body, $data); - - $this->login_url = $data['login_url']; - - return $this->createTemporaryCredentials($response->getBody()); - } - - /** - * {@inheritDoc} - */ - public function getAuthorizationUrl($temporaryIdentifier, array $options = []) - { - // Somebody can pass through an instance of temporary - // credentials and we'll extract the identifier from there. - if ($temporaryIdentifier instanceof TemporaryCredentials) { - $temporaryIdentifier = $temporaryIdentifier->getIdentifier(); - } - - //Return the authorization url directly since it's provided by Etsy and contains all parameters - return $this->urlAuthorization(); - } -} \ No newline at end of file diff --git a/vendor/y0lk/oauth1-etsy/tests/EtsyTest.php b/vendor/y0lk/oauth1-etsy/tests/EtsyTest.php deleted file mode 100644 index 15c9b0812..000000000 --- a/vendor/y0lk/oauth1-etsy/tests/EtsyTest.php +++ /dev/null @@ -1,27 +0,0 @@ -getMockClientCredentials()); - $this->assertInternalType('string', $client->urlTemporaryCredentials()); - $this->assertInternalType('string', $client->urlAuthorization()); - $this->assertInternalType('string', $client->urlTokenCredentials()); - $this->assertInternalType('string', $client->urlUserDetails()); - } - - protected function getMockClientCredentials() - { - return array( - 'identifier' => 'myidentifier', - 'secret' => 'mysecret', - 'scope' => 'email_r', - 'callback_uri' => 'http://app.dev/' - ); - } -} \ No newline at end of file From f3bebc4e873154b117965b819c77caa61069273e Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Tue, 10 Mar 2026 10:31:05 +0100 Subject: [PATCH 11/15] Remove legacy logging system and replace it with PSR-3 compatible Logger. Clean up related outdated classes and files. --- .../Mailer/Wrapper/LoggerWrapper.php | 124 -------- .../Mailer/Wrapper/MemoryLogger.php | 20 -- .../DocuvitaSolutionsApiService.php | 10 +- classes/Modules/Log/Bootstrap.php | 15 +- .../Log/Service/LoggerConfigService.php | 27 +- .../Log/Wrapper/CompanyConfigWrapper.php | 45 --- cronjobs/amazon.php | 7 +- cronjobs/api_uebertragungen.php | 8 +- cronjobs/autoversand_manuell.php | 2 +- cronjobs/chat.php | 2 +- cronjobs/command.php | 14 +- cronjobs/etiketten.php | 2 +- cronjobs/folgebestaetigung.php | 12 +- cronjobs/getarticles.php | 4 +- cronjobs/internetmarke.php | 12 +- cronjobs/lagerzahlen.php | 19 +- cronjobs/mlm.php | 10 +- cronjobs/onlineshops_tasks.php | 2 +- cronjobs/pdfarchiv.php | 2 +- cronjobs/pdfarchiv_app.php | 15 +- cronjobs/shopexport_adressexport.php | 4 +- cronjobs/shopexport_voucher.php | 8 +- cronjobs/shopimport.php | 12 +- cronjobs/shopimport_auftragarchiv.php | 20 +- cronjobs/starter.php | 10 +- cronjobs/starter2.php | 10 +- cronjobs/test.php | 2 +- cronjobs/vertriebscockpit.php | 2 +- phpwf/plugins/class.mysql.php | 2 +- upgrade/data/db_schema.json | 105 ------- www/lib/class.erpapi.php | 171 +++++------ www/lib/dokumente/class.briefpapier.php | 2 +- www/lib/dokumente/class.dokumentenvorlage.php | 4 +- www/lib/dokumente/class.layoutvorlagen.php | 10 +- www/pages/Shopimporter_Ebay_Adapter.php | 12 +- www/pages/Shopimporter_Gambio_Adapter.php | 12 +- www/pages/Shopimporter_Presta_Adapter.php | 12 +- www/pages/api.php | 19 +- www/pages/artikel.php | 13 +- www/pages/benutzer.php | 2 +- www/pages/content/einstellungen.tpl | 3 - www/pages/logfile.php | 273 ------------------ www/pages/prozessstarter.php | 14 +- www/pages/report.php | 20 +- www/pages/shopexport.php | 4 +- www/pages/shopimport.php | 2 +- www/pages/shopimporter_presta.php | 7 +- www/pages/shopimporter_shopify.php | 10 +- www/pages/shopimporter_shopware.php | 6 +- www/pages/shopimporter_shopware6.php | 6 +- www/pages/welcome.php | 2 +- www/plugins/liveimport/payone/payone.php | 24 +- www/widgets/widget.gruppen.php | 1 - www/widgets/widget.wiedervorlage.php | 1 - 54 files changed, 299 insertions(+), 858 deletions(-) delete mode 100644 classes/Components/Mailer/Wrapper/LoggerWrapper.php delete mode 100644 classes/Components/Mailer/Wrapper/MemoryLogger.php delete mode 100644 classes/Modules/Log/Wrapper/CompanyConfigWrapper.php delete mode 100644 www/pages/logfile.php diff --git a/classes/Components/Mailer/Wrapper/LoggerWrapper.php b/classes/Components/Mailer/Wrapper/LoggerWrapper.php deleted file mode 100644 index a3b6f3e7e..000000000 --- a/classes/Components/Mailer/Wrapper/LoggerWrapper.php +++ /dev/null @@ -1,124 +0,0 @@ -LogFile() - */ -final class LoggerWrapper implements LoggerInterface -{ - /** @var erpAPI|MemoryLogger $erp */ - private $erp; - - /** - * @param erpAPI|MemoryLogger $erp - */ - public function __construct($erp) - { - $this->erp = $erp; - } - - /** - * @inheritDoc - */ - public function emergency($message, array $context = []) - { - $this->log('emergency', $message, $context); - } - - /** - * @inheritDoc - */ - public function alert($message, array $context = []) - { - $this->log('alert', $message, $context); - } - - /** - * @inheritDoc - */ - public function critical($message, array $context = []) - { - $this->log('critical', $message, $context); - } - - /** - * @inheritDoc - */ - public function error($message, array $context = []) - { - $this->log('error', $message, $context); - } - - /** - * @inheritDoc - */ - public function warning($message, array $context = []) - { - $this->log('warning', $message, $context); - } - - /** - * @inheritDoc - */ - public function notice($message, array $context = []) - { - $this->log('notice', $message, $context); - } - - /** - * @inheritDoc - */ - public function info($message, array $context = []) - { - $this->log('info', $message, $context); - } - - /** - * @inheritDoc - */ - public function debug($message, array $context = []) - { - $this->log('debug', $message, $context); - } - - /** - * @inheritDoc - */ - public function log($level, $message, array $context = []) - { - $message = sprintf('%s: %s', strtoupper($level), $message); - $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - $caller = []; - foreach ($stack as $trace) { - if ($trace['class'] !== self::class) { - $caller = $trace; - - break; - } - } - if (!empty($caller)) { - $csplit = explode('\\', $caller['class']); - $module = $csplit[count($csplit)-1]; - $function = $caller['function']; - } else { - $module = ''; - $function = ''; - } - $action = ''; - if (array_key_exists('action', $context)) { - $action = $context['action']; - } - $dump = ''; - if (array_key_exists('dump', $context)) { - $dump = $context['dump']; - if (is_array($dump)) { - $dump = print_r($dump, true); - } - } - $this->erp->LogFile($message, $dump, $module, $action, $function); - } -} diff --git a/classes/Components/Mailer/Wrapper/MemoryLogger.php b/classes/Components/Mailer/Wrapper/MemoryLogger.php deleted file mode 100644 index 23bcc693f..000000000 --- a/classes/Components/Mailer/Wrapper/MemoryLogger.php +++ /dev/null @@ -1,20 +0,0 @@ -logmessages[] = $message; - } -} diff --git a/classes/Modules/DocuvitaSolutionsApi/DocuvitaSolutionsApiService.php b/classes/Modules/DocuvitaSolutionsApi/DocuvitaSolutionsApiService.php index 837d826b0..00ec66764 100644 --- a/classes/Modules/DocuvitaSolutionsApi/DocuvitaSolutionsApiService.php +++ b/classes/Modules/DocuvitaSolutionsApi/DocuvitaSolutionsApiService.php @@ -5,6 +5,7 @@ use Application; use CURLFile; +use Psr\Log\LoggerInterface; use RuntimeException; use Xentral\Components\Database\Database; use Xentral\Core\DependencyInjection\ServiceContainer; @@ -22,6 +23,8 @@ class DocuvitaSolutionsApiService * @var Database */ private $db; + + private LoggerInterface $logger; /** * @var string */ @@ -132,6 +135,7 @@ public function __construct( $this->app = $app; $this->container = $app->Container; $this->db = $this->container->get('Database'); + $this->logger = $this->container->get('Logger'); $this->username = $username; $this->password = $password; @@ -234,9 +238,9 @@ public function sendFileAsString($fileName, $content, $uploadGuid) return json_decode($response); } - private function log($message, $dump = '') + private function log($message, array $dump = null) { - $this->app->erp->LogFile($message, $dump, 'docuvitasolutions'); + $this->logger->info($message, $dump); } /** @@ -257,7 +261,7 @@ public function export() $this->generateVerbindlichkeitTemplates(), ]; if (!empty($this->missingFiles)) { - $this->log("missing files", implode("\n", $this->missingFiles)); + $this->log("missing files", $this->missingFiles); } for ($i = 0, $count = count($dataObjects); $i < $count; $i++) { if (count($dataObjects[$i]->getQueryResult()) === 0) { diff --git a/classes/Modules/Log/Bootstrap.php b/classes/Modules/Log/Bootstrap.php index 8bc5476bd..7ee6bdd4b 100644 --- a/classes/Modules/Log/Bootstrap.php +++ b/classes/Modules/Log/Bootstrap.php @@ -52,19 +52,6 @@ public static function onInitDatabaseLogGateway(ServiceContainer $container): Da */ public static function onInitLoggerConfigService(ServiceContainer $container): LoggerConfigService { - return new LoggerConfigService(self::onInitCompanyConfigWrapper($container)); - } - - /** - * @param ContainerInterface $container - * - * @return CompanyConfigWrapper - */ - private static function onInitCompanyConfigWrapper(ContainerInterface $container): CompanyConfigWrapper - { - /** @var \ApplicationCore $app */ - $app = $container->get('LegacyApplication'); - - return new CompanyConfigWrapper($app->erp); + return new LoggerConfigService($container->get('SystemConfigModule')); } } diff --git a/classes/Modules/Log/Service/LoggerConfigService.php b/classes/Modules/Log/Service/LoggerConfigService.php index 4f6accb2f..6d28a8080 100644 --- a/classes/Modules/Log/Service/LoggerConfigService.php +++ b/classes/Modules/Log/Service/LoggerConfigService.php @@ -7,23 +7,15 @@ use Xentral\Components\Logger\LogLevel; use Xentral\Modules\Log\Exception\InvalidArgumentException; use Xentral\Modules\Log\Exception\InvalidLoglevelException; -use Xentral\Modules\Log\Wrapper\CompanyConfigWrapper; +use Xentral\Modules\SystemConfig\SystemConfigModule; final class LoggerConfigService { - /** @var string CONFIG_KEY_LEVEL */ - private const CONFIG_KEY_LEVEL = 'logfile_logging_level'; + private const NAMESPACE = 'logger'; + private const CONFIG_KEY_LEVEL = 'log_level'; - /** @var CompanyConfigWrapper $db */ - private $companyConfig; - - /** - * @param CompanyConfigWrapper $companyConfig - */ - public function __construct(CompanyConfigWrapper $companyConfig) - { - $this->companyConfig = $companyConfig; - } + public function __construct(private readonly SystemConfigModule $systemConfigModule) + { } /** * @throws InvalidLoglevelException @@ -32,7 +24,12 @@ public function __construct(CompanyConfigWrapper $companyConfig) */ public function getLogLevel(): string { - $level = (string)$this->companyConfig->get(self::CONFIG_KEY_LEVEL); + $level = $this->systemConfigModule->tryGetValue(self::NAMESPACE, self::CONFIG_KEY_LEVEL); + if ($level === null) { + $level = $this->systemConfigModule->tryGetLegacyValue('logfile_logging_level'); + $level ??= LogLevel::ERROR; + $this->systemConfigModule->setValue(self::NAMESPACE, self::CONFIG_KEY_LEVEL, $level); + } $level = strtolower($level); if (!$this->isAllowedLogLevel($level)) { throw new InvalidLoglevelException(sprintf('Unrecognized Loglevel "%s".', $level)); @@ -53,7 +50,7 @@ public function setLogLevel(string $level): void if (!$this->isAllowedLogLevel($level)) { throw new InvalidArgumentException(sprintf('Unrecognised Loglevel "%s"', $level)); } - $this->companyConfig->set(self::CONFIG_KEY_LEVEL, $level); + $this->systemConfigModule->setValue(self::NAMESPACE, self::CONFIG_KEY_LEVEL, $level); } /** diff --git a/classes/Modules/Log/Wrapper/CompanyConfigWrapper.php b/classes/Modules/Log/Wrapper/CompanyConfigWrapper.php deleted file mode 100644 index e8823cc87..000000000 --- a/classes/Modules/Log/Wrapper/CompanyConfigWrapper.php +++ /dev/null @@ -1,45 +0,0 @@ -erp = $erp; - } - - /** - * @param string $name - * - * @return mixed - */ - public function get(string $name) - { - return $this->erp->GetKonfiguration($name); - } - - /** - * @param string $name - * @param mixed $value - * - * @return void - */ - public function set(string $name, $value) - { - $this->erp->SetKonfigurationValue($name, $value); - } -} diff --git a/cronjobs/amazon.php b/cronjobs/amazon.php index 3a0faac09..f0084af0b 100644 --- a/cronjobs/amazon.php +++ b/cronjobs/amazon.php @@ -134,7 +134,8 @@ function GetUsername() $app->remote = $remote; } $app->Secure = new Secure($app); - +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); $firmendatenid = $app->DB->Select("SELECT MAX(id) FROM firmendaten LIMIT 1"); @@ -153,7 +154,7 @@ function GetUsername() ); return; } -$app->erp->LogFile('Starte Amazon Cronjob'); +$logger->info('Starte Amazon Cronjob'); $app->DB->Update( "UPDATE prozessstarter SET letzteausfuerhung = now(), mutex = 1, mutexcounter = 0 WHERE aktiv = 1 AND parameter = 'amazon'" ); @@ -186,5 +187,5 @@ function GetUsername() "UPDATE prozessstarter SET letzteausfuerhung = now(), mutex = 0, mutexcounter = 0 WHERE aktiv = 1 AND parameter = 'amazon'" ); -$app->erp->LogFile('Ende Amazon Cronjob'); +$logger->info('Ende Amazon Cronjob'); diff --git a/cronjobs/api_uebertragungen.php b/cronjobs/api_uebertragungen.php index 0bdd81712..b49684c85 100644 --- a/cronjobs/api_uebertragungen.php +++ b/cronjobs/api_uebertragungen.php @@ -394,6 +394,8 @@ public function GetLaender() //ENDE $app->FormHandler = new FormHandler($app); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); if(!$app->erp->ModulVorhanden('uebertragungen')) { return; @@ -458,7 +460,7 @@ public function GetLaender() $app->erp->ProzessstarterStatus('Artikel übertragen '.$uebertragung_account['bezeichnung']); $countTransferAricle = $uebertragungen->transferAricle($uebertragung_account); if($countTransferAricle > 0) { - $app->erp->LogFile($uebertragung_account['bezeichnung'].': '.$countTransferAricle.' Artikel uebertragen'); + $logger->info($uebertragung_account['bezeichnung'].': '.$countTransferAricle.' Artikel uebertragen'); } $app->DB->Update( "UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 1,mutexcounter=0 WHERE parameter = 'api_uebertragungen'" @@ -470,7 +472,7 @@ public function GetLaender() foreach($uebertragungen_accounts as $uebertragungen_account) { $uebertragungen->datei_id = null; if($uebertragungen->createSaleReport($uebertragungen_account)) { - $app->erp->LogFile($uebertragung_account['bezeichnung'].': SaleReport uebertragen'); + $logger->info($uebertragung_account['bezeichnung'].': SaleReport uebertragen'); } $uebertragungen->datei_id = null; } @@ -540,7 +542,7 @@ public function GetLaender() } } catch(Exception $e) { - $app->erp->LogFile( + $logger->error('Parse file error', [ 'ParseFileError'=>$e->getMessage(), 'Module'=>$uebertragung_account['xml_pdf'] diff --git a/cronjobs/autoversand_manuell.php b/cronjobs/autoversand_manuell.php index 76a70de59..b781c3794 100644 --- a/cronjobs/autoversand_manuell.php +++ b/cronjobs/autoversand_manuell.php @@ -81,7 +81,7 @@ function file_append($filename,$text) { $objAuftrag = $app->loadModule('auftrag'); if($objAuftrag == null || !method_exists($objAuftrag, 'AuftragVersand')) { - $app->erp->LogFile($cronjobname." failed. Error while loading module 'auftrag'."); + $app->Container->get('Logger')->error($cronjobname." failed. Error while loading module 'auftrag'."); exit; } diff --git a/cronjobs/chat.php b/cronjobs/chat.php index 6010ecebd..d29ccdd86 100644 --- a/cronjobs/chat.php +++ b/cronjobs/chat.php @@ -257,7 +257,7 @@ function sendNotificationMail($userId, $privateMessages, $publicMessages) // function MailSend($from,$from_name,$to,$to_name,$betreff,$text,$files="",$projekt="",$signature=true,$cc="",$bcc="", $system = false) $app->erp->MailSend($fromMail,$fromName,$toMail,$toName,$subject,$text,"","",false,"","", true); - $app->erp->LogFile("Mailed ".$subject." to ".$toMail); + $app->Container->get('Logger')->info("Mailed ".$subject." to ".$toMail); } diff --git a/cronjobs/command.php b/cronjobs/command.php index ead3a6d50..65934b6f9 100644 --- a/cronjobs/command.php +++ b/cronjobs/command.php @@ -67,6 +67,8 @@ class app_t extends ApplicationCore { $phpinfo = ob_get_contents(); ob_end_clean(); $app->erp->SetKonfigurationValue('system_cronjob_phpinfo', $app->DB->real_escape_string($phpinfo)); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); if (method_exists($app->erp, 'CheckCronjob') && !$app->erp->CheckCronjob()) { $app->DB->Close(); @@ -80,7 +82,7 @@ class app_t extends ApplicationCore { $systemHealthService = $app->Container->get('SystemHealthService'); if ($DEBUG) { - $app->erp->LogFile('starter.php'); + $logger->debug('starter.php'); } $task = $app->DB->SelectArr( @@ -109,7 +111,7 @@ class app_t extends ApplicationCore { } } } catch (Exception $e) { - $app->erp->LogFile('can not evaluate disk space for cronjob: ' . $e->getMessage()); + $logger->warning('can not evaluate disk space for cronjob: ' . $e->getMessage()); } if ($fromstarter2) { @@ -117,7 +119,7 @@ class app_t extends ApplicationCore { } else { $run = 0; if ($DEBUG) { - $app->erp->LogFile('Task: ' . $task[$task_index]['bezeichnung'] . ' ' . $task[$task_index]['art']); + $logger->debug('Task: ' . $task[$task_index]['bezeichnung'] . ' ' . $task[$task_index]['art']); } if ($task[$task_index]['art'] === 'periodisch') { @@ -172,7 +174,7 @@ class app_t extends ApplicationCore { $app->erp->setCronjobRunning(CRONJOBUID, $task[$task_index], true); } if ($DEBUG) { - $app->erp->LogFile('Prozessstarter ' . $task[$task_index]['parameter']); + $logger->debug('Prozessstarter ' . $task[$task_index]['parameter']); } //update letzte ausfuerhung $app->DB->Update( @@ -220,14 +222,14 @@ class app_t extends ApplicationCore { $app->erp->ProzessstarterStatus('abgeschlossen', $task[$task_index]['id']); $app->erp->ProzessstarterStatus('', 0); } catch (Exception $e) { - $app->erp->LogFile( + $logger->error( $app->DB->real_escape_string( 'Prozessstarter Fehler bei Aufruf des Moduls ' . $task[$task_index]['parameter'] . ': ' . $e->getMessage()." Trace: ".$e->GetTraceAsString() ) ); } } else { - $app->erp->LogFile( + $logger->error( $app->DB->real_escape_string( 'Der Prozessstarter ' . $task[$task_index]['parameter'] . ' wurde nicht gefunden' ) diff --git a/cronjobs/etiketten.php b/cronjobs/etiketten.php index e1033a0d7..5b8a6bc5b 100644 --- a/cronjobs/etiketten.php +++ b/cronjobs/etiketten.php @@ -71,7 +71,7 @@ class app_t { $erp = new erpAPI($app); $app->erp = $erp; $app->String = new WawiString(); -$app->erp->LogFile("MLM gestartet"); +$app->Container->get('Logger')->info("MLM gestartet"); $app->printer = new Printer($app); $app->Secure = new Secure($app); diff --git a/cronjobs/folgebestaetigung.php b/cronjobs/folgebestaetigung.php index 910e48961..796f821cf 100644 --- a/cronjobs/folgebestaetigung.php +++ b/cronjobs/folgebestaetigung.php @@ -31,27 +31,29 @@ class app_t { $app->DB = new DB($conf->WFdbhost,$conf->WFdbname,$conf->WFdbuser,$conf->WFdbpass,null,$conf->WFdbport); $erp = new erpAPI($app); $app->erp = $erp; +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); -$app->erp->LogFile("Folgebestaetigung gestartet"); +$logger->info("Folgebestaetigung gestartet"); $firmendatenid = $app->DB->Select("SELECT MAX(id) FROM firmendaten LIMIT 1"); $app->Secure = new Secure($app); $app->User = new User($app); -$app->erp->LogFile("Folgebestaetigung start AuftraegeBerechnen"); +$logger->info("Folgebestaetigung start AuftraegeBerechnen"); $app->erp->AuftraegeBerechnen(); -$app->erp->LogFile("Folgebestaetigung start Versand"); +$logger->info("Folgebestaetigung start Versand"); $result = $app->DB->SelectArr("SELECT DISTINCT adresse FROM auftrag WHERE status='freigegeben'"); for($i=0;$ierp->LogFile("Folgebestaetigung Adresse ".$result[$i]['adresse']); + $logger->info("Folgebestaetigung Adresse ".$result[$i]['adresse']); $app->erp->Folgebestaetigung($result[$i]['adresse']); } -$app->erp->LogFile("Folgebestaetigung erfolgreich versendet"); +$logger->info("Folgebestaetigung erfolgreich versendet"); //echo "done\r\n"; ?> diff --git a/cronjobs/getarticles.php b/cronjobs/getarticles.php index 7b4464cd1..2cb712059 100644 --- a/cronjobs/getarticles.php +++ b/cronjobs/getarticles.php @@ -98,7 +98,7 @@ public function GetUsername() if(empty($app->User)){ $app->User = new User($app); } -$app->erp->LogFile('Cronjob Artikelimport Start'); +$app->Container->get('Logger')->info('Cronjob Artikelimport Start'); $app->DB->Update("UPDATE prozessstarter SET mutexcounter = mutexcounter + 1 WHERE mutex = 1 AND parameter = 'getarticles' AND aktiv = 1"); if($app->DB->Select("SELECT mutex FROM prozessstarter WHERE parameter = 'getarticles' LIMIT 1") == 1){ @@ -124,5 +124,5 @@ public function GetUsername() $check = $app->DB->Select('SELECT sg.id FROM shopexport_getarticles sg JOIN shopexport s ON sg.shop=s.id LIMIT 1'); } $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 0,mutexcounter=0 WHERE parameter = 'getarticles'"); -$app->erp->LogFile('Cronjob Artikelimport Ende '.$anz.' importiert'); +$app->Container->get('Logger')->info('Cronjob Artikelimport Ende '.$anz.' importiert'); diff --git a/cronjobs/internetmarke.php b/cronjobs/internetmarke.php index ba7f9b8ea..587d7f2f2 100644 --- a/cronjobs/internetmarke.php +++ b/cronjobs/internetmarke.php @@ -49,7 +49,7 @@ function update($app) //file already the same return false; } - $app->erp->LogFile("Update link: {$link}", '', 'Internetmarke'); + $app->Container->get('Logger')->info("Internetmarke Update link: {$link}"); $written = file_put_contents($csvFile, $csv); @@ -95,20 +95,22 @@ function checkCurlError($curl, $result) } $app = new ApplicationCore(); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); if(!isInternetmarkeInUse($app)){ - $app->erp->LogFile('Internetmarke not in use', '', 'Internetmarke'); + $logger->info('Internetmarke not in use'); return; } try { if(update($app)){ - $app->erp->LogFile('Successfully updated Internetmarke PPL', '', 'Internetmarke'); + $logger->info('Successfully updated Internetmarke PPL'); }else{ - $app->erp->LogFile('no new PPL', '', 'Internetmarke'); + $logger->info('Internetmarke: no new PPL'); } } catch (RuntimeException $e) { - $app->erp->LogFile('Error updating PPL', $e->getMessage(), 'Internetmarke'); + $logger->error('Internetmarke: Error updating PPL', ['error' => $e->getMessage()]); /** @var Systemhealth $systemHealth */ $systemHealth = $app->loadModule('systemhealth'); $systemHealth->createEntryWithCategoryIfError( diff --git a/cronjobs/lagerzahlen.php b/cronjobs/lagerzahlen.php index bd50830c1..0e999cd1e 100644 --- a/cronjobs/lagerzahlen.php +++ b/cronjobs/lagerzahlen.php @@ -33,7 +33,10 @@ $app->remote = new Remote($app); } } -$app->erp->LogFile("Lagerzahlen-Synchronisation Start"); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); + +$logger->info("Lagerzahlen-Synchronisation Start"); //$app->DB->Update("UPDATE artikel SET cache_lagerplatzinhaltmenge='999'"); @@ -47,13 +50,13 @@ if (!$app->DB->Select( "SELECT `id` FROM `prozessstarter` WHERE `mutex` = 0 AND `parameter` = 'lagerzahlen' AND `aktiv` = 1" )) { - $app->erp->LogFile("Lagerzahlen-Synchronisation Ende: Prozessstarter-Mutex nicht bereit"); + $logger->warning("Lagerzahlen-Synchronisation Ende: Prozessstarter-Mutex nicht bereit"); return; } $shops = $app->DB->SelectArr('SELECT * FROM `shopexport` WHERE `aktiv` = 1'); if (empty($shops)) { - $app->erp->LogFile("Lagerzahlen-Synchronisation Ende: Keine aktiven Shops"); + $logger->info("Lagerzahlen-Synchronisation Ende: Keine aktiven Shops"); return; } $shopByIds = []; @@ -98,7 +101,7 @@ ); if (empty($lagerartikel)) { - $app->erp->LogFile("Lagerzahlen-Synchronisation Ende: Keine fälligen Artikel"); + $logger->info("Lagerzahlen-Synchronisation Ende: Keine fälligen Artikel"); return; } @@ -111,7 +114,7 @@ } $clagerartikel = $lagerartikel ? count($lagerartikel) : 0; -$app->erp->LogFile('Lagerzahlen-Synchronisation, Artikel gesamt: ' . $clagerartikel); +$logger->info('Lagerzahlen-Synchronisation, Artikel gesamt: ' . $clagerartikel); foreach ($lagerartikel as $articleCounter => $articleId) { $app->DB->Update( "UPDATE `prozessstarter` @@ -136,7 +139,7 @@ SET `mutex` = 0 , `mutexcounter` = 0, `letzteausfuerhung` = NOW() WHERE `parameter` = 'lagerzahlen' AND `aktiv` = 1" ); - $app->erp->LogFile("Lagerzahlen-Synchronisation Ende: lagerzahlen-Job kann nicht geladen werden"); + $logger->warning("Lagerzahlen-Synchronisation Ende: lagerzahlen-Job kann nicht geladen werden"); return; } // $app->erp->LogFile("Lagerzahlen-Synchronisation: Warte 10 Sekunden"); @@ -171,10 +174,10 @@ } } } catch (Exception $exception) { - $app->erp->LogFile("Lagerzahlen-Synchronisation Exception:" . $app->DB->real_escape_string($exception->getMessage())); + $logger->error("Lagerzahlen-Synchronisation Exception:" . $app->DB->real_escape_string($exception->getMessage())); } } -$app->erp->LogFile("Lagerzahlen-Synchronisation Ende"); +$logger->info("Lagerzahlen-Synchronisation Ende"); diff --git a/cronjobs/mlm.php b/cronjobs/mlm.php index e83e7b9b7..39dcc395b 100644 --- a/cronjobs/mlm.php +++ b/cronjobs/mlm.php @@ -31,8 +31,10 @@ class app_t { $app->DB = new DB($conf->WFdbhost,$conf->WFdbname,$conf->WFdbuser,$conf->WFdbpass,null,$conf->WFdbport); $erp = new erpAPI($app); $app->erp = $erp; +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); -$app->erp->LogFile("MLM gestartet"); +$logger->info("MLM gestartet"); $app->Secure = new Secure($app); $app->User = new User($app); @@ -61,7 +63,7 @@ class app_t { } } -$app->erp->LogFile("MLM fertig"); +$logger->info("MLM fertig"); $shops = $app->DB->SelectArr("SELECT id from shopexport s where s.geloescht <> '1' AND s.aktiv = '1'"); if($shops) @@ -77,8 +79,8 @@ class app_t { } } } else { - $app->erp->LogFile("Partner Export Shop: Keine Shops"); + $logger->info("Partner Export Shop: Keine Shops"); } -$app->erp->LogFile("Partner Export Shop"); +$logger->info("Partner Export Shop"); ?> diff --git a/cronjobs/onlineshops_tasks.php b/cronjobs/onlineshops_tasks.php index e4e4fd8e3..f4cdf9bb0 100644 --- a/cronjobs/onlineshops_tasks.php +++ b/cronjobs/onlineshops_tasks.php @@ -132,7 +132,7 @@ public function GetUsername() $app->remote->RemoteCommand($onlineShopTask['shop_id'], $command); } catch (Exception $e) { - $app->erp->LogFile(['error'=>$e->getMessage()]); + $app->Container->get('Logger')->error($e->getMessage()); } } diff --git a/cronjobs/pdfarchiv.php b/cronjobs/pdfarchiv.php index 9abada08d..036b3ecd4 100644 --- a/cronjobs/pdfarchiv.php +++ b/cronjobs/pdfarchiv.php @@ -92,7 +92,7 @@ class app_t $erp = new erpAPI($app); $app->erp = $erp; $app->String = new WawiString(); -$app->erp->LogFile("MLM gestartet"); +$app->Container->get('Logger')->info("MLM gestartet"); $app->Secure = new Secure($app); $app->User = new User($app); diff --git a/cronjobs/pdfarchiv_app.php b/cronjobs/pdfarchiv_app.php index d6186834f..28872f1e9 100644 --- a/cronjobs/pdfarchiv_app.php +++ b/cronjobs/pdfarchiv_app.php @@ -430,6 +430,8 @@ class pdfarchiv_app /** @var ApplicationCore $app */ var $app; + private \Psr\Log\LoggerInterface $logger; + /** @var string $folder */ var $folder; @@ -442,6 +444,7 @@ public function __construct($app) { $this->app = $app; $this->folder = $this->app->Conf->WFuserdata."/pdfarchiv/".$this->app->Conf->WFdbname; + $this->logger = $app->Container->get('Logger'); } /** @@ -548,7 +551,7 @@ protected function run_next() $cgc = gc_collect_cycles(); if($cgc > 0) { - $this->app->erp->LogFile($cgc.' cycles collected'); + $this->logger->info($cgc.' cycles collected'); } } $check = $this->app->DB->Query("SELECT t.id,t.projekt,t.schreibschutz FROM $table t LEFT JOIN pdfarchiv p ON p.table_id = t.id AND p.table_name = '$table' AND CHAR_LENGTH(p.belegnummer) > 2 AND p.belegnummer <> 'SAB' WHERE t.belegnr <> '' AND t.status <> 'angelegt' AND t.status <> 'angelegta' AND t.status <> 'a' @@ -662,7 +665,7 @@ protected function run_next() $cgc = gc_collect_cycles(); if($cgc > 0) { - $this->app->erp->LogFile($cgc.' cycles collected'); + $this->logger->info($cgc.' cycles collected'); } } if(empty($row['schreibschutz'])) @@ -744,7 +747,7 @@ protected function run_next() $ziparchiv = new ZipArchive; if($ziparchiv->open($pfad.'.zip', ZipArchive::CREATE) !== true) { - $this->app->erp->LogFile($pfad.'.zip '.(file_exists($pfad.'.zip')?'ex':'ex nicht')); + $this->logger->info($pfad.'.zip '.(file_exists($pfad.'.zip')?'ex':'ex nicht')); $this->app->DB->Update("UPDATE pdfarchiv_jobs SET status = 'Fehler', kommentar = 'Es konnte kein Zip-Archiv erstellt werden' WHERE id = '".$job['id']."' LIMIT 1"); return false; @@ -783,7 +786,7 @@ protected function run_next() $cgc = gc_collect_cycles(); if($cgc > 0) { - $this->app->erp->LogFile($cgc.' cycles collected'); + $this->logger->info($cgc.' cycles collected'); } } echo $row['id']; @@ -844,7 +847,7 @@ protected function run_next() $cgc = gc_collect_cycles(); if($cgc > 0) { - $this->app->erp->LogFile($cgc.' cycles collected'); + $this->logger->info($cgc.' cycles collected'); } } echo $row['id']; @@ -910,7 +913,7 @@ protected function run_next() $this->app->DB->Update("UPDATE pdfarchiv_jobs SET status = 'Fehler', kommentar = 'Fehler beim Speichern des Zip-Archives' WHERE id = '".$job['id']."' LIMIT 1"); return false; } - $this->app->erp->LogFile($pfad.'.zip '.(file_exists($pfad.'.zip')?'ex':'ex nicht')); + $this->logger->info($pfad.'.zip '.(file_exists($pfad.'.zip')?'ex':'ex nicht')); $this->app->DB->Update("UPDATE pdfarchiv_jobs SET status = 'abgeschlossen',kommentar = '', datei = '".$pfad_rel.".zip' WHERE id = '".$job['id']."' LIMIT 1"); }elseif($gz){ system("cd ".$this->folder." && tar cfz ".$pfad.".tar.gz $pfad_rel $1>/dev/null"); diff --git a/cronjobs/shopexport_adressexport.php b/cronjobs/shopexport_adressexport.php index 87722d187..12058e674 100644 --- a/cronjobs/shopexport_adressexport.php +++ b/cronjobs/shopexport_adressexport.php @@ -160,7 +160,7 @@ class app_t { (int)$app->remote->RemoteCommand($row['shop'],'sendadresse',$row['adresse']); }catch(Execption $exception) { - $app->erp->LogFile($app->DB->real_escape_string($exception->getMessage())); + $app->Container->get('Logger')->error($app->DB->real_escape_string($exception->getMessage())); } $app->DB->Delete("DELETE FROM shopexport_adressenuebertragen WHERE id='".$row['id']."' LIMIT 1"); $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 1,mutexcounter=0 WHERE parameter = 'shopexport_adressexport'"); @@ -170,4 +170,4 @@ class app_t { } $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 0,mutexcounter=0 WHERE parameter = 'shopexport_adressexport'"); -$app->erp->LogFile('Cronjob Adressuebertragung Ende '.$anz.' uebertragen'); +$app->Container->get('Logger')->info('Cronjob Adressuebertragung Ende '.$anz.' uebertragen'); diff --git a/cronjobs/shopexport_voucher.php b/cronjobs/shopexport_voucher.php index 06cf67f9a..7154da179 100644 --- a/cronjobs/shopexport_voucher.php +++ b/cronjobs/shopexport_voucher.php @@ -68,6 +68,8 @@ class app_t extends ApplicationCore $app->remote = $remote; $app->FormHandler = new FormHandler($app); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); $app->DB->Update("UPDATE prozessstarter SET mutexcounter = mutexcounter + 1 WHERE mutex = 1 AND (parameter = 'shopexport_voucher') AND aktiv = 1"); if(!$app->DB->Select("SELECT id FROM prozessstarter WHERE mutex = 0 AND parameter = 'shopexport_voucher' AND aktiv = 1")){ @@ -84,7 +86,7 @@ class app_t extends ApplicationCore $vouchers = $app->remote->RemoteCommand($shop['id'],'getvouchers'); }catch(Exception $exception) { - $app->erp->LogFile($app->DB->real_escape_string($exception->getMessage())); + $logger->error($app->DB->real_escape_string($exception->getMessage())); } if($vouchers['success']){ foreach ($vouchers['data'] as $voucherInShop){ @@ -124,11 +126,11 @@ class app_t extends ApplicationCore $app->DB->Update($sql); } }else{ - $app->erp->LogFile('voucher was not send to shop. Shopid: '.$shop['id'].' - voucher Code: '.$voucherToSend['voucher_code'],print_r($response['message'],true)); + $logger->warning('voucher was not send to shop. Shopid: '.$shop['id'].' - voucher Code: '.$voucherToSend['voucher_code'], $response['message']); } }catch(Exception $exception) { - $app->erp->LogFile($app->DB->real_escape_string($exception->getMessage())); + $logger->error($app->DB->real_escape_string($exception->getMessage())); } $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 1,mutexcounter=0 WHERE parameter = 'shopexport_voucher'"); } diff --git a/cronjobs/shopimport.php b/cronjobs/shopimport.php index 3b2619fcc..b1ff7712b 100644 --- a/cronjobs/shopimport.php +++ b/cronjobs/shopimport.php @@ -448,6 +448,8 @@ function GetUsername() } $app->Secure = new Secure($app); $app->User = new User($app); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); $app->FormHandler = new FormHandler($app); $firmendatenid = $app->DB->Select("SELECT MAX(id) FROM firmendaten LIMIT 1"); @@ -476,10 +478,10 @@ function GetUsername() $demomodus = $shop['demomodus']; $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 1,mutexcounter=0 WHERE parameter = 'shopimport'"); $direktimport = $shop['direktimport']; - $app->erp->LogFile('Shopimport '.$id); + $logger->info('Shopimport '.$id); if($direktimport) { - $app->erp->LogFile('direktimport '.$id); + $logger->info('direktimport '.$id); $shopimp = new Shopimport($app, true); } @@ -921,7 +923,7 @@ function GetUsername() //if($gesamtanzahl > 1)$gesamtanzahl = 1; if($gesamtanzahl > 0) { - $app->erp->LogFile("Hole ".$gesamtanzahl." aus Shop ".$id); + $logger->info("Hole ".$gesamtanzahl." aus Shop ".$id); for($i=0;$i<$gesamtanzahl;$i++) { $app->DB->Update("UPDATE prozessstarter SET letzteausfuerhung=NOW(), mutex = 1,mutexcounter=0 WHERE parameter = 'shopimport'"); @@ -1123,7 +1125,7 @@ function GetUsername() $import_kundennummer = $checkidemail; } //echo "Kundennummer: ".$import_kundennummer."\r\n"; - $app->erp->LogFile("Importiere Auftrag ".$auftrag); + $logger->info("Importiere Auftrag ".$auftrag); $unbekanntezahlungsweisen = null; $shopimp->KundeAnlegenUpdate($insid,$auftrag, $warenkorb, $kundennummer, $import_kundennummer, $unbekanntezahlungsweisen); $checkid = ''; @@ -1139,7 +1141,7 @@ function GetUsername() } if(!$app->DB->Select("SELECT aktiv FROM shopexport WHERE id = '$id' LIMIT 1"))$gesamtanzahl = $i + 1; } - $app->erp->LogFile($gesamtanzahl." aus Shop ".$id." geholt"); + $logger->info($gesamtanzahl." aus Shop ".$id." geholt"); } } } diff --git a/cronjobs/shopimport_auftragarchiv.php b/cronjobs/shopimport_auftragarchiv.php index 949e4bb04..bfc448da1 100644 --- a/cronjobs/shopimport_auftragarchiv.php +++ b/cronjobs/shopimport_auftragarchiv.php @@ -468,6 +468,8 @@ public function GetParameter() $app->User = new User($app); $app->FormHandler = new FormHandler($app); +/** @var \Psr\Log\LoggerInterface $logger */ +$logger = $app->Container->get('Logger'); /*if(false){ $auftraege = $app->DB->Query("SELECT a.id as auftrag, s.* FROM auftrag a INNER JOIN shopimport_auftraege s ON a.shop =s.shopid AND a.internet = s.extid WHERE a.datum = '2018-10-29'"); if($auftraege){ @@ -591,10 +593,10 @@ public function GetParameter() $pageContents = $app->remote->RemoteConnection($shopid); } catch (Exception $e) { - $app->erp->LogFile(['RemoteConnection Error'=>$e->getMessage()]); + $logger->error('RemoteConnection Error', [$e->getMessage()]); $pageContents = 'failed'; } - $app->erp->LogFile( + $logger->info( $app->DB->real_escape_string( 'shopimport_auftragarchiv Shop: '.$shopid.' Auth: '. print_r($pageContents,true).' arr: '.print_r($archivauftraege[$i],true) @@ -621,10 +623,10 @@ public function GetParameter() ); } catch (Exception $e) { - $app->erp->LogFile(['RemoteGetAuftraegeAnzahl Error'=>$e->getMessage()]); + $logger->error('RemoteGetAuftraegeAnzahl Error', [$e->getMessage()]); $anzahlauftraege = 0; } - $app->erp->LogFile('shopimport_auftragarchiv Shop: '.$shopid.' gefundene Auftraege: '.$anzahlauftraege); + $logger->info('shopimport_auftragarchiv Shop: '.$shopid.' gefundene Auftraege: '.$anzahlauftraege); if($anzahlauftraege > 0) { $app->DB->Update( sprintf( @@ -667,7 +669,7 @@ public function GetParameter() $data['anzgleichzeitig'] = 50; $data['holeallestati'] = 1; $data['archive'] = 1; - $app->erp->LogFile($app->DB->real_escape_string('shopimport_auftragarchiv Shop: '.$shopid.' Zeitraum: '.print_r($data,true))); + $logger->info($app->DB->real_escape_string('shopimport_auftragarchiv Shop: '.$shopid.' Zeitraum: '.print_r($data,true))); } $shopimp = new Shopimport($app, true); $erfolgreich = 0; @@ -696,7 +698,7 @@ public function GetParameter() ); } catch(Exception $e) { - $app->erp->LogFile(['RemoteGetAuftrag Error'=>$e->getMessage()]); + $logger->error('RemoteGetAuftrag Error', [$e->getMessage()]); $result = ''; } if(!is_array($result)) { @@ -706,7 +708,7 @@ public function GetParameter() continue; } $app->erp->ProzessstarterStatus('Id '.$shopid.' keine (weiteren) Auftraege gefunden', $cronjobTmpId); - $app->erp->LogFile('shopimport_auftragarchiv Shop: '.$shopid.' keine (weiteren) Auftraege gefunden'); + $logger->info('shopimport_auftragarchiv Shop: '.$shopid.' keine (weiteren) Auftraege gefunden'); $app->DB->Update("UPDATE `shopexport_archiv` SET `status` = 'abgeschlossen' WHERE `id` = " . $archivauftraege[$i]['id']); break; } @@ -750,7 +752,7 @@ public function GetParameter() $mintime = false; $cw = count($result); if($archivauftraege[$i]['type'] === 'zeitraum') { - $app->erp->LogFile('shopimport_auftragarchiv Shop: '.$shopid.' gefundene Auftraege: '.$cw); + $logger->info('shopimport_auftragarchiv Shop: '.$shopid.' gefundene Auftraege: '.$cw); $app->erp->ProzessstarterStatus('Id '.$shopid.' anz '.$cw, $cronjobTmpId); } for ($ii = 0; $ii < $cw; $ii++) { @@ -1190,7 +1192,7 @@ public function GetParameter() } } else{ - $app->erp->LogFile( + $logger->info( $app->DB->real_escape_string( 'shopimport_auftragarchiv Shop: '.$shopid.' Auth: '.print_r($pageContents,true) ) diff --git a/cronjobs/starter.php b/cronjobs/starter.php index 272c4935a..f9c40eca1 100644 --- a/cronjobs/starter.php +++ b/cronjobs/starter.php @@ -77,6 +77,8 @@ class app_t extends ApplicationCore { continue; } $app->erp->SetKonfigurationValue('prozessstarter_letzteraufruf',date('Y-m-d H:i:s')); + /** @var \Psr\Log\LoggerInterface $logger */ + $logger = $app->Container->get('Logger'); usleep(mt_rand(100000,1000000)); $tasks = $app->DB->SelectArr( "SELECT * @@ -116,7 +118,7 @@ class app_t extends ApplicationCore { } $run = 0; if($DEBUG){ - $app->erp->LogFile('Task: ' . $task['bezeichnung'] . ' ' . $task['art']); + $logger->debug('Task: ' . $task['bezeichnung'] . ' ' . $task['art']); } if($task['art'] === 'periodisch'){ @@ -176,7 +178,7 @@ class app_t extends ApplicationCore { $app->erp->setCronjobRunning(CRONJOBUID, $task, true); if($DEBUG){ - $app->erp->LogFile('Prozessstarter ' . $task['parameter']); + $logger->debug('Prozessstarter ' . $task['parameter']); } //update letzte ausfuerhung $app->DB->Update( @@ -228,7 +230,7 @@ class app_t extends ApplicationCore { for ($outputLineInxed = $startIndex; $outputLineInxed < $coutput; $outputLineInxed++) { $lastLines[] = $output[$outputLineInxed]; } - $app->erp->LogFile( + $logger->info('Cronjob result', [ 'cmd' => $cmd, 'parameter' => $task['parameter'], @@ -245,7 +247,7 @@ class app_t extends ApplicationCore { unset($returnvar); } else{ - $app->erp->LogFile( + $logger->warning( $app->DB->real_escape_string( 'Der Prozessstarter ' . $task['parameter'] . ' wurde nicht gefunden' ) diff --git a/cronjobs/starter2.php b/cronjobs/starter2.php index d81ef5352..08e477783 100644 --- a/cronjobs/starter2.php +++ b/cronjobs/starter2.php @@ -66,6 +66,8 @@ class app_t extends ApplicationCore { $erp->app = $app; $app->erp = $erp; $app->DB = new DB($multiDbConf->WFdbhost,$multiDbConf->WFdbname,$multiDbConf->WFdbuser,$multiDbConf->WFdbpass,$app,$multiDbConf->WFdbport); + /** @var \Psr\Log\LoggerInterface $logger */ + $logger = $app->Container->get('Logger'); $multiDb = $multiDbConf->WFdbname; if(method_exists($app->erp, 'CheckCronjob') && !$app->erp->CheckCronjob()) { @@ -112,7 +114,7 @@ class app_t extends ApplicationCore { } $run = 0; if($DEBUG){ - $app->erp->LogFile('Task: ' . $task['bezeichnung'] . ' ' . $task['art']); + $logger->debug('Task: ' . $task['bezeichnung'] . ' ' . $task['art']); } if($task['art'] === 'periodisch'){ @@ -168,7 +170,7 @@ class app_t extends ApplicationCore { $app->erp->setCronjobRunning(CRONJOBUID, $task, true); if($DEBUG){ - $app->erp->LogFile('Prozessstarter ' . $task['parameter']); + $logger->debug('Prozessstarter ' . $task['parameter']); } //update letzte ausfuerhung $app->DB->Update( @@ -223,7 +225,7 @@ class app_t extends ApplicationCore { for ($outputLineInxed = $startIndex; $outputLineInxed < $coutput; $outputLineInxed++) { $lastLines[] = $output[$outputLineInxed]; } - $app->erp->LogFile( + $logger->info('Cronjob result', [ 'cmd' => $cmd, 'parameter' => $task['parameter'], @@ -240,7 +242,7 @@ class app_t extends ApplicationCore { unset($returnvar); } else { - $app->erp->LogFile( + $logger->info( $app->DB->real_escape_string( 'Der Prozessstarter ' . $task['parameter'] . ' wurde nicht gefunden' ) diff --git a/cronjobs/test.php b/cronjobs/test.php index 826d5de74..f387b886d 100644 --- a/cronjobs/test.php +++ b/cronjobs/test.php @@ -25,7 +25,7 @@ class app_t { $app->DB = new DB($conf->WFdbhost,$conf->WFdbname,$conf->WFdbuser,$conf->WFdbpass,null,$conf->WFdbport); $erp = new erpAPI($app); $app->erp = $erp; -$app->erp->LogFile("Testprozess"); +$app->Container->get('Logger')->info("Testprozess"); ?> diff --git a/cronjobs/vertriebscockpit.php b/cronjobs/vertriebscockpit.php index 161813d87..3cb10d46e 100644 --- a/cronjobs/vertriebscockpit.php +++ b/cronjobs/vertriebscockpit.php @@ -50,7 +50,7 @@ class app_t { } } -$app->erp->LogFile("Starte Synchronisation"); +$app->Container->get('Logger')->info("Starte Synchronisation"); //$app->DB->Update("UPDATE artikel SET cache_lagerplatzinhaltmenge='999'"); diff --git a/phpwf/plugins/class.mysql.php b/phpwf/plugins/class.mysql.php index 083a04f69..5cde99149 100644 --- a/phpwf/plugins/class.mysql.php +++ b/phpwf/plugins/class.mysql.php @@ -1548,7 +1548,7 @@ public function LogIfError($echo = false) return false; } if(!empty($this->app)) { - $this->app->erp->LogFile(mysqli_real_escape_string($this->connection, $error)); + $this->app->Container->get('Logger')->error($error); } if($echo) { diff --git a/upgrade/data/db_schema.json b/upgrade/data/db_schema.json index dcfd7c0b7..1d835c9e9 100644 --- a/upgrade/data/db_schema.json +++ b/upgrade/data/db_schema.json @@ -59463,111 +59463,6 @@ } ] }, - { - "name": "logfile", - "collation": "utf8mb3_general_ci", - "type": "BASE TABLE", - "columns": [ - { - "Field": "id", - "Type": "int(11)", - "Collation": null, - "Null": "NO", - "Key": "PRI", - "Default": null, - "Extra": "auto_increment", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "meldung", - "Type": "text", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "dump", - "Type": "text", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "module", - "Type": "varchar(64)", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "action", - "Type": "varchar(64)", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "bearbeiter", - "Type": "varchar(64)", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "funktionsname", - "Type": "varchar(64)", - "Collation": "utf8mb3_general_ci", - "Null": "NO", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - }, - { - "Field": "datum", - "Type": "datetime", - "Collation": null, - "Null": "YES", - "Key": "", - "Default": null, - "Extra": "", - "Privileges": "select,insert,update,references", - "Comment": "" - } - ], - "keys": [ - { - "Key_name": "PRIMARY", - "Index_type": "BTREE", - "columns": [ - "id" - ], - "Non_unique": "" - } - ] - }, { "name": "magento2_extended_mapping", "collation": "utf8mb3_general_ci", diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index 7e33f6c32..00fef36c2 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -69,11 +69,14 @@ class erpAPI /** @var array $appList */ protected $appList = []; + private \Psr\Log\LoggerInterface $logger; + /** @var ApplicationCore $app */ public function __construct($app) { $this->app=$app; + $this->logger = $app->Container->get('Logger'); if(empty($this->app->erp)){ $this->app->erp = $this; } @@ -553,7 +556,7 @@ function LogWithTime($message, $json = false) $peakmemory = number_format(memory_get_peak_usage()/1024.0/1024.0,2); $runtime = number_format($akttime - $this->logtime,3); $runtimeall = number_format($akttime - $this->firstlogtime,3); - $this->LogFile('Time all '.$runtimeall."s last: ".$runtime."s Memakt:".$aktmemory."MB peak:".$peakmemory."MB ".$this->app->DB->real_escape_string( $json?json_encode($message):$message)); + $this->logger->info('Time all '.$runtimeall."s last: ".$runtime."s Memakt:".$aktmemory."MB peak:".$peakmemory."MB ".$this->app->DB->real_escape_string( $json?json_encode($message):$message)); $this->logtime = $akttime; } } @@ -849,11 +852,11 @@ public function NavigationHooks(&$menu) if($v['sec'] !== '' || !isset($first[$v['first']])) { if($v['sec'] == '') { $menu[] = array('first'=>array($v['first'], $v['module'],$v['action'])); - $first[$v['first']] = (!empty($menu)?count($menu):0); + $first[$v['first']] = (!empty($menu)?count($menu):0)-1; } elseif($v['sec'] != '' && !isset($first[$v['first']])){ $menu[] = array('first'=>array($v['first'], '',''),'sec'=>array(array($v['sec'],$v['module'],$v['action']))); - $first[$v['first']] = (!empty($menu)?count($menu):0); + $first[$v['first']] = (!empty($menu)?count($menu):0)-1; } else{ if(isset($menu[$first[$v['first']]])) { @@ -1512,13 +1515,13 @@ function AbgleichBenutzerVorlagen($userid=0, $vorlage = 0, $module = '', $action try { $userPermission->log($grantingUserId,$grantingUserName,$receivingUserId,$receivingUserName,$module,$action,false); }catch (Exception $ex){ - $this->app->erp->LogFile('Fehler bei Zuweisung Rechtehistore',$ex->getMessage()); + $this->logger->error('Fehler bei Zuweisung Rechtehistore',[$ex->getMessage()]); } $this->app->DB->Insert("INSERT INTO userrights (user, module, action, permission) VALUES ('".$user[$i]['id']."','$module','$action','$permission')"); try { $userPermission->log($grantingUserId,$grantingUserName,$receivingUserId,$receivingUserName,$module,$action,true); }catch (Exception $ex){ - $this->app->erp->LogFile('Fehler bei Zuweisung Rechtehistore',$ex->getMessage()); + $this->logger->error('Fehler bei Zuweisung Rechtehistore',[$ex->getMessage()]); } }else{ $permissions = $this->app->DB->SelectArr("SELECT module, action,permission @@ -1527,7 +1530,7 @@ function AbgleichBenutzerVorlagen($userid=0, $vorlage = 0, $module = '', $action try { $userPermission->log($grantingUserId,$grantingUserName,$receivingUserId,$receivingUserName,$permission['module'],$permission['action'],$permission['permission']); }catch (Exception $ex){ - $this->app->erp->LogFile('Fehler bei Zuweisung Rechtehistore',$ex->getMessage()); + $this->logger->error('Fehler bei Zuweisung Rechtehistore',[$ex->getMessage()]); } } $this->app->DB->Update("REPLACE INTO userrights (user, module,action,permission) (SELECT '".$user[$i]['id']."',module, action,permission @@ -2181,7 +2184,7 @@ public function PDFArchivieren($type,$id, $force = false) unlink($tmpfile); $tmpfile = ''; } - $this->LogFile($this->app->DB->real_escape_string($e->getMessage())); + $this->logger->error($this->app->DB->real_escape_string($e->getMessage())); return false; } $this->app->erp->BriefpapierHintergrunddisable = !$this->app->erp->BriefpapierHintergrunddisable; @@ -2197,7 +2200,7 @@ public function PDFArchivieren($type,$id, $force = false) if($tmpfile !== '' && is_file($tmpfile)) { unlink($tmpfile); } - $this->LogFile($this->app->DB->real_escape_string($e->getMessage())); + $this->logger->error($this->app->DB->real_escape_string($e->getMessage())); $this->app->erp->BriefpapierHintergrunddisable = !$this->app->erp->BriefpapierHintergrunddisable; return false; } @@ -3827,35 +3830,6 @@ function ParseFormVars($fields) } } - function LoadZahlungsweiseModul($module, $moduleId) { - - $module = preg_replace('/[^a-zA-Z0-9\_]/','',$module); - - if(empty($module)) { - return null; - } - if(strpos($module,'zahlungsweise_') === 0) { - $module = substr($module, 14); - if(empty($module)) { - return null; - } - } - if(strpos($module, '.') !== false || strpos($module, '/') !== false || strpos($module, '\\')) { - return null; - } - $path = dirname(__DIR__).'/lib/zahlungsweisen/'.$module.'.php'; - if(!is_file($path)) { - return null; - } - - include_once $path ; - $classname = 'Zahlungsweise_'.$module; - if(!class_exists($classname)) { - return null; - } - return new $classname($this->app, $moduleId); - } - // @refactor Document Komponente function Zahlungsweisetext($doctype,$doctypeid) { @@ -3909,16 +3883,28 @@ function Zahlungsweisetext($doctype,$doctypeid) if($zahlungsweiseid['modul'] != '') { - $obj = $this->LoadZahlungsweiseModul($zahlungsweiseid['modul'], $zahlungsweiseid['id']); - if($obj && method_exists($obj, 'GetZahlungsweiseText')) + $zahlungsweiseid['modul'] = preg_replace('/[^a-zA-Z0-9\_]/','',$zahlungsweiseid['modul']); + $pfad = dirname(__DIR__).'/lib/zahlungsweisen/'.$zahlungsweiseid['modul'].'.php'; + if($zahlungsweiseid['modul'] && @is_file($pfad)) { - $zahlungsweisetexttmp = $obj->GetZahlungsweiseText($doctype, $doctypeid); - if($zahlungsweisetexttmp!='') { - if($zahlungsweiseid['modul'] == 'tagxmonat'){ - $zahlungsweisetext = $zahlungsweisetexttmp."\r\n"; - } - else{ - $zahlungsweisetext .= "\r\n".$zahlungsweisetexttmp."\r\n"; + $classname = 'Zahlungsweise_'.$zahlungsweiseid['modul']; + if(!class_exists($classname)){ + include_once($pfad); + } + if(class_exists($classname)) + { + $obj = new $classname($this->app, $zahlungsweiseid['id']); + if($obj && method_exists($obj, 'GetZahlungsweiseText')) + { + $zahlungsweisetexttmp = $obj->GetZahlungsweiseText($doctype, $doctypeid); + if($zahlungsweisetexttmp!='') { + if($zahlungsweiseid['modul'] == 'tagxmonat'){ + $zahlungsweisetext = $zahlungsweisetexttmp."\r\n"; + } + else{ + $zahlungsweisetext .= "\r\n".$zahlungsweisetexttmp."\r\n"; + } + } } } } @@ -12018,6 +12004,12 @@ function HelpIcon() $action = $this->app->Secure->GetGET("action"); } + /**@deprected**/ + function PrinterIcon() + { + // $this->app->Tpl->Add('TABSPRINT'," "); + } + // @refactor Auftrag Modul function SaldoAdresseAuftrag($adresse) { @@ -15928,7 +15920,23 @@ public function sendPaymentStatus( LIMIT 1 ")){ foreach ($zahlungsweisenmodule as $zahlungsweisenmodul) { - $obj = $this->LoadZahlungsweiseModul($zahlungsweisenmodul['modul'], $zahlungsweisenmodul['id']); + $_zahlungsweisenmodul = preg_replace('/[^a-zA-Z0-9\_]/', '', $zahlungsweisenmodul['modul']); + if(!$_zahlungsweisenmodul){ + continue; + } + if(!file_exists(__DIR__ . '/zahlungsweisen/' . $_zahlungsweisenmodul . '.php')){ + continue; + } + + $class = 'Zahlungsweise_' . $_zahlungsweisenmodul; + if(!class_exists($class)){ + include_once __DIR__ . '/zahlungsweisen/' . $_zahlungsweisenmodul . '.php'; + } + if(!class_exists($class)){ + continue; + } + + $obj = new $class($this->app, $zahlungsweisenmodul['id']); if($obj && method_exists($obj, 'ZahlungFreigeben')){ $obj->ZahlungFreigeben($auftrag, $id); } @@ -16358,24 +16366,6 @@ function VarAsString($variable) return $result; } - function ImportvorlageImport($id = 0, $importvorlage = '', string $file_contents) { - $obj = $this->LoadModul('importvorlage'); - if(!empty($obj) && method_exists($obj, 'ImportvorlageDo')) - { - if (empty($id)) { - $id = $this->app->DB->Select("SELECT id FROM importvorlage WHERE bezeichnung = '".$importvorlage."' LIMIT 1"); - if (empty($id)) { - return(array('success' => false, 'message' => 'Importvorlage nicht gefunden')); - } - } - $tmpdatei = $this->app->erp->GetTMP().'importvorlageimport'.microtime(true); - file_put_contents($tmpdatei, $file_contents); - $result = $obj->ImportvorlageDo(parameter: array('id' => $id, 'stueckliste_csv' => $tmpdatei)); - return($result); - } - return 0; - } - function ImportvorlageLog($importvorlage,$zeitstempel,$tabelle,$datensatz,$ersterdatensatz="0") { $this->app->DB->Insert("INSERT INTO importvorlage_log (id,importvorlage,zeitstempel,user,tabelle,datensatz,ersterdatensatz) @@ -16527,19 +16517,8 @@ function LogRamAndTime($meldung) { if(self::$lasttime == 0)self::$lasttime = microtime(true); $akttime = microtime(true); - $this->LogFile( addslashes((memory_get_peak_usage(true) >> 20). " MB ".(round($akttime - self::$lasttime ,3) )." sek ".$meldung)); - - } - - - function LogFile($meldung,$dump="",$module="",$action="",$functionname="") - { + $this->logger->info( addslashes((memory_get_peak_usage(true) >> 20). " MB ".(round($akttime - self::$lasttime ,3) )." sek ".$meldung)); - $obj = $this->LoadModul('logfile'); - if(!empty($obj) && method_exists($obj,'addLogFile')) { - return $obj->addLogFile($meldung,$dump,$module,$action,$functionname); - } - return null; } @@ -16556,8 +16535,8 @@ function KundeUpdate($adresse,$typ,$name,$abteilung,$unterabteilung,$ansprechpar { $val = $this->app->DB->real_escape_string(${$key}); $this->app->DB->Update("UPDATE adresse SET $key='$val' WHERE id='$adresse' LIMIT 1"); - $check = $this->app->DB->real_escape_string($check); - $this->app->DB->Update("UPDATE adresse SET `logfile`=CONCAT(logfile, ' Update Feld $key alt:$check neu:".$val.";') WHERE id='$adresse' LIMIT 1"); + $logfile = $this->app->DB->Select("SELECT `logfile` FROM adresse WHERE id='$adresse' LIMIT 1"); + $this->app->DB->Update("UPDATE adresse SET `logfile`='".$logfile." Update Feld $key alt:$check neu:".$val.";' WHERE id='$adresse' LIMIT 1"); } } @@ -18379,7 +18358,7 @@ function ImportAuftrag($adresse,$warenkorb,$projekt,$shop="",$auftrag=0) : array $rabattpositionen[$ap] = $value['rabatt']; } if(empty($ap)){ - $this->LogFile('Fehler '.$value['articleid']); + $this->logger->error('Fehler '.$value['articleid']); } if(isset($artap)){ unset($artap); @@ -18657,7 +18636,7 @@ function ImportAuftrag($adresse,$warenkorb,$projekt,$shop="",$auftrag=0) : array } } else { $error_msg = 'Importauftrag Shop '.$shop.' Fehler: Kein Portoartikel vorhanden'; - $this->LogFile($error_msg,['Onlinebestellnummer' => $warenkorb['onlinebestellnummer']]); + $this->logger->error($error_msg,['Onlinebestellnummer' => $warenkorb['onlinebestellnummer']]); return(array("status" => false, "message" => $error_msg, "onlinebestellnummer" => $warenkorb['onlinebestellnummer'])); } } @@ -21007,7 +20986,7 @@ public function LagerSync($artikelid, $print_echo=false, $shopByIds = []) $result = $this->app->remote->RemoteSendArticleList($shop, array($lagerartikel[$ij]['id']), array($nummer['nummer']), true); } catch(Exception $e) { - $this->app->erp->LogFile($this->app->DB->real_escape_string('Lagersync Fehler '.$shop.' '.$nummer['nummer'].' '.$e->getMessage())); + $this->logger->error($this->app->DB->real_escape_string('Lagersync Fehler '.$shop.' '.$nummer['nummer'].' '.$e->getMessage())); $anzfehler++; } } @@ -21018,7 +20997,7 @@ public function LagerSync($artikelid, $print_echo=false, $shopByIds = []) $result = $this->app->remote->RemoteSendArticleList($shop,array($lagerartikel[$ij]['id']),!empty($extnummer)? array($extnummer):'',true); } catch(Exception $e) { - $this->app->erp->LogFile($this->app->DB->real_escape_string('Lagersync Fehler '.$shop.' '.(!empty($extnummer)? array($extnummer):$lagerartikel[$ij]['nummer']).' '.$e->getMessage())); + $this->logger->error($this->app->DB->real_escape_string('Lagersync Fehler '.$shop.' '.(!empty($extnummer)? array($extnummer):$lagerartikel[$ij]['nummer']).' '.$e->getMessage())); $anzfehler++; } } @@ -21029,7 +21008,7 @@ public function LagerSync($artikelid, $print_echo=false, $shopByIds = []) } - $this->LogFile('*** UPDATE '.$lagerartikel[$ij]['nummer'].' '.$lagerartikel[$ij]['name_de'].' Shop: '.$shop.' Lagernd: '.$verkaufbare_menge.' Korrektur: '.round((float) ($verkaufbare_menge_korrektur - $verkaufbare_menge),7).' Pseudolager: '.round((float) $pseudolager,8).' Result: '.(is_array($result)?$result['status']:$result), $result); + $this->logger->info('*** UPDATE '.$lagerartikel[$ij]['nummer'].' '.$lagerartikel[$ij]['name_de'].' Shop: '.$shop.' Lagernd: '.$verkaufbare_menge.' Korrektur: '.round((float) ($verkaufbare_menge_korrektur - $verkaufbare_menge),7).' Pseudolager: '.round((float) $pseudolager,8).' Result: '.(is_array($result)?$result['status']:$result), $result); if ((is_array($result) && $result instanceof ArticleExportResult ? $result->success : false) || $result === 1) { $cacheQuantity = (int) $verkaufbare_menge_korrektur + (int) $pseudolager; @@ -25543,7 +25522,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p new EmailRecipient($from, $from_name) ); } else { - $this->app->erp->LogFile("Mailer Error: Email could not be composed!"); + $this->logger->error("Mailer Error: Email could not be composed!"); } // Load the mail to IMAP using laminas @@ -25556,7 +25535,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p $client->connect(); $client->appendMessage($imapCopyMessage, $account->getImapOutgoingFolder()); } catch (Exception $e) { - $this->app->erp->LogFile("Mailer IMAP Error: " . (string) $e); + $this->logger->error("Mailer IMAP Error: " . (string) $e); if(isset($this->app->User) && $this->app->User && method_exists($this->app->User, 'GetID')) { $this->app->erp->InternesEvent($this->app->User->GetID(),"IMAP-Fehler","alert",1); @@ -30828,7 +30807,7 @@ function AddAuftragPositionNummer($auftrag,$nummer,$menge,$projekt,$nullpreis="" $sprache = $this->app->DB->Select("SELECT sprache FROM $doctype WHERE id='$auftrag' LIMIT 1"); $this->RunHook('AARLGPositionenSprache', 6, $doctype, $auftrag, $artikel, $sprache, $bezeichnunglieferant, $beschreibung); - $this->app->erp->LogFile("Add $nummer,$menge $artikel $sprache Name: $bezeichnunglieferant"); + $this->logger->info("Add $nummer,$menge $artikel $sprache Name: $bezeichnunglieferant"); $verkaufspreisarr = $this->GetVerkaufspreis($artikel, $menge,0,'', $returnwaehrung,true); if($verkaufspreisarr) @@ -37303,20 +37282,6 @@ function GetDateiDatum($id) // MYSQL format $date = $this->app->DB->Select("SELECT datum FROM datei_version WHERE datei='$id' AND version='$version' LIMIT 1"); return ($date); } - - function GetDateiDatumFormat($id) - { - $version = $this->app->DB->Select("SELECT MAX(version) FROM datei_version WHERE datei='$id'"); - $date = $this->app->DB->Select("SELECT ".$this->app->erp->FormatDate("datum")." FROM datei_version WHERE datei='$id' AND version='$version' LIMIT 1"); - return ($date); - } - - function GetDateiDatumZeitFormat($id) - { - $version = $this->app->DB->Select("SELECT MAX(version) FROM datei_version WHERE datei='$id'"); - $date = $this->app->DB->Select("SELECT ".$this->app->erp->FormatDateTime("datum")." FROM datei_version WHERE datei='$id' AND version='$version' LIMIT 1"); - return ($date); - } /* * Retrieve files from stichwoerter and provide them in tmp for access @@ -39598,7 +39563,7 @@ function OpenstreetmapGetLangLat($apikey,$query) $result = curl_exec($ch); if(strpos($result,"404 page not")===false) break; if($timeout > 10) { - $this->app->erp->LogFile("Openstreetmap GetLangLat Timeout: $url"); + $this->logger->warning("Openstreetmap GetLangLat Timeout: $url"); break; } } @@ -39626,7 +39591,7 @@ function OpenstreetmapGetDistance($apikey,$coord1,$coord2) $result = curl_exec($ch); if(strpos($result,"404 page not")===false) break; if($timeout > 10) { - $this->app->erp->LogFile("Openstreetmap Distance Timeout: $url"); + $this->logger->warning("Openstreetmap Distance Timeout: $url"); break; } diff --git a/www/lib/dokumente/class.briefpapier.php b/www/lib/dokumente/class.briefpapier.php index 7507065a4..d3de70749 100644 --- a/www/lib/dokumente/class.briefpapier.php +++ b/www/lib/dokumente/class.briefpapier.php @@ -1258,7 +1258,7 @@ public function ArchiviereDocument($schreibschutz = false, $force = false, $para $this->filename = $this->app->erp->Dateinamen($this->filename); $dir = rtrim($this->app->Conf->WFuserdata, '/') . '/pdfarchiv/' . $this->app->Conf->WFdbname . '/' . $this->table; if(!is_dir($dir) && !mkdir($dir, 0700,true) && !is_dir($dir)){ - $this->app->erp->LogFile('Fehler beim erstellen von '.$dir); + $this->app->Container->get('Logger')->error('Fehler beim erstellen von '.$dir); return; } diff --git a/www/lib/dokumente/class.dokumentenvorlage.php b/www/lib/dokumente/class.dokumentenvorlage.php index f2a024f91..fdd537182 100644 --- a/www/lib/dokumente/class.dokumentenvorlage.php +++ b/www/lib/dokumente/class.dokumentenvorlage.php @@ -398,12 +398,12 @@ public function ArchiviereDocument($schreibschutz = false) $this->filename = $this->app->erp->Dateinamen($this->filename); $dir = $this->app->Conf->WFuserdata."/pdfarchiv/".$this->app->Conf->WFdbname; if(!is_dir($dir)){ - if(!mkdir($dir, 0700,true))$this->app->erp->LogFile('Fehler beim erstellen von '.$dir); + if(!mkdir($dir, 0700,true))$this->app->Container->get('Logger')->error('Fehler beim erstellen von '.$dir); // echo "fehlt"; } if(!is_dir($dir))return false; if(!is_dir($dir."/".$this->table)) - if(!mkdir ($dir."/".$this->table,0700,true))$this->app->erp->LogFile('Fehler beim erstellen von '.$dir."/".$this->table); + if(!mkdir ($dir."/".$this->table,0700,true))$this->app->Container->get('Logger')->error('Fehler beim erstellen von '.$dir."/".$this->table); if(!is_dir($dir."/".$this->table))return; $md5alt = false; $altesdokument = $this->app->DB->SelectArr("SELECT * from pdfarchiv where table_id = '".$this->id."' and table_name = '".$this->table."' AND doctype = '".$this->app->DB->real_escape_string($this->doctype)."' AND doctypeorig = '".$this->app->DB->real_escape_string($this->doctypeOrig)."' ORDER BY zeitstempel DESC LIMIT 1"); diff --git a/www/lib/dokumente/class.layoutvorlagen.php b/www/lib/dokumente/class.layoutvorlagen.php index c463a8e94..f82620604 100644 --- a/www/lib/dokumente/class.layoutvorlagen.php +++ b/www/lib/dokumente/class.layoutvorlagen.php @@ -1,4 +1,4 @@ - +*/ +?> filename = $this->app->erp->Dateinamen($this->filename); $dir = $this->app->Conf->WFuserdata."/pdfarchiv/".$this->app->Conf->WFdbname; if(!is_dir($dir)){ - if(!mkdir($dir, 0700,true))$this->app->erp->LogFile('Fehler beim erstellen von '.$dir); + if(!mkdir($dir, 0700,true))$this->app->Container->get('Logger')->error('Fehler beim erstellen von '.$dir); // echo "fehlt"; } if(!is_dir($dir))return false; if(!is_dir($dir."/".$this->table)) - if(!mkdir ($dir."/".$this->table,0700,true))$this->app->erp->LogFile('Fehler beim erstellen von '.$dir."/".$this->table); + if(!mkdir ($dir."/".$this->table,0700,true))$this->app->Container->get('Logger')->error('Fehler beim erstellen von '.$dir."/".$this->table); if(!is_dir($dir."/".$this->table))return; $md5alt = false; $altesdokument = $this->app->DB->SelectArr("SELECT * from pdfarchiv where table_id = '".$this->id."' and table_name = '".$this->table."' AND doctype = '".$this->app->DB->real_escape_string($this->doctype)."' AND doctypeorig = '".$this->app->DB->real_escape_string($this->doctypeOrig)."' ORDER BY zeitstempel DESC LIMIT 1"); diff --git a/www/pages/Shopimporter_Ebay_Adapter.php b/www/pages/Shopimporter_Ebay_Adapter.php index 5abe4170f..00917462f 100644 --- a/www/pages/Shopimporter_Ebay_Adapter.php +++ b/www/pages/Shopimporter_Ebay_Adapter.php @@ -1,4 +1,4 @@ - +*/ +?> protokoll !== self::PROTOCOL_DISABLED){ - $this->app->erp->LogFile($nachricht, $this->app->DB->real_escape_string($dump)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($nachricht, $dump); } } diff --git a/www/pages/Shopimporter_Gambio_Adapter.php b/www/pages/Shopimporter_Gambio_Adapter.php index 9dd0ff3b6..41fe8d0bb 100644 --- a/www/pages/Shopimporter_Gambio_Adapter.php +++ b/www/pages/Shopimporter_Gambio_Adapter.php @@ -1,4 +1,4 @@ - +*/ +?> protokoll){ - $this->app->erp->LogFile($nachricht, print_r($dump, true)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($nachricht, $dump); } } diff --git a/www/pages/Shopimporter_Presta_Adapter.php b/www/pages/Shopimporter_Presta_Adapter.php index 2e65ee77b..f6dd27d28 100644 --- a/www/pages/Shopimporter_Presta_Adapter.php +++ b/www/pages/Shopimporter_Presta_Adapter.php @@ -1,4 +1,4 @@ - +*/ +?> protokoll){ - $this->app->erp->LogFile($nachricht, print_r($dump, true)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($nachricht, $dump); } } diff --git a/www/pages/api.php b/www/pages/api.php index fe1e9d044..b50140f73 100644 --- a/www/pages/api.php +++ b/www/pages/api.php @@ -69,6 +69,8 @@ class Api { /** @var array $bestBeforeBatchArticleStock */ protected $bestBeforeBatchArticleStock; + private \Psr\Log\LoggerInterface $logger; + /** * Api constructor. * @@ -85,6 +87,7 @@ public function __construct($app, $intern = false) { $this->api_id = 0; $this->datei_id = 0; $this->apiAccountService = $this->app->Container->get('ApiAccountService'); + $this->logger = $this->app->Container->get('Logger'); if($intern) { return; @@ -6122,7 +6125,7 @@ public function ParsePartXmlSupplierorderProductionWithoutId($typ, &$xml, $ueber if(!file_exists($pfad)){ if(!mkdir($pfad, 0777, true) && !is_dir($pfad)) { - $this->app->erp->LogFile($pfad.' konnte nicht erstellt werden'); + $this->logger->warning($pfad.' konnte nicht erstellt werden'); } } @@ -6131,7 +6134,7 @@ public function ParsePartXmlSupplierorderProductionWithoutId($typ, &$xml, $ueber if(!file_exists($speicherpfad)) { if(!mkdir($speicherpfad, 0777, true) && !is_dir($speicherpfad)) { - $this->app->erp->LogFile($speicherpfad.' konnte nicht erstellt werden'); + $this->logger->warning($speicherpfad.' konnte nicht erstellt werden'); } } @@ -6872,7 +6875,7 @@ public function ParsePartXmlOrderOfferWithoutId($typ, &$xml, $uebertragungen_acc if(!file_exists($pfad) && !mkdir($pfad, 0777, true) && !is_dir($pfad)) { - $this->app->erp->LogFile($pfad.' konnte nicht erstellt werden'); + $this->logger->warning($pfad.' konnte nicht erstellt werden'); } $speicherpfad = $pfad.$this->app->Conf->WFdbname; @@ -6880,7 +6883,7 @@ public function ParsePartXmlOrderOfferWithoutId($typ, &$xml, $uebertragungen_acc if(!file_exists($speicherpfad) && !mkdir($speicherpfad, 0777, true) && !is_dir($speicherpfad)) { - $this->app->erp->LogFile($speicherpfad.' konnte nicht erstellt werden'); + $this->logger->warning($speicherpfad.' konnte nicht erstellt werden'); } $fileid = $this->app->erp->CreateDatei($singledatei->dateiname, !empty($singledatei->titel)?$singledatei->titel:$singledatei->dateiname, !empty($singledatei->beschreibung)?(string)$singledatei->beschreibung:'', '', $name, '',true,$speicherpfad); @@ -7798,7 +7801,7 @@ public function SaveXML(&$xml, $dateiname, $action = '', $tag = '') } $folder = dirname($dateiname); if($folder !== '.' && !is_dir($folder) && !mkdir($folder,0700,true) && !is_dir($folder)) { - $this->app->erp->LogFile($folder.' konnte nicht erstellt werden'); + $this->logger->warning($folder.' konnte nicht erstellt werden'); } $content = $this->EntferneSteuerzeichen($content); if(!empty($tag)) { @@ -8955,7 +8958,7 @@ public function ApiBelegCreate($intern = false, $doctype = 'auftrag') break; case 'bestellung': - $this->app->erp->LogFile($adresse); + $this->logger->info($adresse); $id = $this->app->erp->CreateBestellung($adresse); $this->app->erp->LoadBestellungStandardwerte($id,$adresse); break; @@ -10106,7 +10109,7 @@ protected function AddFiles($files, $doctype, $doctypeid) if(!file_exists($pfad) && !mkdir($pfad, 0777, true) && !is_dir($pfad)) { - $this->app->erp->LogFile($pfad.' konnte nicht erstellt werden'); + $this->logger->warning($pfad.' konnte nicht erstellt werden'); } $speicherpfad = $pfad.$this->app->Conf->WFdbname; @@ -10114,7 +10117,7 @@ protected function AddFiles($files, $doctype, $doctypeid) if(!file_exists($speicherpfad) && !mkdir($speicherpfad, 0777, true) && !is_dir($speicherpfad)) { - $this->app->erp->LogFile($speicherpfad.' konnte nicht erstellt werden'); + $this->logger->warning($speicherpfad.' konnte nicht erstellt werden'); } $fileid = $this->app->erp->CreateDatei($file['dateiname'], !empty($file['titel'])?$file['titel']:$file['dateiname'], !empty($file['beschreibung'])?(string)$file['beschreibung']:'', '', $name, '',true,$speicherpfad); diff --git a/www/pages/artikel.php b/www/pages/artikel.php index fce6ac5de..466c8e304 100644 --- a/www/pages/artikel.php +++ b/www/pages/artikel.php @@ -22,6 +22,8 @@ ?> app->erp->base64_url_encode('
' . $remote_message . '
'); } - $this->app->erp->LogFile($this->app->DB->real_escape_string('manueller Shopexport Artikel: '.$this->app->DB->Select("SELECT nummer FROM artikel WHERE id = '$id' LIMIT 1").' Shop: '.$shop.' Status: '.((int) $remote_status)), $remote_message); + $artikelnummer = $this->app->DB->Select("SELECT nummer FROM artikel WHERE id = '$id' LIMIT 1"); + /** @var LoggerInterface $logger */ + $logger = $this->app->Container->get('Logger'); + $level = $remote_status ? LogLevel::INFO : LogLevel::ERROR; + $logger->log($level, 'manueller Shopexport', [ + 'articleNumber' => $artikelnummer, + 'shop' => $shop, + 'remote_status' => $remote_status, + 'remote_message' => $remote_message, + ]); // keine fehlermeldung vom shop if ($remote_status) { diff --git a/www/pages/benutzer.php b/www/pages/benutzer.php index 283461185..f7048d9a7 100644 --- a/www/pages/benutzer.php +++ b/www/pages/benutzer.php @@ -958,7 +958,7 @@ public function permissionLog($grantingUserId,$receivingUserId,$module,$action,$ $userPermission = $this->app->Container->get('UserPermissionService'); $userPermission->log($grantingUserId,$grantingUserName,$receivingUserId,$receivingUserName,$module,$action,$permission); }catch (Exception $ex){ - $this->app->erp->LogFile('Fehler bei Zuweisung Rechtehistore',$ex->getMessage()); + $this->app->Container->get('Logger')->error('Fehler bei Zuweisung Rechtehistore',[$ex->getMessage()]); } } diff --git a/www/pages/content/einstellungen.tpl b/www/pages/content/einstellungen.tpl index 37e41e5e6..8576263c0 100644 --- a/www/pages/content/einstellungen.tpl +++ b/www/pages/content/einstellungen.tpl @@ -171,9 +171,6 @@
- - -
diff --git a/www/pages/logfile.php b/www/pages/logfile.php deleted file mode 100644 index 1e47c4ff9..000000000 --- a/www/pages/logfile.php +++ /dev/null @@ -1,273 +0,0 @@ - -app=$app; - if($intern) { - return; - } - $this->app->ActionHandlerInit($this); - - $this->app->ActionHandler("list","LogfileList"); - $this->app->ActionHandler("delete","LogfileDelete"); - $this->app->ActionHandler("deleteall","LogfileDeleteAll"); - $this->app->ActionHandler("minidetail","LogfileMiniDetail"); - - $this->app->DefaultActionHandler("list"); - - $this->app->ActionHandlerListen($app); - } - - /** - * @param Application $app - * @param string $name - * @param array $erlaubtevars - * - * @return array - */ - public function TableSearch($app, $name, $erlaubtevars) - { - // in dieses switch alle lokalen Tabellen (diese Live Tabellen mit Suche etc.) für dieses Modul - switch($name) - { - case 'logfile': - $allowed['logfile'] = array('list'); - - // START EXTRA checkboxen - - // ENDE EXTRA checkboxen - - - // headings - - $heading = array('', 'ID', 'Zeit', 'Bearbeiter', 'Module', 'Action', 'Funktion', 'Meldung', 'Menü'); - $width = array('4%', '4%', '15%', '10%', '10%', '10%', '10%', '40%', '10%', '5%'); - $findcols = array('open', 'a.id', 'a.datum', 'a.bearbeiter', 'a.module', 'a.action', 'a.funktionsname', 'a.meldung', 'a.id'); - $searchsql = array("DATE_FORMAT(a.datum,'%d.%m.%Y %H:%i:%s')", 'a.bearbeiter', 'a.module', 'a.meldung', 'a.action', 'a.funktionsname'); - $defaultorder = 2; - $defaultorderdesc = 1; - $menucol = 1; - $moreinfo = true; - $menu = '
' . - - // "". - - // "app->Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\">". - - - // " ". - - "" . "app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">" . "
"; - - // SQL statement - $sql = "SELECT SQL_CALC_FOUND_ROWS a.id, 'app->Conf->WFconf['defaulttheme']}/images/details_open.png class=details>' as open, a.id,DATE_FORMAT(a.datum,'%d.%m.%Y %H:%i:%s'), a.bearbeiter, - a.module, a.action, a.funktionsname,a.meldung, a.id FROM logfile a"; - - - if($app->erp->GetKonfiguration('logfile_use_fulltext')){ - $matchesql = [ - 'sqlpre' => $sql . ' INNER JOIN (', - 'sqlpost' => ' ) AS `matches` ON matches.id = a.id ', - 'elements' => [] - ]; - $matchesql['elements'][] = [ - 'sql' => 'SELECT l.id - FROM logfile l', - 'where' => ["DATE_FORMAT(l.datum,'%d.%m.%Y %H:%i:%s')", 'l.bearbeiter', 'l.module', 'l.action', 'l.funktionsname'], - 'match' => ['l.meldung', 'l.dump'] - ]; - }else{ - unset($matchesql); - } - - - // gesamt anzahl - - $count = 'SELECT COUNT(a.id) FROM logfile a'; - break; - } - - $erg = array(); - - foreach($erlaubtevars as $k => $v) - { - if(isset($$v)){ - $erg[$v] = $$v; - } - } - return $erg; - } - - public function LogFileMiniDetail() - { - $id = $this->app->Secure->GetGET('id'); - if($id > 0){ - $dump = $this->app->DB->SelectRow("SELECT funktionsname,dump FROM logfile WHERE id='$id' LIMIT 1"); - } - if(!empty($dump)){ - echo '
Funktion ' . $dump['funktionsname'] . ':
'; - echo '

Dump:' . $dump['dump'] . '

'; - if(is_array(unserialize($dump['dump']))){ - echo '
';
-        print_r(unserialize($dump['dump']));
-        echo '
'; - } - } - $this->app->ExitXentral(); - } - - public function LogfileDelete() - { - $id = $this->app->Secure->GetGET('id'); - if($id > 0){ - $this->app->DB->Delete( - sprintf( - 'DELETE FROM `logfile` WHERE `id` = %d LIMIT 1', - $id - ) - ); - } - $msg = $this->app->erp->base64_url_encode('
Der Logeintrag wurde gelöscht!
'); - $this->app->Location->execute('index.php?module=logfile&action=list&msg='.$msg); - } - - - public function LogfileDeleteAll() - { - $this->app->DB->Delete('DELETE FROM `logfile`'); - $this->app->DB->Query('OPTIMIZE TABLE `logfile`'); - $msg = $this->app->erp->base64_url_encode('
Alle Logeinträge wurden wurden gelöscht!
'); - $this->app->Location->execute('index.php?module=logfile&action=list&msg='.$msg); - } - - public function LogfileList() - { - $this->LogfileMenu(); - $isLoggingActive = $this->isLoggingActive(); - if($isLoggingActive) { - $this->app->Tpl->Set('LOGGINGACTIVE', 'checked'); - } - $this->app->YUI->AutoSaveKonfiguration('logginActive', 'logfile_logging_active'); - //$this->app->erp->InternesEvent($this->app->User->GetID(),"Hallo","alarm",1); - - $this->app->YUI->TableSearch('TAB1','logfile','show','','',basename(__FILE__), __CLASS__); - $this->app->Tpl->Parse('PAGE','logfile_list.tpl'); - } - - public function LogfileMenu() - { - $this->app->erp->Headlines('Logdatei'); - $this->app->erp->MenuEintrag('index.php?module=einstellungen&action=list','Zurück zur Übersicht'); - $this->app->erp->MenuEintrag('index.php?module=logfile&action=list','Aktualisieren'); - $this->app->erp->MenuEintrag('index.php?module=logfile&action=deleteall','Alle Einträge löschen'); - } - - public function Install() { - $this->app->erp->CheckTable('logfile'); - $this->app->erp->CheckColumn('id','int(11)','logfile','NOT NULL AUTO_INCREMENT'); - $this->app->erp->CheckColumn('meldung','TEXT','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('dump','TEXT','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('module','VARCHAR(64)','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('action','VARCHAR(64)','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('bearbeiter','VARCHAR(64)','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('funktionsname','VARCHAR(64)','logfile','DEFAULT \'\' NOT NULL'); - $this->app->erp->CheckColumn('datum','DATETIME','logfile'); - - $hasFullIndex = $this->app->erp->CheckFulltextIndex('logfile',['meldung', 'dump']); - $this->app->erp->SetKonfigurationValue('logfile_use_fulltext', $hasFullIndex); - } - - /** - * @return bool - */ - public function isLoggingActive() - { - if($this->logging !== null) { - return (bool)$this->logging; - } - $loggingActive = (string)$this->app->erp->GetKonfiguration('logfile_logging_active'); - if($loggingActive === '') { - $this->app->erp->SetKonfigurationValue('logfile_logging_active', '0'); - $this->logging = false; - - return false; - } - $this->logging = (bool)$loggingActive; - - return $this->logging; - } - - /** - * @param bool $status - */ - public function changeLoggingStatus($status) - { - $this->logging = (bool)$status; - $this->app->erp->SetKonfigurationValue('logfile_logging_active', (int)$this->logging); - } - - /** - * @param array|string $meldung - * @param string $dump - * @param string $module - * @param string $action - * @param string $functionname - * - * @return int - */ - public function addLogFile($meldung,$dump='',$module='',$action='',$functionname='') - { - if(!$this->isLoggingActive()) { - return 0; - } - if($functionname=='') { - if (strnatcmp(phpversion(),'5.0.0') >= 0) { - $backtrace = debug_backtrace(); - $functionname = isset($backtrace[1]) && isset($backtrace[1]['function'])?$backtrace[1]['function']:''; - if($functionname === 'LogFile') { - $functionname = isset($backtrace[2]) && isset($backtrace[2]['function'])?$backtrace[2]['function']:''; - } - } - } - - $module = $this->app->DB->real_escape_string(is_scalar($module) ? strval($module) : print_r($module, true)); - $action = $this->app->DB->real_escape_string(is_scalar($action) ? strval($action) : print_r($action, true)); - $meldung = $this->app->DB->real_escape_string(is_scalar($meldung) ? strval($meldung) : print_r($meldung, true)); - $dump = $this->app->DB->real_escape_string(is_scalar($dump) ? strval($dump) : print_r($dump, true)); - $functionname = $this->app->DB->real_escape_string(is_scalar($functionname) ? strval($functionname) : print_r($functionname, true)); - - $this->app->DB->Insert( - sprintf( - "INSERT INTO logfile (module,action,meldung,dump,datum,bearbeiter,funktionsname) - VALUES ('%s','%s','%s','%s',NOW(),'','%s')", - $module, $action,$meldung,$dump,$functionname - ) - ); - - return (int)$this->app->DB->GetInsertID(); - } -} diff --git a/www/pages/prozessstarter.php b/www/pages/prozessstarter.php index 5c1654216..b2c1b4954 100644 --- a/www/pages/prozessstarter.php +++ b/www/pages/prozessstarter.php @@ -31,6 +31,8 @@ class Prozessstarter extends GenProzessstarter { /** @var int */ protected $parentId; + private \Psr\Log\LoggerInterface $logger; + /** * @param Application $app * @param string $name @@ -156,6 +158,8 @@ public function __construct($app, $intern = false) { return; } + $this->logger = $this->app->Container->get('Logger'); + $this->app->ActionHandlerInit($this); $this->app->ActionHandler("create","ProzessstarterCreate"); @@ -1175,7 +1179,7 @@ public function checkIfCronjobRunning($uid, $task) ) { return; } - $this->app->erp->LogFile( + $this->logger->warning( sprintf( 'Cronjob %s with pid: %s and taskid: %d cronjob_starter_running_id %d was not closed cleanly by starter-proccess.', $task['bezeichnung'], $uid, $task['id'], $runningTask['id'] @@ -1201,14 +1205,14 @@ public function closeAndLogCronjob($uid, $fromStarter2 = false) } if($fromStarter2) { - $this->app->erp->LogFile('Cronjob '.$cronjob['cronjob_name'].' called exit uid: '.$uid); + $this->logger->info('Cronjob '.$cronjob['cronjob_name'].' called exit uid: '.$uid); if(!empty($cronjob['task_id'])) { $this->setCronjobStatus('error', $cronjob['task_id']); $this->setCronjobRunning($uid, $cronjob['task_id'], false); } return; } - $this->app->erp->LogFile('Cronjob with uid: '.$uid.' was killed by module: '.$cronjob['cronjob_name']); + $this->logger->info('Cronjob with uid: '.$uid.' was killed by module: '.$cronjob['cronjob_name']); if(!empty($cronjob['task_id'])) { $this->setCronjobStatus('error', $cronjob['task_id']); @@ -1245,7 +1249,7 @@ public function removeKilledCronjobs() ) ); if($this->app->DB->affected_rows() > 0) { - $this->app->erp->LogFile( + $this->logger->warning( $this->app->DB->real_escape_string( 'Cronjob '.( $this->app->DB->Select( @@ -1468,7 +1472,7 @@ public function setCronjobRunning($uid, $task = null, $active = true) { } if(!empty($check['task_id']) && ($uid != $check['uid'] || $check['task_id'] != $task['id'])) { - $this->app->erp->LogFile( + $this->logger->warning( $this->app->DB->real_escape_string( sprintf( 'Cronjob: %s id: %d was not cleanly closed.', diff --git a/www/pages/report.php b/www/pages/report.php index 69bf0ebf3..a6af79001 100644 --- a/www/pages/report.php +++ b/www/pages/report.php @@ -77,6 +77,8 @@ class Report /** @var Request $request */ private $request; + private \Psr\Log\LoggerInterface $logger; + /** @var array $parameterNameBlacklist */ private $parameterNameBlacklist = [ 'MODULE', 'ACTION', 'CMD', 'ID', 'FORMAT', 'USER_ID', 'USER_PROJECTS', 'USER_ADMIN', 'REPORT_PROJECT' @@ -98,6 +100,7 @@ public function __construct($app, $intern = false) $this->template = $this->app->Tpl; $this->app->ActionHandlerInit($this); $this->request = $this->app->Container->get('Request'); + $this->logger = $this->app->Container->get('Logger'); // ab hier alle Action Handler definieren die das Modul hat $this->app->ActionHandler('list', 'HandleActionList'); @@ -1326,7 +1329,7 @@ public function ReportTable() $this->renderErrorMessages(['Keine Daten gefunden.'], $this->app->Tpl); } catch (Exception $e) { - $this->app->erp->LogFile('Exception while creating report', $e); + $this->logger->error('Exception while creating report', ['exception' => $e]); $this->renderErrorMessages(['Fehler beim Abrufen des Berichts.'], $this->app->Tpl); } @@ -3151,8 +3154,7 @@ private function installJsonReports() { $importDir = dirname(__DIR__, 2) . '/classes/Modules/Report/files'; if (!is_dir($importDir)) { - $this->app->erp->LogFile('Importverzeichnis kann nicht gefunden werden.', $importDir); - + $this->logger->error('Importverzeichnis kann nicht gefunden werden.', ['dir' => $importDir]); return; } $allFiles =scandir($importDir); @@ -3163,12 +3165,12 @@ private function installJsonReports() } } if ((!empty($importPaths)?count($importPaths):0) === 0) { - $this->app->erp->LogFile('No files available for import.', $importDir); + $this->logger->error('No files available for import.', ['dir' => $importDir]); return; } if (!$this->app->Container->has('ReportJsonImportService')) { - $this->app->erp->LogFile('Service ReportJsonImportService not available.'); + $this->logger->error('Service ReportJsonImportService not available.'); return; } @@ -3183,18 +3185,14 @@ private function installJsonReports() $data = json_decode($content, true); $errors = $importer->findJsonStructureErrors($data); if ((!empty($errors)?count($errors):0) > 0) { - $this->app->erp->Logfile( - sprintf( - 'Json parse error in File %s.', $filePath), - implode("\n", $errors) - ); + $this->logger->error('Json parse error', ['file' => $filePath, 'errors' => $errors]); throw new JsonParseException(sprintf('Json parse error in File %s', $filePath)); } $data['readonly'] = true; $importer->importReport($data); $importedReportNames[] = $data['name']; } catch (Exception $e) { - $this->app->erp->LogFile(sprintf('Import of json file failed %s', $filePath),$e); + $this->logger->error('Json import error', ['file' => $filePath, 'error' => $e->getMessage()]); } } diff --git a/www/pages/shopexport.php b/www/pages/shopexport.php index fa80b036c..6355527ee 100644 --- a/www/pages/shopexport.php +++ b/www/pages/shopexport.php @@ -660,7 +660,7 @@ public function HandleResetArticleCacheForArticleWithZeroStock(): RedirectRespon WHERE (oa.storage_cache = 0 OR oa.storage_cache IS NULL) AND a.geloescht = 0" ); $anz = $this->app->DB->affected_rows(); - $this->app->erp->LogFile("Lagerzahlencache zurückgesetzt für $anz Artikel mit 0-Mengen, shopid: $id"); + $this->app->Container->get('Logger')->info("Lagerzahlencache zurückgesetzt für $anz Artikel mit 0-Mengen, shopid: $id"); } $msg = $this->app->erp->base64_url_encode( "
Lagerzahlen Cache für ".$anz." Artikel zurückgesetzt.
" @@ -701,7 +701,7 @@ public function ShopexportArtikeluebertragung() LEFT JOIN (SELECT artikel FROM artikel_onlineshops WHERE shop = '$id' AND aktiv = 1 GROUP BY artikel) oa ON a.id = oa.artikel SET a.cache_lagerplatzinhaltmenge = -999 WHERE (a.shop = '$id' OR a.shop2 = '$id' OR a.shop3 = '$id' OR NOT ISNULL(oa.artikel)) AND a.geloescht = 0"); $anz = $this->app->DB->affected_rows(); - $this->app->erp->LogFile("Lagerzahlencache zurückgesetzt für $anz Artikel, shopid: $id"); + $this->app->Container->get('Logger')->info("Lagerzahlencache zurückgesetzt für $anz Artikel, shopid: $id"); } $msg = $this->app->erp->base64_url_encode("
Lagerzahlen Cache für ".$anz." Artikel zurückgesetzt.
"); $this->app->Location->execute("index.php?module=shopexport&action=artikeluebertragung&id=$id&msg=$msg"); diff --git a/www/pages/shopimport.php b/www/pages/shopimport.php index 664907ba3..5a430d8e7 100644 --- a/www/pages/shopimport.php +++ b/www/pages/shopimport.php @@ -1016,7 +1016,7 @@ public function importShopOrder($shopImportedOrderId, $utf8coding, $customerNumb $umlautefehler = false; if ((String) $shopOrder['name'] !== '' && (String) $shopOrderCleaned['name'] === '') { $umlautefehler = true; - $this->app->erp->LogFile('Kodierungsfehler in shopimport_auftraege ' . $shopImportedOrderId); + $this->app->Container->get('Logger')->error('Kodierungsfehler in shopimport_auftraege ' . $shopImportedOrderId); } $succes = $this->KundeAnlegenUpdate($shopImportedOrderId, '', $shopOrderCleaned, $customerNumber, $custumerNumberImported, $unknownPaymentTypes); diff --git a/www/pages/shopimporter_presta.php b/www/pages/shopimporter_presta.php index 7fce9ab3a..a20fc8a3e 100644 --- a/www/pages/shopimporter_presta.php +++ b/www/pages/shopimporter_presta.php @@ -454,10 +454,13 @@ public function getOrderSearchLimit(): int return 25; } - private function Log($message, $dump = '') + private function Log($message, $dump = null) { if ($this->protocol) { - $this->app->erp->Logfile($message, print_r($dump, true)); + if ($dump !== null && !is_array($dump)) { + $dump = [$dump]; + } + $this->app->Container->get('Logger')->info($message, $dump); } } diff --git a/www/pages/shopimporter_shopify.php b/www/pages/shopimporter_shopify.php index 01a9dd6c0..9f11dda53 100644 --- a/www/pages/shopimporter_shopify.php +++ b/www/pages/shopimporter_shopify.php @@ -3425,7 +3425,7 @@ public function ImportUpdateAuftrag() $result = $this->adapter->call('orders/' . $auftrag . '/fulfillments.json', 'POST', $data); if($this->logging){ - $this->app->erp->LogFile(array($data, $auftrag, $data, $result['data'])); + $this->app->Container->get('Logger')->info('Update Auftrag', array($data, $auftrag, $data, $result['data'])); } $this->adapter->call('orders/' . $auftrag . '/metafields.json', 'POST', array('metafield' => [ 'key' => 'sync_status', @@ -3435,7 +3435,7 @@ public function ImportUpdateAuftrag() ])); }else{ if($this->logging){ - $this->app->erp->LogFile(array($data, $auftrag,'Kein Auftrag')); + $this->app->Container->get('Logger')->info('Kein Auftrag', array($auftrag)); } } return 'OK'; @@ -3687,9 +3687,11 @@ public function ImportAuth() } - function ShopifyLog($nachricht, $dump = ''){ + function ShopifyLog($nachricht, $dump = null){ if($this->logging){ - $this->app->erp->LogFile($nachricht, print_r($dump,true)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($nachricht, $dump); } } diff --git a/www/pages/shopimporter_shopware.php b/www/pages/shopimporter_shopware.php index 2af27c1d3..c3925a645 100644 --- a/www/pages/shopimporter_shopware.php +++ b/www/pages/shopimporter_shopware.php @@ -2635,10 +2635,12 @@ protected function removeOrderFromOrderList($orderId, $orders) { return $orders; } - public function ShopwareLog($nachricht, $dump = '') + public function ShopwareLog($nachricht, $dump = null) { if($this->protokoll){ - $this->app->erp->Logfile($nachricht, print_r($dump, true)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($nachricht, $dump); } } diff --git a/www/pages/shopimporter_shopware6.php b/www/pages/shopimporter_shopware6.php index f54ad7417..a4aad65f1 100644 --- a/www/pages/shopimporter_shopware6.php +++ b/www/pages/shopimporter_shopware6.php @@ -950,10 +950,12 @@ public function getCorrectedStockFromAvailable(bool $isStockActive, int $stock, * @param string $message * @param mixed $dump */ - public function Shopware6Log($message, $dump = '') + public function Shopware6Log($message, $dump = null) { if ($this->protocol) { - $this->app->erp->Logfile($message, print_r($dump, true)); + if ($dump !== null && !is_array($dump)) + $dump = ['dump' => $dump]; + $this->app->Container->get('Logger')->info($message, $dump); } } diff --git a/www/pages/welcome.php b/www/pages/welcome.php index 6dd8a081f..512ed1057 100644 --- a/www/pages/welcome.php +++ b/www/pages/welcome.php @@ -936,7 +936,7 @@ protected function checkFreeSpace(){ } } catch(Exception $e){ - $this->app->erp->LogFile('can not evaluate disk space: ' . $e->getMessage()); + $this->app->Container->get('Logger')->warning('can not evaluate disk space: ' . $e->getMessage()); } } diff --git a/www/plugins/liveimport/payone/payone.php b/www/plugins/liveimport/payone/payone.php index 8c5942d07..211747d22 100644 --- a/www/plugins/liveimport/payone/payone.php +++ b/www/plugins/liveimport/payone/payone.php @@ -498,6 +498,8 @@ protected function GetFile($from, $to, $ssl, $url, $port, $username, $pw, $subdi function Import($config, $app) { $this->app = $app; + /** @var \Psr\Log\LoggerInterface $logger */ + $logger = $this->app->Container->get('Logger'); $csv = []; $index = []; $description = []; @@ -509,7 +511,7 @@ function Import($config, $app) catch (Exception $e) { $filename = ''; } - list($ftphost, $ftpport, $ftpuser, $ftppassword, $ftpdebug, $ftpssl, $ftpsubdir, $sftp) = $this->getFtp($config); + [$ftphost, $ftpport, $ftpuser, $ftppassword, $ftpdebug, $ftpssl, $ftpsubdir, $sftp] = $this->getFtp($config); if($ftphost) { @@ -520,13 +522,13 @@ function Import($config, $app) $folder = $this->app->erp->GetTMP().'payone'; if(!file_exists($folder)) { if(!mkdir($folder) && !is_dir($folder)) { - $this->app->erp->LogFile($folder.' konnte nicht erstellt werden'); + $logger->warning($folder.' konnte nicht erstellt werden'); } } $folder = $folder.'/'.$this->app->Conf->WFdbname; if(!file_exists($folder)) { if(!mkdir($folder) && !is_dir($folder)) { - $this->app->erp->LogFile($folder.' konnte nicht erstellt werden'); + $logger->warning($folder.' konnte nicht erstellt werden'); } } $tofile = $folder.'/'.$filename; @@ -539,7 +541,7 @@ function Import($config, $app) } catch(Exception $e) { $this->fehler[] = $e->getMessage(); - $this->app->erp->LogFile($e->getMessage()); + $logger->error($e->getMessage()); return ''; } try { @@ -547,7 +549,7 @@ function Import($config, $app) } catch(Exception $e) { $this->fehler[] = $e->getMessage(); - $this->app->erp->LogFile($e->getMessage()); + $logger->error($e->getMessage()); return ''; } $list = $connection->scanFilesystem($ftpsubdir); @@ -567,7 +569,7 @@ function Import($config, $app) } catch (Exception $e) { $this->fehler[] = $e->getMessage(); - $this->app->erp->LogFile($e->getMessage()); + $logger->error($e->getMessage()); continue; } } @@ -587,7 +589,7 @@ function Import($config, $app) } catch (Exception $e) { $this->fehler[] = $e->getMessage(); - $this->app->erp->LogFile($e->getMessage()); + $logger->error($e->getMessage()); } } else{ @@ -628,7 +630,7 @@ function Import($config, $app) } catch(Exception $e) { if($ftpdebug) { - $this->app->erp->LogFile(['Error '.$e->getMessage().' in File '.$filename, $line]); + $logger->error('Error '.$e->getMessage().' in File '.$filename, $line); } throw new Exception($e->getMessage().' in File '.$filename, $e->getCode()); } @@ -640,7 +642,7 @@ function Import($config, $app) } catch (Exception $e) { if($ftpdebug) { - $this->app->erp->LogFile(['Error '.$e->getMessage().' in File '.$filename, $line]); + $logger->error('Error '.$e->getMessage().' in File '.$filename, $line); } throw new Exception($e->getMessage().' in File '.$filename, $e->getCode()); } @@ -650,7 +652,7 @@ function Import($config, $app) } catch (Exception $e) { if($ftpdebug) { - $this->app->erp->LogFile(['Error '.$e->getMessage().' in File '.$filename, $line]); + $logger->error('Error '.$e->getMessage().' in File '.$filename, $line); } throw new Exception($e->getMessage().' in File '.$filename, $e->getCode()); } @@ -733,7 +735,7 @@ public function ImportKontoauszug($csv, $konto, $app) $this->checkMissingArrayValues($header, $this->requiredHeaders); } catch(Exception $e) { - $this->app->erp->LogFile(['Error '.$e->getMessage(), $header]); + $this->app->Container->get('Logger')->error('Error '.$e->getMessage(), $header); throw new Exception($e->getMessage().' in '.json_encode($header), $e->getCode()); } diff --git a/www/widgets/widget.gruppen.php b/www/widgets/widget.gruppen.php index 6591456c8..5e8afa6dc 100644 --- a/www/widgets/widget.gruppen.php +++ b/www/widgets/widget.gruppen.php @@ -54,7 +54,6 @@ function ExtendsForm() // liste zuweisen if($this->app->Secure->POST["projekt"]=="") { - $this->app->erp->LogFile("Standard Projekt laden"); $projekt = $this->app->DB->Select("SELECT standardprojekt FROM firma WHERE id='".$this->app->User->GetFirma()."' LIMIT 1"); $projekt_bevorzugt=$this->app->DB->Select("SELECT projekt_bevorzugen FROM user WHERE id='".$this->app->User->GetID()."' LIMIT 1"); diff --git a/www/widgets/widget.wiedervorlage.php b/www/widgets/widget.wiedervorlage.php index ce159141a..c75dfc963 100644 --- a/www/widgets/widget.wiedervorlage.php +++ b/www/widgets/widget.wiedervorlage.php @@ -81,7 +81,6 @@ function ExtendsForm() if($this->app->Secure->POST["projekt"]=="") { - $this->app->erp->LogFile("Standard Projekt laden"); $projekt = $this->app->DB->Select("SELECT standardprojekt FROM firma WHERE id='".$this->app->User->GetFirma()."' LIMIT 1"); $projekt_bevorzugt=$this->app->DB->Select("SELECT projekt_bevorzugen FROM user WHERE id='".$this->app->User->GetID()."' LIMIT 1"); From f4aebc24d4f4081e42aaa18c45a091079e34cced Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Tue, 10 Mar 2026 11:14:29 +0100 Subject: [PATCH 12/15] Remove unused dependency league/oauth1-client --- composer.json | 1 - composer.lock | 77 +- vendor/composer/autoload_classmap.php | 26 - vendor/composer/autoload_files.php | 4 +- vendor/composer/autoload_psr4.php | 1 - vendor/composer/autoload_static.php | 35 +- vendor/composer/installed.json | 78 - vendor/composer/installed.php | 9 - vendor/league/oauth1-client/.gitignore | 7 - vendor/league/oauth1-client/.php_cs.dist | 29 - vendor/league/oauth1-client/.scrutinizer.yml | 35 - vendor/league/oauth1-client/.travis.yml | 57 - vendor/league/oauth1-client/CHANGELOG.md | 20 - vendor/league/oauth1-client/CONDUCT.md | 22 - vendor/league/oauth1-client/CONTRIBUTING.md | 32 - vendor/league/oauth1-client/LICENSE | 21 - vendor/league/oauth1-client/README.md | 264 -- vendor/league/oauth1-client/composer.json | 65 - vendor/league/oauth1-client/phpstan.neon | 11 - vendor/league/oauth1-client/phpunit.php | 5 - vendor/league/oauth1-client/phpunit.xml | 27 - .../resources/examples/tumblr.php | 87 - .../resources/examples/twitter.php | 91 - .../oauth1-client/resources/examples/xing.php | 91 - vendor/league/oauth1-client/rfc5849.txt | 2131 ----------------- .../src/Credentials/ClientCredentials.php | 29 - .../ClientCredentialsInterface.php | 22 - .../src/Credentials/Credentials.php | 52 - .../src/Credentials/CredentialsException.php | 9 - .../src/Credentials/CredentialsInterface.php | 38 - .../src/Credentials/RsaClientCredentials.php | 110 - .../src/Credentials/TemporaryCredentials.php | 7 - .../src/Credentials/TokenCredentials.php | 7 - .../oauth1-client/src/Server/Bitbucket.php | 96 - .../oauth1-client/src/Server/Magento.php | 218 -- .../oauth1-client/src/Server/Server.php | 725 ------ .../oauth1-client/src/Server/Trello.php | 254 -- .../oauth1-client/src/Server/Tumblr.php | 101 - .../oauth1-client/src/Server/Twitter.php | 100 - .../league/oauth1-client/src/Server/User.php | 134 -- .../oauth1-client/src/Server/Uservoice.php | 130 - .../league/oauth1-client/src/Server/Xing.php | 95 - .../src/Signature/EncodesUrl.php | 115 - .../src/Signature/HmacSha1Signature.php | 40 - .../src/Signature/PlainTextSignature.php | 22 - .../src/Signature/RsaSha1Signature.php | 35 - .../oauth1-client/src/Signature/Signature.php | 55 - .../src/Signature/SignatureInterface.php | 46 - .../tests/ClientCredentialsTest.php | 28 - .../tests/HmacSha1SignatureTest.php | 156 -- .../tests/PlainTextSignatureTest.php | 43 - .../tests/RsaClientCredentialsTest.php | 75 - .../tests/RsaSha1SignatureTest.php | 148 -- .../league/oauth1-client/tests/ServerTest.php | 313 --- .../oauth1-client/tests/TrelloServerTest.php | 349 --- .../oauth1-client/tests/XingServerTest.php | 255 -- .../oauth1-client/tests/stubs/ServerStub.php | 77 - .../tests/test_rsa_invalidkey.pem | 1 - .../tests/test_rsa_privatekey.pem | 15 - .../tests/test_rsa_publickey.pem | 19 - 60 files changed, 5 insertions(+), 7140 deletions(-) delete mode 100644 vendor/league/oauth1-client/.gitignore delete mode 100644 vendor/league/oauth1-client/.php_cs.dist delete mode 100644 vendor/league/oauth1-client/.scrutinizer.yml delete mode 100644 vendor/league/oauth1-client/.travis.yml delete mode 100644 vendor/league/oauth1-client/CHANGELOG.md delete mode 100644 vendor/league/oauth1-client/CONDUCT.md delete mode 100644 vendor/league/oauth1-client/CONTRIBUTING.md delete mode 100644 vendor/league/oauth1-client/LICENSE delete mode 100644 vendor/league/oauth1-client/README.md delete mode 100644 vendor/league/oauth1-client/composer.json delete mode 100644 vendor/league/oauth1-client/phpstan.neon delete mode 100644 vendor/league/oauth1-client/phpunit.php delete mode 100644 vendor/league/oauth1-client/phpunit.xml delete mode 100644 vendor/league/oauth1-client/resources/examples/tumblr.php delete mode 100644 vendor/league/oauth1-client/resources/examples/twitter.php delete mode 100644 vendor/league/oauth1-client/resources/examples/xing.php delete mode 100644 vendor/league/oauth1-client/rfc5849.txt delete mode 100644 vendor/league/oauth1-client/src/Credentials/ClientCredentials.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/Credentials.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/CredentialsException.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/CredentialsInterface.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/RsaClientCredentials.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/TemporaryCredentials.php delete mode 100644 vendor/league/oauth1-client/src/Credentials/TokenCredentials.php delete mode 100644 vendor/league/oauth1-client/src/Server/Bitbucket.php delete mode 100644 vendor/league/oauth1-client/src/Server/Magento.php delete mode 100644 vendor/league/oauth1-client/src/Server/Server.php delete mode 100644 vendor/league/oauth1-client/src/Server/Trello.php delete mode 100644 vendor/league/oauth1-client/src/Server/Tumblr.php delete mode 100644 vendor/league/oauth1-client/src/Server/Twitter.php delete mode 100644 vendor/league/oauth1-client/src/Server/User.php delete mode 100644 vendor/league/oauth1-client/src/Server/Uservoice.php delete mode 100644 vendor/league/oauth1-client/src/Server/Xing.php delete mode 100644 vendor/league/oauth1-client/src/Signature/EncodesUrl.php delete mode 100644 vendor/league/oauth1-client/src/Signature/HmacSha1Signature.php delete mode 100644 vendor/league/oauth1-client/src/Signature/PlainTextSignature.php delete mode 100644 vendor/league/oauth1-client/src/Signature/RsaSha1Signature.php delete mode 100644 vendor/league/oauth1-client/src/Signature/Signature.php delete mode 100644 vendor/league/oauth1-client/src/Signature/SignatureInterface.php delete mode 100644 vendor/league/oauth1-client/tests/ClientCredentialsTest.php delete mode 100644 vendor/league/oauth1-client/tests/HmacSha1SignatureTest.php delete mode 100644 vendor/league/oauth1-client/tests/PlainTextSignatureTest.php delete mode 100644 vendor/league/oauth1-client/tests/RsaClientCredentialsTest.php delete mode 100644 vendor/league/oauth1-client/tests/RsaSha1SignatureTest.php delete mode 100644 vendor/league/oauth1-client/tests/ServerTest.php delete mode 100644 vendor/league/oauth1-client/tests/TrelloServerTest.php delete mode 100644 vendor/league/oauth1-client/tests/XingServerTest.php delete mode 100644 vendor/league/oauth1-client/tests/stubs/ServerStub.php delete mode 100644 vendor/league/oauth1-client/tests/test_rsa_invalidkey.pem delete mode 100644 vendor/league/oauth1-client/tests/test_rsa_privatekey.pem delete mode 100644 vendor/league/oauth1-client/tests/test_rsa_publickey.pem diff --git a/composer.json b/composer.json index 71bd14a10..c56297207 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,6 @@ "laminas/laminas-mail": "^2.12.5", "league/color-extractor": "0.3.2", "league/flysystem": "^1.0.70", - "league/oauth1-client": "v1.9.0", "lfkeitel/phptotp": "^1.0", "nikic/fast-route": "^1.3", "phpmailer/phpmailer": "v6.3.0", diff --git a/composer.lock b/composer.lock index b01c34d52..4e9c03734 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4dcd0a8acfa074192ad0024c8924b5cf", + "content-hash": "8803960c5ca6017b3869691f40be7ad7", "packages": [ { "name": "aura/sqlquery", @@ -1310,81 +1310,6 @@ ], "time": "2024-09-21T08:32:55+00:00" }, - { - "name": "league/oauth1-client", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-openssl": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "php": ">=7.1||>=8.0" - }, - "require-dev": { - "ext-simplexml": "*", - "friendsofphp/php-cs-fixer": "^2.17", - "mockery/mockery": "^1.3.3", - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5||9.5" - }, - "suggest": { - "ext-simplexml": "For decoding XML-based responses." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\OAuth1\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "description": "OAuth 1.0 Client Library", - "keywords": [ - "Authentication", - "SSO", - "authorization", - "bitbucket", - "identity", - "idp", - "oauth", - "oauth1", - "single sign on", - "trello", - "tumblr", - "twitter" - ], - "support": { - "issues": "https://github.com/thephpleague/oauth1-client/issues", - "source": "https://github.com/thephpleague/oauth1-client/tree/v1.9.0" - }, - "time": "2021-01-20T01:40:53+00:00" - }, { "name": "lfkeitel/phptotp", "version": "v1.1.0", diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index c07aa0219..a448f3ca1 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -1624,29 +1624,6 @@ 'League\\MimeTypeDetection\\GeneratedExtensionToMimeTypeMap' => $vendorDir . '/league/mime-type-detection/src/GeneratedExtensionToMimeTypeMap.php', 'League\\MimeTypeDetection\\MimeTypeDetector' => $vendorDir . '/league/mime-type-detection/src/MimeTypeDetector.php', 'League\\MimeTypeDetection\\OverridingExtensionToMimeTypeMap' => $vendorDir . '/league/mime-type-detection/src/OverridingExtensionToMimeTypeMap.php', - 'League\\OAuth1\\Client\\Credentials\\ClientCredentials' => $vendorDir . '/league/oauth1-client/src/Credentials/ClientCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\ClientCredentialsInterface' => $vendorDir . '/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php', - 'League\\OAuth1\\Client\\Credentials\\Credentials' => $vendorDir . '/league/oauth1-client/src/Credentials/Credentials.php', - 'League\\OAuth1\\Client\\Credentials\\CredentialsException' => $vendorDir . '/league/oauth1-client/src/Credentials/CredentialsException.php', - 'League\\OAuth1\\Client\\Credentials\\CredentialsInterface' => $vendorDir . '/league/oauth1-client/src/Credentials/CredentialsInterface.php', - 'League\\OAuth1\\Client\\Credentials\\RsaClientCredentials' => $vendorDir . '/league/oauth1-client/src/Credentials/RsaClientCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\TemporaryCredentials' => $vendorDir . '/league/oauth1-client/src/Credentials/TemporaryCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\TokenCredentials' => $vendorDir . '/league/oauth1-client/src/Credentials/TokenCredentials.php', - 'League\\OAuth1\\Client\\Server\\Bitbucket' => $vendorDir . '/league/oauth1-client/src/Server/Bitbucket.php', - 'League\\OAuth1\\Client\\Server\\Magento' => $vendorDir . '/league/oauth1-client/src/Server/Magento.php', - 'League\\OAuth1\\Client\\Server\\Server' => $vendorDir . '/league/oauth1-client/src/Server/Server.php', - 'League\\OAuth1\\Client\\Server\\Trello' => $vendorDir . '/league/oauth1-client/src/Server/Trello.php', - 'League\\OAuth1\\Client\\Server\\Tumblr' => $vendorDir . '/league/oauth1-client/src/Server/Tumblr.php', - 'League\\OAuth1\\Client\\Server\\Twitter' => $vendorDir . '/league/oauth1-client/src/Server/Twitter.php', - 'League\\OAuth1\\Client\\Server\\User' => $vendorDir . '/league/oauth1-client/src/Server/User.php', - 'League\\OAuth1\\Client\\Server\\Uservoice' => $vendorDir . '/league/oauth1-client/src/Server/Uservoice.php', - 'League\\OAuth1\\Client\\Server\\Xing' => $vendorDir . '/league/oauth1-client/src/Server/Xing.php', - 'League\\OAuth1\\Client\\Signature\\EncodesUrl' => $vendorDir . '/league/oauth1-client/src/Signature/EncodesUrl.php', - 'League\\OAuth1\\Client\\Signature\\HmacSha1Signature' => $vendorDir . '/league/oauth1-client/src/Signature/HmacSha1Signature.php', - 'League\\OAuth1\\Client\\Signature\\PlainTextSignature' => $vendorDir . '/league/oauth1-client/src/Signature/PlainTextSignature.php', - 'League\\OAuth1\\Client\\Signature\\RsaSha1Signature' => $vendorDir . '/league/oauth1-client/src/Signature/RsaSha1Signature.php', - 'League\\OAuth1\\Client\\Signature\\Signature' => $vendorDir . '/league/oauth1-client/src/Signature/Signature.php', - 'League\\OAuth1\\Client\\Signature\\SignatureInterface' => $vendorDir . '/league/oauth1-client/src/Signature/SignatureInterface.php', 'LieferscheinPDF' => $baseDir . '/www/lib/dokumente/class.lieferschein.php', 'LiveimportBase' => $baseDir . '/www/plugins/liveimport/LiveimportBase.php', 'Location' => $baseDir . '/www/lib/class.location.php', @@ -2820,8 +2797,6 @@ 'Xentral\\Components\\Mailer\\Transport\\PhpMailerOAuth' => $baseDir . '/classes/Components/Mailer/Transport/PhpMailerOAuth.php', 'Xentral\\Components\\Mailer\\Transport\\PhpMailerOAuthAuthentificationInterface' => $baseDir . '/classes/Components/Mailer/Transport/PhpMailerOAuthAuthentificationInterface.php', 'Xentral\\Components\\Mailer\\Transport\\PhpMailerTransport' => $baseDir . '/classes/Components/Mailer/Transport/PhpMailerTransport.php', - 'Xentral\\Components\\Mailer\\Wrapper\\LoggerWrapper' => $baseDir . '/classes/Components/Mailer/Wrapper/LoggerWrapper.php', - 'Xentral\\Components\\Mailer\\Wrapper\\MemoryLogger' => $baseDir . '/classes/Components/Mailer/Wrapper/MemoryLogger.php', 'Xentral\\Components\\Pdf\\Bootstrap' => $baseDir . '/classes/Components/Pdf/Bootstrap.php', 'Xentral\\Components\\Pdf\\Exception\\FileExistsException' => $baseDir . '/classes/Components/Pdf/Exception/FileExistsException.php', 'Xentral\\Components\\Pdf\\Exception\\FileNotFoundException' => $baseDir . '/classes/Components/Pdf/Exception/FileNotFoundException.php', @@ -3588,7 +3563,6 @@ 'Xentral\\Modules\\Log\\Service\\DatabaseLogGateway' => $baseDir . '/classes/Modules/Log/Service/DatabaseLogGateway.php', 'Xentral\\Modules\\Log\\Service\\DatabaseLogService' => $baseDir . '/classes/Modules/Log/Service/DatabaseLogService.php', 'Xentral\\Modules\\Log\\Service\\LoggerConfigService' => $baseDir . '/classes/Modules/Log/Service/LoggerConfigService.php', - 'Xentral\\Modules\\Log\\Wrapper\\CompanyConfigWrapper' => $baseDir . '/classes/Modules/Log/Wrapper/CompanyConfigWrapper.php', 'Xentral\\Modules\\MandatoryFields\\Bootstrap' => $baseDir . '/classes/Modules/MandatoryFields/Bootstrap.php', 'Xentral\\Modules\\MandatoryFields\\Data\\MandatoryFieldData' => $baseDir . '/classes/Modules/MandatoryFields/Data/MandatoryFieldData.php', 'Xentral\\Modules\\MandatoryFields\\Data\\ValidatorResultData' => $baseDir . '/classes/Modules/MandatoryFields/Data/ValidatorResultData.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 09f83c3d7..cc3b80ec6 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -11,15 +11,15 @@ 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', - 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', '2b9d0f43f9552984cfa82fee95491826' => $vendorDir . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => $vendorDir . '/sabre/event/lib/Loop/functions.php', 'a1cce3d26cc15c00fcd0b3354bd72c88' => $vendorDir . '/sabre/event/lib/Promise/functions.php', '3569eecfeed3bcf0bad3c998a494ecb8' => $vendorDir . '/sabre/xml/lib/Deserializer/functions.php', '93aa591bc4ca510c520999e34229ee79' => $vendorDir . '/sabre/xml/lib/Serializer/functions.php', + 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', 'c9d07b32a2e02bc0fc582d4f0c1b56cc' => $vendorDir . '/laminas/laminas-servicemanager/src/autoload.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', 'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => $vendorDir . '/sabre/http/lib/functions.php', '8a9dc1de0ca7e01f3e08231539562f61' => $vendorDir . '/aws/aws-sdk-php/src/functions.php', diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index e54b002c4..aa66e398f 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -29,7 +29,6 @@ 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'), - 'League\\OAuth1\\Client\\' => array($vendorDir . '/league/oauth1-client/src'), 'League\\MimeTypeDetection\\' => array($vendorDir . '/league/mime-type-detection/src'), 'League\\Flysystem\\' => array($vendorDir . '/league/flysystem/src'), 'Laminas\\Validator\\' => array($vendorDir . '/laminas/laminas-validator/src'), diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 77a4337e2..f41fba1b5 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -12,15 +12,15 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', - 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', '2b9d0f43f9552984cfa82fee95491826' => __DIR__ . '/..' . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => __DIR__ . '/..' . '/sabre/event/lib/Loop/functions.php', 'a1cce3d26cc15c00fcd0b3354bd72c88' => __DIR__ . '/..' . '/sabre/event/lib/Promise/functions.php', '3569eecfeed3bcf0bad3c998a494ecb8' => __DIR__ . '/..' . '/sabre/xml/lib/Deserializer/functions.php', '93aa591bc4ca510c520999e34229ee79' => __DIR__ . '/..' . '/sabre/xml/lib/Serializer/functions.php', + 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', 'c9d07b32a2e02bc0fc582d4f0c1b56cc' => __DIR__ . '/..' . '/laminas/laminas-servicemanager/src/autoload.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', 'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => __DIR__ . '/..' . '/sabre/http/lib/functions.php', '8a9dc1de0ca7e01f3e08231539562f61' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/functions.php', @@ -72,7 +72,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 ), 'L' => array ( - 'League\\OAuth1\\Client\\' => 21, 'League\\MimeTypeDetection\\' => 25, 'League\\Flysystem\\' => 17, 'Laminas\\Validator\\' => 18, @@ -203,10 +202,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 array ( 0 => __DIR__ . '/..' . '/phpmailer/phpmailer/src', ), - 'League\\OAuth1\\Client\\' => - array ( - 0 => __DIR__ . '/..' . '/league/oauth1-client/src', - ), 'League\\MimeTypeDetection\\' => array ( 0 => __DIR__ . '/..' . '/league/mime-type-detection/src', @@ -1918,29 +1913,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'League\\MimeTypeDetection\\GeneratedExtensionToMimeTypeMap' => __DIR__ . '/..' . '/league/mime-type-detection/src/GeneratedExtensionToMimeTypeMap.php', 'League\\MimeTypeDetection\\MimeTypeDetector' => __DIR__ . '/..' . '/league/mime-type-detection/src/MimeTypeDetector.php', 'League\\MimeTypeDetection\\OverridingExtensionToMimeTypeMap' => __DIR__ . '/..' . '/league/mime-type-detection/src/OverridingExtensionToMimeTypeMap.php', - 'League\\OAuth1\\Client\\Credentials\\ClientCredentials' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/ClientCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\ClientCredentialsInterface' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php', - 'League\\OAuth1\\Client\\Credentials\\Credentials' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/Credentials.php', - 'League\\OAuth1\\Client\\Credentials\\CredentialsException' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/CredentialsException.php', - 'League\\OAuth1\\Client\\Credentials\\CredentialsInterface' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/CredentialsInterface.php', - 'League\\OAuth1\\Client\\Credentials\\RsaClientCredentials' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/RsaClientCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\TemporaryCredentials' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/TemporaryCredentials.php', - 'League\\OAuth1\\Client\\Credentials\\TokenCredentials' => __DIR__ . '/..' . '/league/oauth1-client/src/Credentials/TokenCredentials.php', - 'League\\OAuth1\\Client\\Server\\Bitbucket' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Bitbucket.php', - 'League\\OAuth1\\Client\\Server\\Magento' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Magento.php', - 'League\\OAuth1\\Client\\Server\\Server' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Server.php', - 'League\\OAuth1\\Client\\Server\\Trello' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Trello.php', - 'League\\OAuth1\\Client\\Server\\Tumblr' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Tumblr.php', - 'League\\OAuth1\\Client\\Server\\Twitter' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Twitter.php', - 'League\\OAuth1\\Client\\Server\\User' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/User.php', - 'League\\OAuth1\\Client\\Server\\Uservoice' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Uservoice.php', - 'League\\OAuth1\\Client\\Server\\Xing' => __DIR__ . '/..' . '/league/oauth1-client/src/Server/Xing.php', - 'League\\OAuth1\\Client\\Signature\\EncodesUrl' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/EncodesUrl.php', - 'League\\OAuth1\\Client\\Signature\\HmacSha1Signature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/HmacSha1Signature.php', - 'League\\OAuth1\\Client\\Signature\\PlainTextSignature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/PlainTextSignature.php', - 'League\\OAuth1\\Client\\Signature\\RsaSha1Signature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/RsaSha1Signature.php', - 'League\\OAuth1\\Client\\Signature\\Signature' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/Signature.php', - 'League\\OAuth1\\Client\\Signature\\SignatureInterface' => __DIR__ . '/..' . '/league/oauth1-client/src/Signature/SignatureInterface.php', 'LieferscheinPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.lieferschein.php', 'LiveimportBase' => __DIR__ . '/../..' . '/www/plugins/liveimport/LiveimportBase.php', 'Location' => __DIR__ . '/../..' . '/www/lib/class.location.php', @@ -3114,8 +3086,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'Xentral\\Components\\Mailer\\Transport\\PhpMailerOAuth' => __DIR__ . '/../..' . '/classes/Components/Mailer/Transport/PhpMailerOAuth.php', 'Xentral\\Components\\Mailer\\Transport\\PhpMailerOAuthAuthentificationInterface' => __DIR__ . '/../..' . '/classes/Components/Mailer/Transport/PhpMailerOAuthAuthentificationInterface.php', 'Xentral\\Components\\Mailer\\Transport\\PhpMailerTransport' => __DIR__ . '/../..' . '/classes/Components/Mailer/Transport/PhpMailerTransport.php', - 'Xentral\\Components\\Mailer\\Wrapper\\LoggerWrapper' => __DIR__ . '/../..' . '/classes/Components/Mailer/Wrapper/LoggerWrapper.php', - 'Xentral\\Components\\Mailer\\Wrapper\\MemoryLogger' => __DIR__ . '/../..' . '/classes/Components/Mailer/Wrapper/MemoryLogger.php', 'Xentral\\Components\\Pdf\\Bootstrap' => __DIR__ . '/../..' . '/classes/Components/Pdf/Bootstrap.php', 'Xentral\\Components\\Pdf\\Exception\\FileExistsException' => __DIR__ . '/../..' . '/classes/Components/Pdf/Exception/FileExistsException.php', 'Xentral\\Components\\Pdf\\Exception\\FileNotFoundException' => __DIR__ . '/../..' . '/classes/Components/Pdf/Exception/FileNotFoundException.php', @@ -3882,7 +3852,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'Xentral\\Modules\\Log\\Service\\DatabaseLogGateway' => __DIR__ . '/../..' . '/classes/Modules/Log/Service/DatabaseLogGateway.php', 'Xentral\\Modules\\Log\\Service\\DatabaseLogService' => __DIR__ . '/../..' . '/classes/Modules/Log/Service/DatabaseLogService.php', 'Xentral\\Modules\\Log\\Service\\LoggerConfigService' => __DIR__ . '/../..' . '/classes/Modules/Log/Service/LoggerConfigService.php', - 'Xentral\\Modules\\Log\\Wrapper\\CompanyConfigWrapper' => __DIR__ . '/../..' . '/classes/Modules/Log/Wrapper/CompanyConfigWrapper.php', 'Xentral\\Modules\\MandatoryFields\\Bootstrap' => __DIR__ . '/../..' . '/classes/Modules/MandatoryFields/Bootstrap.php', 'Xentral\\Modules\\MandatoryFields\\Data\\MandatoryFieldData' => __DIR__ . '/../..' . '/classes/Modules/MandatoryFields/Data/MandatoryFieldData.php', 'Xentral\\Modules\\MandatoryFields\\Data\\ValidatorResultData' => __DIR__ . '/../..' . '/classes/Modules/MandatoryFields/Data/ValidatorResultData.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 21fdfafe1..884225af4 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1358,84 +1358,6 @@ ], "install-path": "../league/mime-type-detection" }, - { - "name": "league/oauth1-client", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "reference": "1e7e6be2dc543bf466236fb171e5b20e1b06aee6", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-openssl": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "php": ">=7.1||>=8.0" - }, - "require-dev": { - "ext-simplexml": "*", - "friendsofphp/php-cs-fixer": "^2.17", - "mockery/mockery": "^1.3.3", - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5||9.5" - }, - "suggest": { - "ext-simplexml": "For decoding XML-based responses." - }, - "time": "2021-01-20T01:40:53+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "2.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\OAuth1\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "description": "OAuth 1.0 Client Library", - "keywords": [ - "Authentication", - "SSO", - "authorization", - "bitbucket", - "identity", - "idp", - "oauth", - "oauth1", - "single sign on", - "trello", - "tumblr", - "twitter" - ], - "support": { - "issues": "https://github.com/thephpleague/oauth1-client/issues", - "source": "https://github.com/thephpleague/oauth1-client/tree/v1.9.0" - }, - "install-path": "../league/oauth1-client" - }, { "name": "lfkeitel/phptotp", "version": "v1.1.0", diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 301178b66..0a6d9789e 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -193,15 +193,6 @@ 'aliases' => array(), 'dev_requirement' => false, ), - 'league/oauth1-client' => array( - 'pretty_version' => 'v1.9.0', - 'version' => '1.9.0.0', - 'reference' => '1e7e6be2dc543bf466236fb171e5b20e1b06aee6', - 'type' => 'library', - 'install_path' => __DIR__ . '/../league/oauth1-client', - 'aliases' => array(), - 'dev_requirement' => false, - ), 'lfkeitel/phptotp' => array( 'pretty_version' => 'v1.1.0', 'version' => '1.1.0.0', diff --git a/vendor/league/oauth1-client/.gitignore b/vendor/league/oauth1-client/.gitignore deleted file mode 100644 index 783a2df0a..000000000 --- a/vendor/league/oauth1-client/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/build -/vendor -/composer.lock -/coverage.xml -/.phpunit.result.cache -/.php_cs.cache -.DS_Store diff --git a/vendor/league/oauth1-client/.php_cs.dist b/vendor/league/oauth1-client/.php_cs.dist deleted file mode 100644 index c7c4df1ba..000000000 --- a/vendor/league/oauth1-client/.php_cs.dist +++ /dev/null @@ -1,29 +0,0 @@ -in([__DIR__ . '/src', __DIR__ . '/tests']); - -return PhpCsFixer\Config::create() - ->setRules([ - '@PSR2' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => true, - 'blank_line_before_return' => true, - 'cast_spaces' => true, - 'concat_space' => ['spacing' => 'one'], - 'no_singleline_whitespace_before_semicolons' => true, - 'not_operator_with_space' => true, - 'ordered_imports' => true, - 'phpdoc_align' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_alias_tag' => true, - 'phpdoc_no_package' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_summary' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'single_blank_line_at_eof' => true, - 'ternary_operator_spaces' => true, - ]) - ->setFinder($finder); \ No newline at end of file diff --git a/vendor/league/oauth1-client/.scrutinizer.yml b/vendor/league/oauth1-client/.scrutinizer.yml deleted file mode 100644 index 1d352e5bf..000000000 --- a/vendor/league/oauth1-client/.scrutinizer.yml +++ /dev/null @@ -1,35 +0,0 @@ -filter: - excluded_paths: [tests/*] -checks: - php: - code_rating: true - remove_extra_empty_lines: true - remove_php_closing_tag: true - remove_trailing_whitespace: true - fix_use_statements: - remove_unused: true - preserve_multiple: false - preserve_blanklines: true - order_alphabetically: true - fix_php_opening_tag: true - fix_linefeed: true - fix_line_ending: true - fix_identation_4spaces: true - fix_doc_comments: true -tools: - external_code_coverage: - timeout: 600 - runs: 4 - php_analyzer: true - php_code_coverage: false - php_code_sniffer: - config: - standard: PSR2 - filter: - paths: ['src'] - php_loc: - enabled: true - excluded_dirs: [vendor, tests] - php_cpd: - enabled: true - excluded_dirs: [vendor, tests] diff --git a/vendor/league/oauth1-client/.travis.yml b/vendor/league/oauth1-client/.travis.yml deleted file mode 100644 index 3bd1b4e95..000000000 --- a/vendor/league/oauth1-client/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -language: php - -matrix: - include: - - php: 7.1 - dist: bionic - env: COMPOSER_OPTS="" - - php: 7.1 - dist: bionic - env: COMPOSER_OPTS="--prefer-lowest" - - php: 7.2 - dist: bionic - env: COMPOSER_OPTS="" - - php: 7.2 - dist: bionic - env: COMPOSER_OPTS="--prefer-lowest" - - php: 7.3 - dist: bionic - env: COMPOSER_OPTS="" - - php: 7.3 - dist: bionic - env: COMPOSER_OPTS="--prefer-lowest" - - php: 7.4 - dist: bionic - env: COMPOSER_OPTS="" - - php: 7.4 - dist: bionic - env: COMPOSER_OPTS="--prefer-lowest" - - php: 8.0 - dist: bionic - env: COMPOSER_OPTS="" - - php: 8.0 - dist: bionic - env: COMPOSER_OPTS="--prefer-lowest" - - php: nightly - dist: bionic - env: COMPOSER_OPTS="--ignore-platform-reqs" - - php: nightly - dist: bionic - env: COMPOSER_OPTS="--ignore-platform-reqs --prefer-lowest" - allow_failures: - - php: nightly - env: COMPOSER_OPTS="--ignore-platform-reqs" - - php: nightly - env: COMPOSER_OPTS="--ignore-platform-reqs --prefer-lowest" - -install: - - travis_retry composer update --prefer-dist $COMPOSER_OPTS - -script: - - composer php-cs-fixer:lint - - composer test:unit - - composer analyze - -after_script: - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover coverage.xml \ No newline at end of file diff --git a/vendor/league/oauth1-client/CHANGELOG.md b/vendor/league/oauth1-client/CHANGELOG.md deleted file mode 100644 index ffb73d7c4..000000000 --- a/vendor/league/oauth1-client/CHANGELOG.md +++ /dev/null @@ -1,20 +0,0 @@ -# Changelog - -## v1.9.0 - -- Adds support for PHP 8.0. -- Allows optional authorization URL parameters to be passed. - -## v1.8.2 - -- Fixes an issue where the base string used to generate signatures did not account for non-standard ports. - -## v1.8.1 - -- Reverts the public API changes introduced in v1.8.0 where language level type declarations and return types that were introduced caused inheritence to break. -- Fixes a Composer warning with relation to autoloading test files. - -## v1.8.0 - -- We allow installation with Guzzle 6 **or** Guzzle 7. -- The minimum PHP version has been bumped from PHP 5.6 to 7.1. diff --git a/vendor/league/oauth1-client/CONDUCT.md b/vendor/league/oauth1-client/CONDUCT.md deleted file mode 100644 index 6ff94ca3a..000000000 --- a/vendor/league/oauth1-client/CONDUCT.md +++ /dev/null @@ -1,22 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. - -We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, such as physical or electronic addresses, without explicit permission -* Other unethical or unprofessional conduct. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community in a direct capacity. Personal views, beliefs and values of individuals do not necessarily reflect those of the organisation or affiliated individuals and organisations. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/vendor/league/oauth1-client/CONTRIBUTING.md b/vendor/league/oauth1-client/CONTRIBUTING.md deleted file mode 100644 index 576bb1f35..000000000 --- a/vendor/league/oauth1-client/CONTRIBUTING.md +++ /dev/null @@ -1,32 +0,0 @@ -# Contributing - -Contributions are **welcome** and will be fully **credited**. - -We accept contributions via Pull Requests on [Github](https://github.com/thephpleague/oauth1-client). - - -## Pull Requests - -- **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer). - -- **Add tests!** - Your patch won't be accepted if it doesn't have tests. - -- **Document any change in behaviour** - Make sure the README and any other relevant documentation are kept up-to-date. - -- **Consider our release cycle** - We try to follow semver. Randomly breaking public APIs is not an option. - -- **Create topic branches** - Don't ask us to pull from your master branch. - -- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. - -- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting. - - -## Running Tests - -``` bash -$ phpunit -``` - - -**Happy coding**! diff --git a/vendor/league/oauth1-client/LICENSE b/vendor/league/oauth1-client/LICENSE deleted file mode 100644 index 922a51418..000000000 --- a/vendor/league/oauth1-client/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Ben Corlett - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/league/oauth1-client/README.md b/vendor/league/oauth1-client/README.md deleted file mode 100644 index a6c70dcfd..000000000 --- a/vendor/league/oauth1-client/README.md +++ /dev/null @@ -1,264 +0,0 @@ -# OAuth 1.0 Client - -[![Latest Stable Version](https://img.shields.io/github/release/thephpleague/oauth1-client.svg?style=flat-square)](https://github.com/thephpleague/oauth1-client/releases) -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md) -[![Build Status](https://img.shields.io/travis/thephpleague/oauth1-client/master.svg?style=flat-square&1)](https://travis-ci.org/thephpleague/oauth1-client) -[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/thephpleague/oauth1-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/oauth1-client/code-structure) -[![Quality Score](https://img.shields.io/scrutinizer/g/thephpleague/oauth1-client.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/oauth1-client) -[![Total Downloads](https://img.shields.io/packagist/dt/league/oauth1-client.svg?style=flat-square)](https://packagist.org/packages/thephpleague/oauth1-client) - -OAuth 1 Client is an OAuth [RFC 5849 standards-compliant](http://tools.ietf.org/html/rfc5849) library for authenticating against OAuth 1 servers. - -It has built in support for: - -- Bitbucket -- Magento -- Trello -- Tumblr -- Twitter -- Uservoice -- Xing - -Adding support for other providers is trivial. The library requires PHP 7.1+ and is PSR-2 compatible. - -### Third-Party Providers - -If you would like to support other providers, please make them available as a Composer package, then link to them -below. - -These providers allow integration with other providers not supported by `oauth1-client`. They may require an older version -so please help them out with a pull request if you notice this. - -- [Intuit](https://packagist.org/packages/wheniwork/oauth1-intuit) -- [500px](https://packagist.org/packages/mechant/oauth1-500px) -- [Etsy](https://packagist.org/packages/y0lk/oauth1-etsy) -- [Xero](https://packagist.org/packages/Invoiced/oauth1-xero) -- [Garmin](https://packagist.org/packages/techgyani/garmin-wellness) -- [Goodreads](https://packagist.org/packages/netgalley/oauth1-goodreads) - -#### Terminology (as per the RFC 5849 specification): - - client - An HTTP client (per [RFC2616]) capable of making OAuth- - authenticated requests (Section 3). - - server - An HTTP server (per [RFC2616]) capable of accepting OAuth- - authenticated requests (Section 3). - - protected resource - An access-restricted resource that can be obtained from the - server using an OAuth-authenticated request (Section 3). - - resource owner - An entity capable of accessing and controlling protected - resources by using credentials to authenticate with the server. - - credentials - Credentials are a pair of a unique identifier and a matching - shared secret. OAuth defines three classes of credentials: - client, temporary, and token, used to identify and authenticate - the client making the request, the authorization request, and - the access grant, respectively. - - token - A unique identifier issued by the server and used by the client - to associate authenticated requests with the resource owner - whose authorization is requested or has been obtained by the - client. Tokens have a matching shared-secret that is used by - the client to establish its ownership of the token, and its - authority to represent the resource owner. - - The original community specification used a somewhat different - terminology that maps to this specifications as follows (original - community terms provided on left): - - Consumer: client - - Service Provider: server - - User: resource owner - - Consumer Key and Secret: client credentials - - Request Token and Secret: temporary credentials - - Access Token and Secret: token credentials - - -## Install - -Via Composer - -```shell -$ composer require league/oauth1-client -``` - - -## Usage - -### Bitbucket - -```php -$server = new League\OAuth1\Client\Server\Bitbucket([ - 'identifier' => 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -]); -``` - -### Trello - -```php -$server = new League\OAuth1\Client\Server\Trello([ - 'identifier' => 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => 'http://your-callback-uri/', - 'name' => 'your-application-name', // optional, defaults to null - 'expiration' => 'your-application-expiration', // optional ('never', '1day', '2days'), defaults to '1day' - 'scope' => 'your-application-scope' // optional ('read', 'read,write'), defaults to 'read' -]); -``` - -### Tumblr - -```php -$server = new League\OAuth1\Client\Server\Tumblr([ - 'identifier' => 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -]); -``` - -### Twitter - -```php -$server = new League\OAuth1\Client\Server\Twitter([ - 'identifier' => 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -]); -``` - -### Xing - -```php -$server = new League\OAuth1\Client\Server\Xing([ - 'identifier' => 'your-consumer-key', - 'secret' => 'your-consumer-secret', - 'callback_uri' => "http://your-callback-uri/", -]); -``` - -### Showing a Login Button - -To begin, it's advisable that you include a login button on your website. Most servers (Twitter, Tumblr etc) have resources available for making buttons that are familiar to users. Some servers actually require you use their buttons as part of their terms. - -```html -Login With Twitter -``` - -### Retrieving Temporary Credentials - -The first step to authenticating with OAuth 1 is to retrieve temporary credentials. These have been referred to as **request tokens** in earlier versions of OAuth 1. - -To do this, we'll retrieve and store temporary credentials in the session, and redirect the user to the server: - -```php -// Retrieve temporary credentials -$temporaryCredentials = $server->getTemporaryCredentials(); - -// Store credentials in the session, we'll need them later -$_SESSION['temporary_credentials'] = serialize($temporaryCredentials); -session_write_close(); - -// Second part of OAuth 1.0 authentication is to redirect the -// resource owner to the login screen on the server. -$server->authorize($temporaryCredentials); -``` - -The user will be redirected to the familiar login screen on the server, where they will login to their account and authorise your app to access their data. - -### Retrieving Token Credentials - -Once the user has authenticated (or denied) your application, they will be redirected to the `callback_uri` which you specified when creating the server. - -> Note, some servers (such as Twitter) require that the callback URI you specify when authenticating matches what you registered with their app. This is to stop a potential third party impersonating you. This is actually part of the protocol however some servers choose to ignore this. -> -> Because of this, we actually require you specify a callback URI for all servers, regardless of whether the server requires it or not. This is good practice. - -You'll need to handle when the user is redirected back. This will involve retrieving token credentials, which you may then use to make calls to the server on behalf of the user. These have been referred to as **access tokens** in earlier versions of OAuth 1. - -```php -if (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { - // Retrieve the temporary credentials we saved before - $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); - - // We will now retrieve token credentials from the server - $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); -} -``` - -Now, you may choose to do what you need with the token credentials. You may store them in a database, in the session, or use them as one-off and then forget about them. - -All credentials, (`client credentials`, `temporary credentials` and `token credentials`) all implement `League\OAuth1\Client\Credentials\CredentialsInterface` and have two sets of setters and getters exposed: - -```php -var_dump($tokenCredentials->getIdentifier()); -var_dump($tokenCredentials->getSecret()); -``` - -In earlier versions of OAuth 1, the token credentials identifier and token credentials secret were referred to as **access token** and **access token secret**. Don't be scared by the new terminology here - they are the same. This package is using the exact terminology in the RFC 5849 OAuth 1 standard. - -> Twitter will send back an error message in the `denied` query string parameter, allowing you to provide feedback. Some servers do not send back an error message, but rather do not provide the successful `oauth_token` and `oauth_verifier` parameters. - -### Accessing User Information - -Now you have token credentials stored somewhere, you may use them to make calls against the server, as an authenticated user. - -While this package is not intended to be a wrapper for every server's API, it does include basic methods that you may use to retrieve limited information. An example of where this may be useful is if you are using social logins, you only need limited information to confirm who the user is. - -The four exposed methods are: - -```php -// User is an instance of League\OAuth1\Client\Server\User -$user = $server->getUserDetails($tokenCredentials); - -// UID is a string / integer unique representation of the user -$uid = $server->getUserUid($tokenCredentials); - -// Email is either a string or null (as some providers do not supply this data) -$email = $server->getUserEmail($tokenCredentials); - -// Screen name is also known as a username (Twitter handle etc) -$screenName = $server->getUserScreenName($tokenCredentials); -``` - -> `League\OAuth1\Client\Server\User` exposes a number of default public properties and also stores any additional data in an extra array - `$user->extra`. You may also iterate over a user's properties as if it was an array, `foreach ($user as $key => $value)`. - -## Examples - -Examples may be found under the [resources/examples](https://github.com/thephpleague/oauth1-client/tree/master/resources/examples) directory, which take the usage instructions here and go into a bit more depth. They are working examples that would only you substitute in your client credentials to have working. - -## Testing - -``` bash -$ phpunit -``` - - -## Contributing - -Please see [CONTRIBUTING](https://github.com/thephpleague/oauth1-client/blob/master/CONTRIBUTING.md) for details. - - -## Credits - -- [Ben Corlett](https://github.com/bencorlett) -- [Steven Maguire](https://github.com/stevenmaguire) -- [All Contributors](https://github.com/thephpleague/oauth1-client/contributors) - - -## License - -The MIT License (MIT). Please see [License File](https://github.com/thephpleague/oauth1-client/blob/master/LICENSE) for more information. diff --git a/vendor/league/oauth1-client/composer.json b/vendor/league/oauth1-client/composer.json deleted file mode 100644 index 59e8ffc68..000000000 --- a/vendor/league/oauth1-client/composer.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "league/oauth1-client", - "description": "OAuth 1.0 Client Library", - "license": "MIT", - "require": { - "php": ">=7.1||>=8.0", - "ext-json": "*", - "ext-openssl": "*", - "guzzlehttp/guzzle": "^6.0|^7.0" - }, - "require-dev": { - "ext-simplexml": "*", - "phpunit/phpunit": "^7.5||9.5", - "mockery/mockery": "^1.3.3", - "phpstan/phpstan": "^0.12.42", - "friendsofphp/php-cs-fixer": "^2.17" - }, - "scripts": { - "analyze": "vendor/bin/phpstan analyse -l 6 src/", - "php-cs-fixer:lint": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix --verbose --dry-run", - "php-cs-fixer:format": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix", - "test:unit": "vendor/bin/phpunit --coverage-text --coverage-clover coverage.xml" - }, - "suggest": { - "ext-simplexml": "For decoding XML-based responses." - }, - "keywords": [ - "oauth", - "oauth1", - "authorization", - "authentication", - "idp", - "identity", - "sso", - "single sign on", - "bitbucket", - "trello", - "tumblr", - "twitter" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "autoload": { - "psr-4": { - "League\\OAuth1\\Client\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "League\\OAuth1\\Client\\Tests\\": "tests/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "2.0-dev" - } - } -} diff --git a/vendor/league/oauth1-client/phpstan.neon b/vendor/league/oauth1-client/phpstan.neon deleted file mode 100644 index 90f89d365..000000000 --- a/vendor/league/oauth1-client/phpstan.neon +++ /dev/null @@ -1,11 +0,0 @@ -parameters: - checkMissingIterableValueType: false - checkGenericClassInNonGenericObjectType: false - ignoreErrors: - - - message: '#has unknown class OpenSSLAsymmetricKey as its type#' - path: src/Credentials/RsaClientCredentials.php - - - message: '#invalid type OpenSSLAsymmetricKey#' - path: src/Credentials/RsaClientCredentials.php - reportUnmatchedIgnoredErrors: false \ No newline at end of file diff --git a/vendor/league/oauth1-client/phpunit.php b/vendor/league/oauth1-client/phpunit.php deleted file mode 100644 index 46bb1e3d3..000000000 --- a/vendor/league/oauth1-client/phpunit.php +++ /dev/null @@ -1,5 +0,0 @@ - - - - - ./tests - - - - - ./src - - - - - - - diff --git a/vendor/league/oauth1-client/resources/examples/tumblr.php b/vendor/league/oauth1-client/resources/examples/tumblr.php deleted file mode 100644 index 236914a7d..000000000 --- a/vendor/league/oauth1-client/resources/examples/tumblr.php +++ /dev/null @@ -1,87 +0,0 @@ - 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -)); - -// Start session -session_start(); - -// Step 4 -if (isset($_GET['user'])) { - - // Check somebody hasn't manually entered this URL in, - // by checking that we have the token credentials in - // the session. - if ( ! isset($_SESSION['token_credentials'])) { - echo 'No token credentials.'; - exit(1); - } - - // Retrieve our token credentials. From here, it's play time! - $tokenCredentials = unserialize($_SESSION['token_credentials']); - - // // Below is an example of retrieving the identifier & secret - // // (formally known as access token key & secret in earlier - // // OAuth 1.0 specs). - // $identifier = $tokenCredentials->getIdentifier(); - // $secret = $tokenCredentials->getSecret(); - - // Some OAuth clients try to act as an API wrapper for - // the server and it's API. We don't. This is what you - // get - the ability to access basic information. If - // you want to get fancy, you should be grabbing a - // package for interacting with the APIs, by using - // the identifier & secret that this package was - // designed to retrieve for you. But, for fun, - // here's basic user information. - $user = $server->getUserDetails($tokenCredentials); - var_dump($user); - -// Step 3 -} elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { - - // Retrieve the temporary credentials from step 2 - $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); - - // Third and final part to OAuth 1.0 authentication is to retrieve token - // credentials (formally known as access tokens in earlier OAuth 1.0 - // specs). - $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); - - // Now, we'll store the token credentials and discard the temporary - // ones - they're irrelevant at this stage. - unset($_SESSION['temporary_credentials']); - $_SESSION['token_credentials'] = serialize($tokenCredentials); - session_write_close(); - - // Redirect to the user page - header("Location: http://{$_SERVER['HTTP_HOST']}/?user=user"); - exit; - -// Step 2 -} elseif (isset($_GET['go'])) { - - // First part of OAuth 1.0 authentication is retrieving temporary credentials. - // These identify you as a client to the server. - $temporaryCredentials = $server->getTemporaryCredentials(); - - // Store the credentials in the session. - $_SESSION['temporary_credentials'] = serialize($temporaryCredentials); - session_write_close(); - - // Second part of OAuth 1.0 authentication is to redirect the - // resource owner to the login screen on the server. - $server->authorize($temporaryCredentials); - -// Step 1 -} else { - - // Display link to start process - echo 'Login'; -} diff --git a/vendor/league/oauth1-client/resources/examples/twitter.php b/vendor/league/oauth1-client/resources/examples/twitter.php deleted file mode 100644 index 676def2b4..000000000 --- a/vendor/league/oauth1-client/resources/examples/twitter.php +++ /dev/null @@ -1,91 +0,0 @@ - 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -)); - -// Start session -session_start(); - -// Step 4 -if (isset($_GET['user'])) { - - // Check somebody hasn't manually entered this URL in, - // by checking that we have the token credentials in - // the session. - if ( ! isset($_SESSION['token_credentials'])) { - echo 'No token credentials.'; - exit(1); - } - - // Retrieve our token credentials. From here, it's play time! - $tokenCredentials = unserialize($_SESSION['token_credentials']); - - // // Below is an example of retrieving the identifier & secret - // // (formally known as access token key & secret in earlier - // // OAuth 1.0 specs). - // $identifier = $tokenCredentials->getIdentifier(); - // $secret = $tokenCredentials->getSecret(); - - // Some OAuth clients try to act as an API wrapper for - // the server and it's API. We don't. This is what you - // get - the ability to access basic information. If - // you want to get fancy, you should be grabbing a - // package for interacting with the APIs, by using - // the identifier & secret that this package was - // designed to retrieve for you. But, for fun, - // here's basic user information. - $user = $server->getUserDetails($tokenCredentials); - var_dump($user); - -// Step 3 -} elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { - - // Retrieve the temporary credentials from step 2 - $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); - - // Third and final part to OAuth 1.0 authentication is to retrieve token - // credentials (formally known as access tokens in earlier OAuth 1.0 - // specs). - $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); - - // Now, we'll store the token credentials and discard the temporary - // ones - they're irrelevant at this stage. - unset($_SESSION['temporary_credentials']); - $_SESSION['token_credentials'] = serialize($tokenCredentials); - session_write_close(); - - // Redirect to the user page - header("Location: http://{$_SERVER['HTTP_HOST']}/?user=user"); - exit; - -// Step 2.5 - denied request to authorize client -} elseif (isset($_GET['denied'])) { - echo 'Hey! You denied the client access to your Twitter account! If you did this by mistake, you should try again.'; - -// Step 2 -} elseif (isset($_GET['go'])) { - - // First part of OAuth 1.0 authentication is retrieving temporary credentials. - // These identify you as a client to the server. - $temporaryCredentials = $server->getTemporaryCredentials(); - - // Store the credentials in the session. - $_SESSION['temporary_credentials'] = serialize($temporaryCredentials); - session_write_close(); - - // Second part of OAuth 1.0 authentication is to redirect the - // resource owner to the login screen on the server. - $server->authorize($temporaryCredentials); - -// Step 1 -} else { - - // Display link to start process - echo 'Login'; -} diff --git a/vendor/league/oauth1-client/resources/examples/xing.php b/vendor/league/oauth1-client/resources/examples/xing.php deleted file mode 100644 index 2ac0bd435..000000000 --- a/vendor/league/oauth1-client/resources/examples/xing.php +++ /dev/null @@ -1,91 +0,0 @@ - 'your-identifier', - 'secret' => 'your-secret', - 'callback_uri' => "http://your-callback-uri/", -)); - -// Start session -session_start(); - -// Step 4 -if (isset($_GET['user'])) { - - // Check somebody hasn't manually entered this URL in, - // by checking that we have the token credentials in - // the session. - if ( ! isset($_SESSION['token_credentials'])) { - echo 'No token credentials.'; - exit(1); - } - - // Retrieve our token credentials. From here, it's play time! - $tokenCredentials = unserialize($_SESSION['token_credentials']); - - // // Below is an example of retrieving the identifier & secret - // // (formally known as access token key & secret in earlier - // // OAuth 1.0 specs). - // $identifier = $tokenCredentials->getIdentifier(); - // $secret = $tokenCredentials->getSecret(); - - // Some OAuth clients try to act as an API wrapper for - // the server and it's API. We don't. This is what you - // get - the ability to access basic information. If - // you want to get fancy, you should be grabbing a - // package for interacting with the APIs, by using - // the identifier & secret that this package was - // designed to retrieve for you. But, for fun, - // here's basic user information. - $user = $server->getUserDetails($tokenCredentials); - var_dump($user); - -// Step 3 -} elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { - - // Retrieve the temporary credentials from step 2 - $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); - - // Third and final part to OAuth 1.0 authentication is to retrieve token - // credentials (formally known as access tokens in earlier OAuth 1.0 - // specs). - $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); - - // Now, we'll store the token credentials and discard the temporary - // ones - they're irrelevant at this stage. - unset($_SESSION['temporary_credentials']); - $_SESSION['token_credentials'] = serialize($tokenCredentials); - session_write_close(); - - // Redirect to the user page - header("Location: http://{$_SERVER['HTTP_HOST']}/?user=user"); - exit; - -// Step 2.5 - denied request to authorize client -} elseif (isset($_GET['denied'])) { - echo 'Hey! You denied the client access to your Xing account! If you did this by mistake, you should
try again.'; - -// Step 2 -} elseif (isset($_GET['go'])) { - - // First part of OAuth 1.0 authentication is retrieving temporary credentials. - // These identify you as a client to the server. - $temporaryCredentials = $server->getTemporaryCredentials(); - - // Store the credentials in the session. - $_SESSION['temporary_credentials'] = serialize($temporaryCredentials); - session_write_close(); - - // Second part of OAuth 1.0 authentication is to redirect the - // resource owner to the login screen on the server. - $server->authorize($temporaryCredentials); - -// Step 1 -} else { - - // Display link to start process - echo 'Login'; -} diff --git a/vendor/league/oauth1-client/rfc5849.txt b/vendor/league/oauth1-client/rfc5849.txt deleted file mode 100644 index 636814d8d..000000000 --- a/vendor/league/oauth1-client/rfc5849.txt +++ /dev/null @@ -1,2131 +0,0 @@ - - - - - - -Internet Engineering Task Force (IETF) E. Hammer-Lahav, Ed. -Request for Comments: 5849 April 2010 -Category: Informational -ISSN: 2070-1721 - - - The OAuth 1.0 Protocol - -Abstract - - OAuth provides a method for clients to access server resources on - behalf of a resource owner (such as a different client or an end- - user). It also provides a process for end-users to authorize third- - party access to their server resources without sharing their - credentials (typically, a username and password pair), using user- - agent redirections. - -Status of This Memo - - This document is not an Internet Standards Track specification; it is - published for informational purposes. - - This document is a product of the Internet Engineering Task Force - (IETF). It represents the consensus of the IETF community. It has - received public review and has been approved for publication by the - Internet Engineering Steering Group (IESG). Not all documents - approved by the IESG are a candidate for any level of Internet - Standard; see Section 2 of RFC 5741. - - Information about the current status of this document, any errata, - and how to provide feedback on it may be obtained at - http://www.rfc-editor.org/info/rfc5849. - -Copyright Notice - - Copyright (c) 2010 IETF Trust and the persons identified as the - document authors. All rights reserved. - - This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents - (http://trustee.ietf.org/license-info) in effect on the date of - publication of this document. Please review these documents - carefully, as they describe your rights and restrictions with respect - to this document. Code Components extracted from this document must - include Simplified BSD License text as described in Section 4.e of - the Trust Legal Provisions and are provided without warranty as - described in the Simplified BSD License. - - - - -Hammer-Lahav Informational [Page 1] - -RFC 5849 OAuth 1.0 April 2010 - - -Table of Contents - - 1. Introduction ....................................................3 - 1.1. Terminology ................................................4 - 1.2. Example ....................................................5 - 1.3. Notational Conventions .....................................7 - 2. Redirection-Based Authorization .................................8 - 2.1. Temporary Credentials ......................................9 - 2.2. Resource Owner Authorization ..............................10 - 2.3. Token Credentials .........................................12 - 3. Authenticated Requests .........................................14 - 3.1. Making Requests ...........................................14 - 3.2. Verifying Requests ........................................16 - 3.3. Nonce and Timestamp .......................................17 - 3.4. Signature .................................................18 - 3.4.1. Signature Base String ..............................18 - 3.4.2. HMAC-SHA1 ..........................................25 - 3.4.3. RSA-SHA1 ...........................................25 - 3.4.4. PLAINTEXT ..........................................26 - 3.5. Parameter Transmission ....................................26 - 3.5.1. Authorization Header ...............................27 - 3.5.2. Form-Encoded Body ..................................28 - 3.5.3. Request URI Query ..................................28 - 3.6. Percent Encoding ..........................................29 - 4. Security Considerations ........................................29 - 4.1. RSA-SHA1 Signature Method .................................29 - 4.2. Confidentiality of Requests ...............................30 - 4.3. Spoofing by Counterfeit Servers ...........................30 - 4.4. Proxying and Caching of Authenticated Content .............30 - 4.5. Plaintext Storage of Credentials ..........................30 - 4.6. Secrecy of the Client Credentials .........................31 - 4.7. Phishing Attacks ..........................................31 - 4.8. Scoping of Access Requests ................................31 - 4.9. Entropy of Secrets ........................................32 - 4.10. Denial-of-Service / Resource-Exhaustion Attacks ..........32 - 4.11. SHA-1 Cryptographic Attacks ..............................33 - 4.12. Signature Base String Limitations ........................33 - 4.13. Cross-Site Request Forgery (CSRF) ........................33 - 4.14. User Interface Redress ...................................34 - 4.15. Automatic Processing of Repeat Authorizations ............34 - 5. Acknowledgments ................................................35 - Appendix A. Differences from the Community Edition ...............36 - 6. References .....................................................37 - 6.1. Normative References ......................................37 - 6.2. Informative References ....................................38 - - - - - - -Hammer-Lahav Informational [Page 2] - -RFC 5849 OAuth 1.0 April 2010 - - -1. Introduction - - The OAuth protocol was originally created by a small community of web - developers from a variety of websites and other Internet services who - wanted to solve the common problem of enabling delegated access to - protected resources. The resulting OAuth protocol was stabilized at - version 1.0 in October 2007, and revised in June 2009 (Revision A) as - published at . - - This specification provides an informational documentation of OAuth - Core 1.0 Revision A, addresses several errata reported since that - time, and makes numerous editorial clarifications. While this - specification is not an item of the IETF's OAuth Working Group, which - at the time of writing is working on an OAuth version that can be - appropriate for publication on the standards track, it has been - transferred to the IETF for change control by authors of the original - work. - - In the traditional client-server authentication model, the client - uses its credentials to access its resources hosted by the server. - With the increasing use of distributed web services and cloud - computing, third-party applications require access to these server- - hosted resources. - - OAuth introduces a third role to the traditional client-server - authentication model: the resource owner. In the OAuth model, the - client (which is not the resource owner, but is acting on its behalf) - requests access to resources controlled by the resource owner, but - hosted by the server. In addition, OAuth allows the server to verify - not only the resource owner authorization, but also the identity of - the client making the request. - - OAuth provides a method for clients to access server resources on - behalf of a resource owner (such as a different client or an end- - user). It also provides a process for end-users to authorize third- - party access to their server resources without sharing their - credentials (typically, a username and password pair), using user- - agent redirections. - - For example, a web user (resource owner) can grant a printing service - (client) access to her private photos stored at a photo sharing - service (server), without sharing her username and password with the - printing service. Instead, she authenticates directly with the photo - sharing service which issues the printing service delegation-specific - credentials. - - - - - - -Hammer-Lahav Informational [Page 3] - -RFC 5849 OAuth 1.0 April 2010 - - - In order for the client to access resources, it first has to obtain - permission from the resource owner. This permission is expressed in - the form of a token and matching shared-secret. The purpose of the - token is to make it unnecessary for the resource owner to share its - credentials with the client. Unlike the resource owner credentials, - tokens can be issued with a restricted scope and limited lifetime, - and revoked independently. - - This specification consists of two parts. The first part defines a - redirection-based user-agent process for end-users to authorize - client access to their resources, by authenticating directly with the - server and provisioning tokens to the client for use with the - authentication method. The second part defines a method for making - authenticated HTTP [RFC2616] requests using two sets of credentials, - one identifying the client making the request, and a second - identifying the resource owner on whose behalf the request is being - made. - - The use of OAuth with any transport protocol other than [RFC2616] is - undefined. - -1.1. Terminology - - client - An HTTP client (per [RFC2616]) capable of making OAuth- - authenticated requests (Section 3). - - server - An HTTP server (per [RFC2616]) capable of accepting OAuth- - authenticated requests (Section 3). - - protected resource - An access-restricted resource that can be obtained from the - server using an OAuth-authenticated request (Section 3). - - resource owner - An entity capable of accessing and controlling protected - resources by using credentials to authenticate with the server. - - credentials - Credentials are a pair of a unique identifier and a matching - shared secret. OAuth defines three classes of credentials: - client, temporary, and token, used to identify and authenticate - the client making the request, the authorization request, and - the access grant, respectively. - - - - - - -Hammer-Lahav Informational [Page 4] - -RFC 5849 OAuth 1.0 April 2010 - - - token - A unique identifier issued by the server and used by the client - to associate authenticated requests with the resource owner - whose authorization is requested or has been obtained by the - client. Tokens have a matching shared-secret that is used by - the client to establish its ownership of the token, and its - authority to represent the resource owner. - - The original community specification used a somewhat different - terminology that maps to this specifications as follows (original - community terms provided on left): - - Consumer: client - - Service Provider: server - - User: resource owner - - Consumer Key and Secret: client credentials - - Request Token and Secret: temporary credentials - - Access Token and Secret: token credentials - -1.2. Example - - Jane (resource owner) has recently uploaded some private vacation - photos (protected resources) to her photo sharing site - 'photos.example.net' (server). She would like to use the - 'printer.example.com' website (client) to print one of these photos. - Typically, Jane signs into 'photos.example.net' using her username - and password. - - However, Jane does not wish to share her username and password with - the 'printer.example.com' website, which needs to access the photo in - order to print it. In order to provide its users with better - service, 'printer.example.com' has signed up for a set of - 'photos.example.net' client credentials ahead of time: - - Client Identifier - dpf43f3p2l4k3l03 - - Client Shared-Secret: - kd94hf93k423kf44 - - The 'printer.example.com' website has also configured its application - to use the protocol endpoints listed in the 'photos.example.net' API - documentation, which use the "HMAC-SHA1" signature method: - - - -Hammer-Lahav Informational [Page 5] - -RFC 5849 OAuth 1.0 April 2010 - - - Temporary Credential Request - https://photos.example.net/initiate - - Resource Owner Authorization URI: - https://photos.example.net/authorize - - Token Request URI: - https://photos.example.net/token - - Before 'printer.example.com' can ask Jane to grant it access to the - photos, it must first establish a set of temporary credentials with - 'photos.example.net' to identify the delegation request. To do so, - the client sends the following HTTPS [RFC2818] request to the server: - - POST /initiate HTTP/1.1 - Host: photos.example.net - Authorization: OAuth realm="Photos", - oauth_consumer_key="dpf43f3p2l4k3l03", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131200", - oauth_nonce="wIjqoS", - oauth_callback="http%3A%2F%2Fprinter.example.com%2Fready", - oauth_signature="74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D" - - The server validates the request and replies with a set of temporary - credentials in the body of the HTTP response (line breaks are for - display purposes only): - - HTTP/1.1 200 OK - Content-Type: application/x-www-form-urlencoded - - oauth_token=hh5s93j4hdidpola&oauth_token_secret=hdhd0244k9j7ao03& - oauth_callback_confirmed=true - - The client redirects Jane's user-agent to the server's Resource Owner - Authorization endpoint to obtain Jane's approval for accessing her - private photos: - - https://photos.example.net/authorize?oauth_token=hh5s93j4hdidpola - - The server requests Jane to sign in using her username and password - and if successful, asks her to approve granting 'printer.example.com' - access to her private photos. Jane approves the request and her - user-agent is redirected to the callback URI provided by the client - in the previous request (line breaks are for display purposes only): - - http://printer.example.com/ready? - oauth_token=hh5s93j4hdidpola&oauth_verifier=hfdp7dh39dks9884 - - - -Hammer-Lahav Informational [Page 6] - -RFC 5849 OAuth 1.0 April 2010 - - - The callback request informs the client that Jane completed the - authorization process. The client then requests a set of token - credentials using its temporary credentials (over a secure Transport - Layer Security (TLS) channel): - - POST /token HTTP/1.1 - Host: photos.example.net - Authorization: OAuth realm="Photos", - oauth_consumer_key="dpf43f3p2l4k3l03", - oauth_token="hh5s93j4hdidpola", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131201", - oauth_nonce="walatlh", - oauth_verifier="hfdp7dh39dks9884", - oauth_signature="gKgrFCywp7rO0OXSjdot%2FIHF7IU%3D" - - The server validates the request and replies with a set of token - credentials in the body of the HTTP response: - - HTTP/1.1 200 OK - Content-Type: application/x-www-form-urlencoded - - oauth_token=nnch734d00sl2jdk&oauth_token_secret=pfkkdhi9sl3r4s00 - - With a set of token credentials, the client is now ready to request - the private photo: - - GET /photos?file=vacation.jpg&size=original HTTP/1.1 - Host: photos.example.net - Authorization: OAuth realm="Photos", - oauth_consumer_key="dpf43f3p2l4k3l03", - oauth_token="nnch734d00sl2jdk", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131202", - oauth_nonce="chapoH", - oauth_signature="MdpQcU8iPSUjWoN%2FUDMsK2sui9I%3D" - - The 'photos.example.net' server validates the request and responds - with the requested photo. 'printer.example.com' is able to continue - accessing Jane's private photos using the same set of token - credentials for the duration of Jane's authorization, or until Jane - revokes access. - -1.3. Notational Conventions - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. - - - -Hammer-Lahav Informational [Page 7] - -RFC 5849 OAuth 1.0 April 2010 - - -2. Redirection-Based Authorization - - OAuth uses tokens to represent the authorization granted to the - client by the resource owner. Typically, token credentials are - issued by the server at the resource owner's request, after - authenticating the resource owner's identity (usually using a - username and password). - - There are many ways in which a server can facilitate the provisioning - of token credentials. This section defines one such way, using HTTP - redirections and the resource owner's user-agent. This redirection- - based authorization method includes three steps: - - 1. The client obtains a set of temporary credentials from the server - (in the form of an identifier and shared-secret). The temporary - credentials are used to identify the access request throughout - the authorization process. - - 2. The resource owner authorizes the server to grant the client's - access request (identified by the temporary credentials). - - 3. The client uses the temporary credentials to request a set of - token credentials from the server, which will enable it to access - the resource owner's protected resources. - - The server MUST revoke the temporary credentials after being used - once to obtain the token credentials. It is RECOMMENDED that the - temporary credentials have a limited lifetime. Servers SHOULD enable - resource owners to revoke token credentials after they have been - issued to clients. - - In order for the client to perform these steps, the server needs to - advertise the URIs of the following three endpoints: - - Temporary Credential Request - The endpoint used by the client to obtain a set of temporary - credentials as described in Section 2.1. - - Resource Owner Authorization - The endpoint to which the resource owner is redirected to grant - authorization as described in Section 2.2. - - Token Request - The endpoint used by the client to request a set of token - credentials using the set of temporary credentials as described - in Section 2.3. - - - - - -Hammer-Lahav Informational [Page 8] - -RFC 5849 OAuth 1.0 April 2010 - - - The three URIs advertised by the server MAY include a query component - as defined by [RFC3986], Section 3, but if present, the query MUST - NOT contain any parameters beginning with the "oauth_" prefix, to - avoid conflicts with the protocol parameters added to the URIs when - used. - - The methods in which the server advertises and documents its three - endpoints are beyond the scope of this specification. Clients should - avoid making assumptions about the size of tokens and other server- - generated values, which are left undefined by this specification. In - addition, protocol parameters MAY include values that require - encoding when transmitted. Clients and servers should not make - assumptions about the possible range of their values. - -2.1. Temporary Credentials - - The client obtains a set of temporary credentials from the server by - making an authenticated (Section 3) HTTP "POST" request to the - Temporary Credential Request endpoint (unless the server advertises - another HTTP request method for the client to use). The client - constructs a request URI by adding the following REQUIRED parameter - to the request (in addition to the other protocol parameters, using - the same parameter transmission method): - - oauth_callback: An absolute URI back to which the server will - redirect the resource owner when the Resource Owner - Authorization step (Section 2.2) is completed. If - the client is unable to receive callbacks or a - callback URI has been established via other means, - the parameter value MUST be set to "oob" (case - sensitive), to indicate an out-of-band - configuration. - - Servers MAY specify additional parameters. - - When making the request, the client authenticates using only the - client credentials. The client MAY omit the empty "oauth_token" - protocol parameter from the request and MUST use the empty string as - the token secret value. - - Since the request results in the transmission of plain text - credentials in the HTTP response, the server MUST require the use of - a transport-layer mechanisms such as TLS or Secure Socket Layer (SSL) - (or a secure channel with equivalent protections). - - - - - - - -Hammer-Lahav Informational [Page 9] - -RFC 5849 OAuth 1.0 April 2010 - - - For example, the client makes the following HTTPS request: - - POST /request_temp_credentials HTTP/1.1 - Host: server.example.com - Authorization: OAuth realm="Example", - oauth_consumer_key="jd83jd92dhsh93js", - oauth_signature_method="PLAINTEXT", - oauth_callback="http%3A%2F%2Fclient.example.net%2Fcb%3Fx%3D1", - oauth_signature="ja893SD9%26" - - The server MUST verify (Section 3.2) the request and if valid, - respond back to the client with a set of temporary credentials (in - the form of an identifier and shared-secret). The temporary - credentials are included in the HTTP response body using the - "application/x-www-form-urlencoded" content type as defined by - [W3C.REC-html40-19980424] with a 200 status code (OK). - - The response contains the following REQUIRED parameters: - - oauth_token - The temporary credentials identifier. - - oauth_token_secret - The temporary credentials shared-secret. - - oauth_callback_confirmed - MUST be present and set to "true". The parameter is used to - differentiate from previous versions of the protocol. - - Note that even though the parameter names include the term 'token', - these credentials are not token credentials, but are used in the next - two steps in a similar manner to token credentials. - - For example (line breaks are for display purposes only): - - HTTP/1.1 200 OK - Content-Type: application/x-www-form-urlencoded - - oauth_token=hdk48Djdsa&oauth_token_secret=xyz4992k83j47x0b& - oauth_callback_confirmed=true - -2.2. Resource Owner Authorization - - Before the client requests a set of token credentials from the - server, it MUST send the user to the server to authorize the request. - The client constructs a request URI by adding the following REQUIRED - query parameter to the Resource Owner Authorization endpoint URI: - - - - -Hammer-Lahav Informational [Page 10] - -RFC 5849 OAuth 1.0 April 2010 - - - oauth_token - The temporary credentials identifier obtained in Section 2.1 in - the "oauth_token" parameter. Servers MAY declare this - parameter as OPTIONAL, in which case they MUST provide a way - for the resource owner to indicate the identifier through other - means. - - Servers MAY specify additional parameters. - - The client directs the resource owner to the constructed URI using an - HTTP redirection response, or by other means available to it via the - resource owner's user-agent. The request MUST use the HTTP "GET" - method. - - For example, the client redirects the resource owner's user-agent to - make the following HTTPS request: - - GET /authorize_access?oauth_token=hdk48Djdsa HTTP/1.1 - Host: server.example.com - - The way in which the server handles the authorization request, - including whether it uses a secure channel such as TLS/SSL is beyond - the scope of this specification. However, the server MUST first - verify the identity of the resource owner. - - When asking the resource owner to authorize the requested access, the - server SHOULD present to the resource owner information about the - client requesting access based on the association of the temporary - credentials with the client identity. When displaying any such - information, the server SHOULD indicate if the information has been - verified. - - After receiving an authorization decision from the resource owner, - the server redirects the resource owner to the callback URI if one - was provided in the "oauth_callback" parameter or by other means. - - To make sure that the resource owner granting access is the same - resource owner returning back to the client to complete the process, - the server MUST generate a verification code: an unguessable value - passed to the client via the resource owner and REQUIRED to complete - the process. The server constructs the request URI by adding the - following REQUIRED parameters to the callback URI query component: - - oauth_token - The temporary credentials identifier received from the client. - - - - - - -Hammer-Lahav Informational [Page 11] - -RFC 5849 OAuth 1.0 April 2010 - - - oauth_verifier - The verification code. - - If the callback URI already includes a query component, the server - MUST append the OAuth parameters to the end of the existing query. - - For example, the server redirects the resource owner's user-agent to - make the following HTTP request: - - GET /cb?x=1&oauth_token=hdk48Djdsa&oauth_verifier=473f82d3 HTTP/1.1 - Host: client.example.net - - If the client did not provide a callback URI, the server SHOULD - display the value of the verification code, and instruct the resource - owner to manually inform the client that authorization is completed. - If the server knows a client to be running on a limited device, it - SHOULD ensure that the verifier value is suitable for manual entry. - -2.3. Token Credentials - - The client obtains a set of token credentials from the server by - making an authenticated (Section 3) HTTP "POST" request to the Token - Request endpoint (unless the server advertises another HTTP request - method for the client to use). The client constructs a request URI - by adding the following REQUIRED parameter to the request (in - addition to the other protocol parameters, using the same parameter - transmission method): - - oauth_verifier - The verification code received from the server in the previous - step. - - When making the request, the client authenticates using the client - credentials as well as the temporary credentials. The temporary - credentials are used as a substitute for token credentials in the - authenticated request and transmitted using the "oauth_token" - parameter. - - Since the request results in the transmission of plain text - credentials in the HTTP response, the server MUST require the use of - a transport-layer mechanism such as TLS or SSL (or a secure channel - with equivalent protections). - - - - - - - - - -Hammer-Lahav Informational [Page 12] - -RFC 5849 OAuth 1.0 April 2010 - - - For example, the client makes the following HTTPS request: - - POST /request_token HTTP/1.1 - Host: server.example.com - Authorization: OAuth realm="Example", - oauth_consumer_key="jd83jd92dhsh93js", - oauth_token="hdk48Djdsa", - oauth_signature_method="PLAINTEXT", - oauth_verifier="473f82d3", - oauth_signature="ja893SD9%26xyz4992k83j47x0b" - - The server MUST verify (Section 3.2) the validity of the request, - ensure that the resource owner has authorized the provisioning of - token credentials to the client, and ensure that the temporary - credentials have not expired or been used before. The server MUST - also verify the verification code received from the client. If the - request is valid and authorized, the token credentials are included - in the HTTP response body using the - "application/x-www-form-urlencoded" content type as defined by - [W3C.REC-html40-19980424] with a 200 status code (OK). - - The response contains the following REQUIRED parameters: - - oauth_token - The token identifier. - - oauth_token_secret - The token shared-secret. - - For example: - - HTTP/1.1 200 OK - Content-Type: application/x-www-form-urlencoded - - oauth_token=j49ddk933skd9dks&oauth_token_secret=ll399dj47dskfjdk - - The server must retain the scope, duration, and other attributes - approved by the resource owner, and enforce these restrictions when - receiving a client request made with the token credentials issued. - - Once the client receives and stores the token credentials, it can - proceed to access protected resources on behalf of the resource owner - by making authenticated requests (Section 3) using the client - credentials together with the token credentials received. - - - - - - - -Hammer-Lahav Informational [Page 13] - -RFC 5849 OAuth 1.0 April 2010 - - -3. Authenticated Requests - - The HTTP authentication methods defined by [RFC2617] enable clients - to make authenticated HTTP requests. Clients using these methods - gain access to protected resources by using their credentials - (typically, a username and password pair), which allow the server to - verify their authenticity. Using these methods for delegation - requires the client to assume the role of the resource owner. - - OAuth provides a method designed to include two sets of credentials - with each request, one to identify the client, and another to - identify the resource owner. Before a client can make authenticated - requests on behalf of the resource owner, it must obtain a token - authorized by the resource owner. Section 2 provides one such method - through which the client can obtain a token authorized by the - resource owner. - - The client credentials take the form of a unique identifier and an - associated shared-secret or RSA key pair. Prior to making - authenticated requests, the client establishes a set of credentials - with the server. The process and requirements for provisioning these - are outside the scope of this specification. Implementers are urged - to consider the security ramifications of using client credentials, - some of which are described in Section 4.6. - - Making authenticated requests requires prior knowledge of the - server's configuration. OAuth includes multiple methods for - transmitting protocol parameters with requests (Section 3.5), as well - as multiple methods for the client to prove its rightful ownership of - the credentials used (Section 3.4). The way in which clients - discover the required configuration is outside the scope of this - specification. - -3.1. Making Requests - - An authenticated request includes several protocol parameters. Each - parameter name begins with the "oauth_" prefix, and the parameter - names and values are case sensitive. Clients make authenticated - requests by calculating the values of a set of protocol parameters - and adding them to the HTTP request as follows: - - 1. The client assigns value to each of these REQUIRED (unless - specified otherwise) protocol parameters: - - - - - - - - -Hammer-Lahav Informational [Page 14] - -RFC 5849 OAuth 1.0 April 2010 - - - oauth_consumer_key - The identifier portion of the client credentials (equivalent to - a username). The parameter name reflects a deprecated term - (Consumer Key) used in previous revisions of the specification, - and has been retained to maintain backward compatibility. - - oauth_token - The token value used to associate the request with the resource - owner. If the request is not associated with a resource owner - (no token available), clients MAY omit the parameter. - - oauth_signature_method - The name of the signature method used by the client to sign the - request, as defined in Section 3.4. - - oauth_timestamp - The timestamp value as defined in Section 3.3. The parameter - MAY be omitted when using the "PLAINTEXT" signature method. - - oauth_nonce - The nonce value as defined in Section 3.3. The parameter MAY - be omitted when using the "PLAINTEXT" signature method. - - oauth_version - OPTIONAL. If present, MUST be set to "1.0". Provides the - version of the authentication process as defined in this - specification. - - 2. The protocol parameters are added to the request using one of the - transmission methods listed in Section 3.5. Each parameter MUST - NOT appear more than once per request. - - 3. The client calculates and assigns the value of the - "oauth_signature" parameter as described in Section 3.4 and adds - the parameter to the request using the same method as in the - previous step. - - 4. The client sends the authenticated HTTP request to the server. - - For example, to make the following HTTP request authenticated (the - "c2&a3=2+q" string in the following examples is used to illustrate - the impact of a form-encoded entity-body): - - POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1 - Host: example.com - Content-Type: application/x-www-form-urlencoded - - c2&a3=2+q - - - -Hammer-Lahav Informational [Page 15] - -RFC 5849 OAuth 1.0 April 2010 - - - The client assigns values to the following protocol parameters using - its client credentials, token credentials, the current timestamp, a - uniquely generated nonce, and indicates that it will use the - "HMAC-SHA1" signature method: - - oauth_consumer_key: 9djdj82h48djs9d2 - oauth_token: kkk9d7dh3k39sjv7 - oauth_signature_method: HMAC-SHA1 - oauth_timestamp: 137131201 - oauth_nonce: 7d8f3e4a - - The client adds the protocol parameters to the request using the - OAuth HTTP "Authorization" header field: - - Authorization: OAuth realm="Example", - oauth_consumer_key="9djdj82h48djs9d2", - oauth_token="kkk9d7dh3k39sjv7", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131201", - oauth_nonce="7d8f3e4a" - - Then, it calculates the value of the "oauth_signature" parameter - (using client secret "j49sk3j29djd" and token secret "dh893hdasih9"), - adds it to the request, and sends the HTTP request to the server: - - POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1 - Host: example.com - Content-Type: application/x-www-form-urlencoded - Authorization: OAuth realm="Example", - oauth_consumer_key="9djdj82h48djs9d2", - oauth_token="kkk9d7dh3k39sjv7", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131201", - oauth_nonce="7d8f3e4a", - oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D" - - c2&a3=2+q - -3.2. Verifying Requests - - Servers receiving an authenticated request MUST validate it by: - - o Recalculating the request signature independently as described in - Section 3.4 and comparing it to the value received from the client - via the "oauth_signature" parameter. - - - - - - -Hammer-Lahav Informational [Page 16] - -RFC 5849 OAuth 1.0 April 2010 - - - o If using the "HMAC-SHA1" or "RSA-SHA1" signature methods, ensuring - that the combination of nonce/timestamp/token (if present) - received from the client has not been used before in a previous - request (the server MAY reject requests with stale timestamps as - described in Section 3.3). - - o If a token is present, verifying the scope and status of the - client authorization as represented by the token (the server MAY - choose to restrict token usage to the client to which it was - issued). - - o If the "oauth_version" parameter is present, ensuring its value is - "1.0". - - If the request fails verification, the server SHOULD respond with the - appropriate HTTP response status code. The server MAY include - further details about why the request was rejected in the response - body. - - The server SHOULD return a 400 (Bad Request) status code when - receiving a request with unsupported parameters, an unsupported - signature method, missing parameters, or duplicated protocol - parameters. The server SHOULD return a 401 (Unauthorized) status - code when receiving a request with invalid client credentials, an - invalid or expired token, an invalid signature, or an invalid or used - nonce. - -3.3. Nonce and Timestamp - - The timestamp value MUST be a positive integer. Unless otherwise - specified by the server's documentation, the timestamp is expressed - in the number of seconds since January 1, 1970 00:00:00 GMT. - - A nonce is a random string, uniquely generated by the client to allow - the server to verify that a request has never been made before and - helps prevent replay attacks when requests are made over a non-secure - channel. The nonce value MUST be unique across all requests with the - same timestamp, client credentials, and token combinations. - - To avoid the need to retain an infinite number of nonce values for - future checks, servers MAY choose to restrict the time period after - which a request with an old timestamp is rejected. Note that this - restriction implies a level of synchronization between the client's - and server's clocks. Servers applying such a restriction MAY provide - a way for the client to sync with the server's clock; alternatively, - both systems could synchronize with a trusted time service. Details - of clock synchronization strategies are beyond the scope of this - specification. - - - -Hammer-Lahav Informational [Page 17] - -RFC 5849 OAuth 1.0 April 2010 - - -3.4. Signature - - OAuth-authenticated requests can have two sets of credentials: those - passed via the "oauth_consumer_key" parameter and those in the - "oauth_token" parameter. In order for the server to verify the - authenticity of the request and prevent unauthorized access, the - client needs to prove that it is the rightful owner of the - credentials. This is accomplished using the shared-secret (or RSA - key) part of each set of credentials. - - OAuth provides three methods for the client to prove its rightful - ownership of the credentials: "HMAC-SHA1", "RSA-SHA1", and - "PLAINTEXT". These methods are generally referred to as signature - methods, even though "PLAINTEXT" does not involve a signature. In - addition, "RSA-SHA1" utilizes an RSA key instead of the shared- - secrets associated with the client credentials. - - OAuth does not mandate a particular signature method, as each - implementation can have its own unique requirements. Servers are - free to implement and document their own custom methods. - Recommending any particular method is beyond the scope of this - specification. Implementers should review the Security - Considerations section (Section 4) before deciding on which method to - support. - - The client declares which signature method is used via the - "oauth_signature_method" parameter. It then generates a signature - (or a string of an equivalent value) and includes it in the - "oauth_signature" parameter. The server verifies the signature as - specified for each method. - - The signature process does not change the request or its parameters, - with the exception of the "oauth_signature" parameter. - -3.4.1. Signature Base String - - The signature base string is a consistent, reproducible concatenation - of several of the HTTP request elements into a single string. The - string is used as an input to the "HMAC-SHA1" and "RSA-SHA1" - signature methods. - - The signature base string includes the following components of the - HTTP request: - - o The HTTP request method (e.g., "GET", "POST", etc.). - - o The authority as declared by the HTTP "Host" request header field. - - - - -Hammer-Lahav Informational [Page 18] - -RFC 5849 OAuth 1.0 April 2010 - - - o The path and query components of the request resource URI. - - o The protocol parameters excluding the "oauth_signature". - - o Parameters included in the request entity-body if they comply with - the strict restrictions defined in Section 3.4.1.3. - - The signature base string does not cover the entire HTTP request. - Most notably, it does not include the entity-body in most requests, - nor does it include most HTTP entity-headers. It is important to - note that the server cannot verify the authenticity of the excluded - request components without using additional protections such as SSL/ - TLS or other methods. - -3.4.1.1. String Construction - - The signature base string is constructed by concatenating together, - in order, the following HTTP request elements: - - 1. The HTTP request method in uppercase. For example: "HEAD", - "GET", "POST", etc. If the request uses a custom HTTP method, it - MUST be encoded (Section 3.6). - - 2. An "&" character (ASCII code 38). - - 3. The base string URI from Section 3.4.1.2, after being encoded - (Section 3.6). - - 4. An "&" character (ASCII code 38). - - 5. The request parameters as normalized in Section 3.4.1.3.2, after - being encoded (Section 3.6). - - For example, the HTTP request: - - POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1 - Host: example.com - Content-Type: application/x-www-form-urlencoded - Authorization: OAuth realm="Example", - oauth_consumer_key="9djdj82h48djs9d2", - oauth_token="kkk9d7dh3k39sjv7", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131201", - oauth_nonce="7d8f3e4a", - oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D" - - c2&a3=2+q - - - - -Hammer-Lahav Informational [Page 19] - -RFC 5849 OAuth 1.0 April 2010 - - - is represented by the following signature base string (line breaks - are for display purposes only): - - POST&http%3A%2F%2Fexample.com%2Frequest&a2%3Dr%2520b%26a3%3D2%2520q - %26a3%3Da%26b5%3D%253D%25253D%26c%2540%3D%26c2%3D%26oauth_consumer_ - key%3D9djdj82h48djs9d2%26oauth_nonce%3D7d8f3e4a%26oauth_signature_m - ethod%3DHMAC-SHA1%26oauth_timestamp%3D137131201%26oauth_token%3Dkkk - 9d7dh3k39sjv7 - -3.4.1.2. Base String URI - - The scheme, authority, and path of the request resource URI [RFC3986] - are included by constructing an "http" or "https" URI representing - the request resource (without the query or fragment) as follows: - - 1. The scheme and host MUST be in lowercase. - - 2. The host and port values MUST match the content of the HTTP - request "Host" header field. - - 3. The port MUST be included if it is not the default port for the - scheme, and MUST be excluded if it is the default. Specifically, - the port MUST be excluded when making an HTTP request [RFC2616] - to port 80 or when making an HTTPS request [RFC2818] to port 443. - All other non-default port numbers MUST be included. - - For example, the HTTP request: - - GET /r%20v/X?id=123 HTTP/1.1 - Host: EXAMPLE.COM:80 - - is represented by the base string URI: "http://example.com/r%20v/X". - - In another example, the HTTPS request: - - GET /?q=1 HTTP/1.1 - Host: www.example.net:8080 - - is represented by the base string URI: - "https://www.example.net:8080/". - -3.4.1.3. Request Parameters - - In order to guarantee a consistent and reproducible representation of - the request parameters, the parameters are collected and decoded to - their original decoded form. They are then sorted and encoded in a - particular manner that is often different from their original - encoding scheme, and concatenated into a single string. - - - -Hammer-Lahav Informational [Page 20] - -RFC 5849 OAuth 1.0 April 2010 - - -3.4.1.3.1. Parameter Sources - - The parameters from the following sources are collected into a single - list of name/value pairs: - - o The query component of the HTTP request URI as defined by - [RFC3986], Section 3.4. The query component is parsed into a list - of name/value pairs by treating it as an - "application/x-www-form-urlencoded" string, separating the names - and values and decoding them as defined by - [W3C.REC-html40-19980424], Section 17.13.4. - - o The OAuth HTTP "Authorization" header field (Section 3.5.1) if - present. The header's content is parsed into a list of name/value - pairs excluding the "realm" parameter if present. The parameter - values are decoded as defined by Section 3.5.1. - - o The HTTP request entity-body, but only if all of the following - conditions are met: - - * The entity-body is single-part. - - * The entity-body follows the encoding requirements of the - "application/x-www-form-urlencoded" content-type as defined by - [W3C.REC-html40-19980424]. - - * The HTTP request entity-header includes the "Content-Type" - header field set to "application/x-www-form-urlencoded". - - The entity-body is parsed into a list of decoded name/value pairs - as described in [W3C.REC-html40-19980424], Section 17.13.4. - - The "oauth_signature" parameter MUST be excluded from the signature - base string if present. Parameters not explicitly included in the - request MUST be excluded from the signature base string (e.g., the - "oauth_version" parameter when omitted). - - - - - - - - - - - - - - - -Hammer-Lahav Informational [Page 21] - -RFC 5849 OAuth 1.0 April 2010 - - - For example, the HTTP request: - - POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1 - Host: example.com - Content-Type: application/x-www-form-urlencoded - Authorization: OAuth realm="Example", - oauth_consumer_key="9djdj82h48djs9d2", - oauth_token="kkk9d7dh3k39sjv7", - oauth_signature_method="HMAC-SHA1", - oauth_timestamp="137131201", - oauth_nonce="7d8f3e4a", - oauth_signature="djosJKDKJSD8743243%2Fjdk33klY%3D" - - c2&a3=2+q - - contains the following (fully decoded) parameters used in the - signature base sting: - - +------------------------+------------------+ - | Name | Value | - +------------------------+------------------+ - | b5 | =%3D | - | a3 | a | - | c@ | | - | a2 | r b | - | oauth_consumer_key | 9djdj82h48djs9d2 | - | oauth_token | kkk9d7dh3k39sjv7 | - | oauth_signature_method | HMAC-SHA1 | - | oauth_timestamp | 137131201 | - | oauth_nonce | 7d8f3e4a | - | c2 | | - | a3 | 2 q | - +------------------------+------------------+ - - Note that the value of "b5" is "=%3D" and not "==". Both "c@" and - "c2" have empty values. While the encoding rules specified in this - specification for the purpose of constructing the signature base - string exclude the use of a "+" character (ASCII code 43) to - represent an encoded space character (ASCII code 32), this practice - is widely used in "application/x-www-form-urlencoded" encoded values, - and MUST be properly decoded, as demonstrated by one of the "a3" - parameter instances (the "a3" parameter is used twice in this - request). - - - - - - - - -Hammer-Lahav Informational [Page 22] - -RFC 5849 OAuth 1.0 April 2010 - - -3.4.1.3.2. Parameters Normalization - - The parameters collected in Section 3.4.1.3 are normalized into a - single string as follows: - - 1. First, the name and value of each parameter are encoded - (Section 3.6). - - 2. The parameters are sorted by name, using ascending byte value - ordering. If two or more parameters share the same name, they - are sorted by their value. - - 3. The name of each parameter is concatenated to its corresponding - value using an "=" character (ASCII code 61) as a separator, even - if the value is empty. - - 4. The sorted name/value pairs are concatenated together into a - single string by using an "&" character (ASCII code 38) as - separator. - - For example, the list of parameters from the previous section would - be normalized as follows: - - Encoded: - - +------------------------+------------------+ - | Name | Value | - +------------------------+------------------+ - | b5 | %3D%253D | - | a3 | a | - | c%40 | | - | a2 | r%20b | - | oauth_consumer_key | 9djdj82h48djs9d2 | - | oauth_token | kkk9d7dh3k39sjv7 | - | oauth_signature_method | HMAC-SHA1 | - | oauth_timestamp | 137131201 | - | oauth_nonce | 7d8f3e4a | - | c2 | | - | a3 | 2%20q | - +------------------------+------------------+ - - - - - - - - - - - -Hammer-Lahav Informational [Page 23] - -RFC 5849 OAuth 1.0 April 2010 - - - Sorted: - - +------------------------+------------------+ - | Name | Value | - +------------------------+------------------+ - | a2 | r%20b | - | a3 | 2%20q | - | a3 | a | - | b5 | %3D%253D | - | c%40 | | - | c2 | | - | oauth_consumer_key | 9djdj82h48djs9d2 | - | oauth_nonce | 7d8f3e4a | - | oauth_signature_method | HMAC-SHA1 | - | oauth_timestamp | 137131201 | - | oauth_token | kkk9d7dh3k39sjv7 | - +------------------------+------------------+ - - Concatenated Pairs: - - +-------------------------------------+ - | Name=Value | - +-------------------------------------+ - | a2=r%20b | - | a3=2%20q | - | a3=a | - | b5=%3D%253D | - | c%40= | - | c2= | - | oauth_consumer_key=9djdj82h48djs9d2 | - | oauth_nonce=7d8f3e4a | - | oauth_signature_method=HMAC-SHA1 | - | oauth_timestamp=137131201 | - | oauth_token=kkk9d7dh3k39sjv7 | - +-------------------------------------+ - - and concatenated together into a single string (line breaks are for - display purposes only): - - a2=r%20b&a3=2%20q&a3=a&b5=%3D%253D&c%40=&c2=&oauth_consumer_key=9dj - dj82h48djs9d2&oauth_nonce=7d8f3e4a&oauth_signature_method=HMAC-SHA1 - &oauth_timestamp=137131201&oauth_token=kkk9d7dh3k39sjv7 - - - - - - - - - -Hammer-Lahav Informational [Page 24] - -RFC 5849 OAuth 1.0 April 2010 - - -3.4.2. HMAC-SHA1 - - The "HMAC-SHA1" signature method uses the HMAC-SHA1 signature - algorithm as defined in [RFC2104]: - - digest = HMAC-SHA1 (key, text) - - The HMAC-SHA1 function variables are used in following way: - - text is set to the value of the signature base string from - Section 3.4.1.1. - - key is set to the concatenated values of: - - 1. The client shared-secret, after being encoded - (Section 3.6). - - 2. An "&" character (ASCII code 38), which MUST be included - even when either secret is empty. - - 3. The token shared-secret, after being encoded - (Section 3.6). - - digest is used to set the value of the "oauth_signature" protocol - parameter, after the result octet string is base64-encoded - per [RFC2045], Section 6.8. - -3.4.3. RSA-SHA1 - - The "RSA-SHA1" signature method uses the RSASSA-PKCS1-v1_5 signature - algorithm as defined in [RFC3447], Section 8.2 (also known as - PKCS#1), using SHA-1 as the hash function for EMSA-PKCS1-v1_5. To - use this method, the client MUST have established client credentials - with the server that included its RSA public key (in a manner that is - beyond the scope of this specification). - - The signature base string is signed using the client's RSA private - key per [RFC3447], Section 8.2.1: - - S = RSASSA-PKCS1-V1_5-SIGN (K, M) - - Where: - - K is set to the client's RSA private key, - - M is set to the value of the signature base string from - Section 3.4.1.1, and - - - - -Hammer-Lahav Informational [Page 25] - -RFC 5849 OAuth 1.0 April 2010 - - - S is the result signature used to set the value of the - "oauth_signature" protocol parameter, after the result octet - string is base64-encoded per [RFC2045] section 6.8. - - The server verifies the signature per [RFC3447] section 8.2.2: - - RSASSA-PKCS1-V1_5-VERIFY ((n, e), M, S) - - Where: - - (n, e) is set to the client's RSA public key, - - M is set to the value of the signature base string from - Section 3.4.1.1, and - - S is set to the octet string value of the "oauth_signature" - protocol parameter received from the client. - -3.4.4. PLAINTEXT - - The "PLAINTEXT" method does not employ a signature algorithm. It - MUST be used with a transport-layer mechanism such as TLS or SSL (or - sent over a secure channel with equivalent protections). It does not - utilize the signature base string or the "oauth_timestamp" and - "oauth_nonce" parameters. - - The "oauth_signature" protocol parameter is set to the concatenated - value of: - - 1. The client shared-secret, after being encoded (Section 3.6). - - 2. An "&" character (ASCII code 38), which MUST be included even - when either secret is empty. - - 3. The token shared-secret, after being encoded (Section 3.6). - -3.5. Parameter Transmission - - When making an OAuth-authenticated request, protocol parameters as - well as any other parameter using the "oauth_" prefix SHALL be - included in the request using one and only one of the following - locations, listed in order of decreasing preference: - - 1. The HTTP "Authorization" header field as described in - Section 3.5.1. - - 2. The HTTP request entity-body as described in Section 3.5.2. - - - - -Hammer-Lahav Informational [Page 26] - -RFC 5849 OAuth 1.0 April 2010 - - - 3. The HTTP request URI query as described in Section 3.5.3. - - In addition to these three methods, future extensions MAY define - other methods for including protocol parameters in the request. - -3.5.1. Authorization Header - - Protocol parameters can be transmitted using the HTTP "Authorization" - header field as defined by [RFC2617] with the auth-scheme name set to - "OAuth" (case insensitive). - - For example: - - Authorization: OAuth realm="Example", - oauth_consumer_key="0685bd9184jfhq22", - oauth_token="ad180jjd733klru7", - oauth_signature_method="HMAC-SHA1", - oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D", - oauth_timestamp="137131200", - oauth_nonce="4572616e48616d6d65724c61686176", - oauth_version="1.0" - - Protocol parameters SHALL be included in the "Authorization" header - field as follows: - - 1. Parameter names and values are encoded per Parameter Encoding - (Section 3.6). - - 2. Each parameter's name is immediately followed by an "=" character - (ASCII code 61), a """ character (ASCII code 34), the parameter - value (MAY be empty), and another """ character (ASCII code 34). - - 3. Parameters are separated by a "," character (ASCII code 44) and - OPTIONAL linear whitespace per [RFC2617]. - - 4. The OPTIONAL "realm" parameter MAY be added and interpreted per - [RFC2617] section 1.2. - - Servers MAY indicate their support for the "OAuth" auth-scheme by - returning the HTTP "WWW-Authenticate" response header field upon - client requests for protected resources. As per [RFC2617], such a - response MAY include additional HTTP "WWW-Authenticate" header - fields: - - For example: - - WWW-Authenticate: OAuth realm="http://server.example.com/" - - - - -Hammer-Lahav Informational [Page 27] - -RFC 5849 OAuth 1.0 April 2010 - - - The realm parameter defines a protection realm per [RFC2617], Section - 1.2. - -3.5.2. Form-Encoded Body - - Protocol parameters can be transmitted in the HTTP request entity- - body, but only if the following REQUIRED conditions are met: - - o The entity-body is single-part. - - o The entity-body follows the encoding requirements of the - "application/x-www-form-urlencoded" content-type as defined by - [W3C.REC-html40-19980424]. - - o The HTTP request entity-header includes the "Content-Type" header - field set to "application/x-www-form-urlencoded". - - For example (line breaks are for display purposes only): - - oauth_consumer_key=0685bd9184jfhq22&oauth_token=ad180jjd733klr - u7&oauth_signature_method=HMAC-SHA1&oauth_signature=wOJIO9A2W5 - mFwDgiDvZbTSMK%2FPY%3D&oauth_timestamp=137131200&oauth_nonce=4 - 572616e48616d6d65724c61686176&oauth_version=1.0 - - The entity-body MAY include other request-specific parameters, in - which case, the protocol parameters SHOULD be appended following the - request-specific parameters, properly separated by an "&" character - (ASCII code 38). - -3.5.3. Request URI Query - - Protocol parameters can be transmitted by being added to the HTTP - request URI as a query parameter as defined by [RFC3986], Section 3. - - For example (line breaks are for display purposes only): - - GET /example/path?oauth_consumer_key=0685bd9184jfhq22& - oauth_token=ad180jjd733klru7&oauth_signature_method=HM - AC-SHA1&oauth_signature=wOJIO9A2W5mFwDgiDvZbTSMK%2FPY% - 3D&oauth_timestamp=137131200&oauth_nonce=4572616e48616 - d6d65724c61686176&oauth_version=1.0 HTTP/1.1 - - The request URI MAY include other request-specific query parameters, - in which case, the protocol parameters SHOULD be appended following - the request-specific parameters, properly separated by an "&" - character (ASCII code 38). - - - - - -Hammer-Lahav Informational [Page 28] - -RFC 5849 OAuth 1.0 April 2010 - - -3.6. Percent Encoding - - Existing percent-encoding methods do not guarantee a consistent - construction of the signature base string. The following percent- - encoding method is not defined to replace the existing encoding - methods defined by [RFC3986] and [W3C.REC-html40-19980424]. It is - used only in the construction of the signature base string and the - "Authorization" header field. - - This specification defines the following method for percent-encoding - strings: - - 1. Text values are first encoded as UTF-8 octets per [RFC3629] if - they are not already. This does not include binary values that - are not intended for human consumption. - - 2. The values are then escaped using the [RFC3986] percent-encoding - (%XX) mechanism as follows: - - * Characters in the unreserved character set as defined by - [RFC3986], Section 2.3 (ALPHA, DIGIT, "-", ".", "_", "~") MUST - NOT be encoded. - - * All other characters MUST be encoded. - - * The two hexadecimal characters used to represent encoded - characters MUST be uppercase. - - This method is different from the encoding scheme used by the - "application/x-www-form-urlencoded" content-type (for example, it - encodes space characters as "%20" and not using the "+" character). - It MAY be different from the percent-encoding functions provided by - web-development frameworks (e.g., encode different characters, use - lowercase hexadecimal characters). - -4. Security Considerations - - As stated in [RFC2617], the greatest sources of risks are usually - found not in the core protocol itself but in policies and procedures - surrounding its use. Implementers are strongly encouraged to assess - how this protocol addresses their security requirements. - -4.1. RSA-SHA1 Signature Method - - Authenticated requests made with "RSA-SHA1" signatures do not use the - token shared-secret, or any provisioned client shared-secret. This - means the request relies completely on the secrecy of the private key - used by the client to sign requests. - - - -Hammer-Lahav Informational [Page 29] - -RFC 5849 OAuth 1.0 April 2010 - - -4.2. Confidentiality of Requests - - While this protocol provides a mechanism for verifying the integrity - of requests, it provides no guarantee of request confidentiality. - Unless further precautions are taken, eavesdroppers will have full - access to request content. Servers should carefully consider the - kinds of data likely to be sent as part of such requests, and should - employ transport-layer security mechanisms to protect sensitive - resources. - -4.3. Spoofing by Counterfeit Servers - - This protocol makes no attempt to verify the authenticity of the - server. A hostile party could take advantage of this by intercepting - the client's requests and returning misleading or otherwise incorrect - responses. Service providers should consider such attacks when - developing services using this protocol, and should require - transport-layer security for any requests where the authenticity of - the server or of request responses is an issue. - -4.4. Proxying and Caching of Authenticated Content - - The HTTP Authorization scheme (Section 3.5.1) is optional. However, - [RFC2616] relies on the "Authorization" and "WWW-Authenticate" header - fields to distinguish authenticated content so that it can be - protected. Proxies and caches, in particular, may fail to adequately - protect requests not using these header fields. - - For example, private authenticated content may be stored in (and thus - retrievable from) publicly accessible caches. Servers not using the - HTTP "Authorization" header field should take care to use other - mechanisms, such as the "Cache-Control" header field, to ensure that - authenticated content is protected. - -4.5. Plaintext Storage of Credentials - - The client shared-secret and token shared-secret function the same - way passwords do in traditional authentication systems. In order to - compute the signatures used in methods other than "RSA-SHA1", the - server must have access to these secrets in plaintext form. This is - in contrast, for example, to modern operating systems, which store - only a one-way hash of user credentials. - - If an attacker were to gain access to these secrets -- or worse, to - the server's database of all such secrets -- he or she would be able - to perform any action on behalf of any resource owner. Accordingly, - it is critical that servers protect these secrets from unauthorized - access. - - - -Hammer-Lahav Informational [Page 30] - -RFC 5849 OAuth 1.0 April 2010 - - -4.6. Secrecy of the Client Credentials - - In many cases, the client application will be under the control of - potentially untrusted parties. For example, if the client is a - desktop application with freely available source code or an - executable binary, an attacker may be able to download a copy for - analysis. In such cases, attackers will be able to recover the - client credentials. - - Accordingly, servers should not use the client credentials alone to - verify the identity of the client. Where possible, other factors - such as IP address should be used as well. - -4.7. Phishing Attacks - - Wide deployment of this and similar protocols may cause resource - owners to become inured to the practice of being redirected to - websites where they are asked to enter their passwords. If resource - owners are not careful to verify the authenticity of these websites - before entering their credentials, it will be possible for attackers - to exploit this practice to steal resource owners' passwords. - - Servers should attempt to educate resource owners about the risks - phishing attacks pose, and should provide mechanisms that make it - easy for resource owners to confirm the authenticity of their sites. - Client developers should consider the security implications of how - they interact with a user-agent (e.g., separate window, embedded), - and the ability of the end-user to verify the authenticity of the - server website. - -4.8. Scoping of Access Requests - - By itself, this protocol does not provide any method for scoping the - access rights granted to a client. However, most applications do - require greater granularity of access rights. For example, servers - may wish to make it possible to grant access to some protected - resources but not others, or to grant only limited access (such as - read-only access) to those protected resources. - - When implementing this protocol, servers should consider the types of - access resource owners may wish to grant clients, and should provide - mechanisms to do so. Servers should also take care to ensure that - resource owners understand the access they are granting, as well as - any risks that may be involved. - - - - - - - -Hammer-Lahav Informational [Page 31] - -RFC 5849 OAuth 1.0 April 2010 - - -4.9. Entropy of Secrets - - Unless a transport-layer security protocol is used, eavesdroppers - will have full access to authenticated requests and signatures, and - will thus be able to mount offline brute-force attacks to recover the - credentials used. Servers should be careful to assign shared-secrets - that are long enough, and random enough, to resist such attacks for - at least the length of time that the shared-secrets are valid. - - For example, if shared-secrets are valid for two weeks, servers - should ensure that it is not possible to mount a brute force attack - that recovers the shared-secret in less than two weeks. Of course, - servers are urged to err on the side of caution, and use the longest - secrets reasonable. - - It is equally important that the pseudo-random number generator - (PRNG) used to generate these secrets be of sufficiently high - quality. Many PRNG implementations generate number sequences that - may appear to be random, but that nevertheless exhibit patterns or - other weaknesses that make cryptanalysis or brute force attacks - easier. Implementers should be careful to use cryptographically - secure PRNGs to avoid these problems. - -4.10. Denial-of-Service / Resource-Exhaustion Attacks - - This specification includes a number of features that may make - resource exhaustion attacks against servers possible. For example, - this protocol requires servers to track used nonces. If an attacker - is able to use many nonces quickly, the resources required to track - them may exhaust available capacity. And again, this protocol can - require servers to perform potentially expensive computations in - order to verify the signature on incoming requests. An attacker may - exploit this to perform a denial-of-service attack by sending a large - number of invalid requests to the server. - - Resource Exhaustion attacks are by no means specific to this - specification. However, implementers should be careful to consider - the additional avenues of attack that this protocol exposes, and - design their implementations accordingly. For example, entropy - starvation typically results in either a complete denial of service - while the system waits for new entropy or else in weak (easily - guessable) secrets. When implementing this protocol, servers should - consider which of these presents a more serious risk for their - application and design accordingly. - - - - - - - -Hammer-Lahav Informational [Page 32] - -RFC 5849 OAuth 1.0 April 2010 - - -4.11. SHA-1 Cryptographic Attacks - - SHA-1, the hash algorithm used in "HMAC-SHA1" and "RSA-SHA1" - signature methods, has been shown to have a number of cryptographic - weaknesses that significantly reduce its resistance to collision - attacks. While these weaknesses do not seem to affect the use of - SHA-1 with the Hash-based Message Authentication Code (HMAC) and - should not affect the "HMAC-SHA1" signature method, it may affect the - use of the "RSA-SHA1" signature method. NIST has announced that it - will phase out use of SHA-1 in digital signatures by 2010 - [NIST_SHA-1Comments]. - - Practically speaking, these weaknesses are difficult to exploit, and - by themselves do not pose a significant risk to users of this - protocol. They may, however, make more efficient attacks possible, - and servers should take this into account when considering whether - SHA-1 provides an adequate level of security for their applications. - -4.12. Signature Base String Limitations - - The signature base string has been designed to support the signature - methods defined in this specification. Those designing additional - signature methods, should evaluated the compatibility of the - signature base string with their security requirements. - - Since the signature base string does not cover the entire HTTP - request, such as most request entity-body, most entity-headers, and - the order in which parameters are sent, servers should employ - additional mechanisms to protect such elements. - -4.13. Cross-Site Request Forgery (CSRF) - - Cross-Site Request Forgery (CSRF) is a web-based attack whereby HTTP - requests are transmitted from a user that the website trusts or has - authenticated. CSRF attacks on authorization approvals can allow an - attacker to obtain authorization to protected resources without the - consent of the User. Servers SHOULD strongly consider best practices - in CSRF prevention at all the protocol authorization endpoints. - - CSRF attacks on OAuth callback URIs hosted by clients are also - possible. Clients should prevent CSRF attacks on OAuth callback URIs - by verifying that the resource owner at the client site intended to - complete the OAuth negotiation with the server. The methods for - preventing such CSRF attacks are beyond the scope of this - specification. - - - - - - -Hammer-Lahav Informational [Page 33] - -RFC 5849 OAuth 1.0 April 2010 - - -4.14. User Interface Redress - - Servers should protect the authorization process against user - interface (UI) redress attacks (also known as "clickjacking"). As of - the time of this writing, no complete defenses against UI redress are - available. Servers can mitigate the risk of UI redress attacks using - the following techniques: - - o JavaScript frame busting. - - o JavaScript frame busting, and requiring that browsers have - JavaScript enabled on the authorization page. - - o Browser-specific anti-framing techniques. - - o Requiring password reentry before issuing OAuth tokens. - -4.15. Automatic Processing of Repeat Authorizations - - Servers may wish to automatically process authorization requests - (Section 2.2) from clients that have been previously authorized by - the resource owner. When the resource owner is redirected to the - server to grant access, the server detects that the resource owner - has already granted access to that particular client. Instead of - prompting the resource owner for approval, the server automatically - redirects the resource owner back to the client. - - If the client credentials are compromised, automatic processing - creates additional security risks. An attacker can use the stolen - client credentials to redirect the resource owner to the server with - an authorization request. The server will then grant access to the - resource owner's data without the resource owner's explicit approval, - or even awareness of an attack. If no automatic approval is - implemented, an attacker must use social engineering to convince the - resource owner to approve access. - - Servers can mitigate the risks associated with automatic processing - by limiting the scope of token credentials obtained through automated - approvals. Tokens credentials obtained through explicit resource - owner consent can remain unaffected. Clients can mitigate the risks - associated with automatic processing by protecting their client - credentials. - - - - - - - - - -Hammer-Lahav Informational [Page 34] - -RFC 5849 OAuth 1.0 April 2010 - - -5. Acknowledgments - - This specification is directly based on the OAuth Core 1.0 Revision A - community specification, which in turn was modeled after existing - proprietary protocols and best practices that have been independently - implemented by various companies. - - The community specification was edited by Eran Hammer-Lahav and - authored by: Mark Atwood, Dirk Balfanz, Darren Bounds, Richard M. - Conlan, Blaine Cook, Leah Culver, Breno de Medeiros, Brian Eaton, - Kellan Elliott-McCrea, Larry Halff, Eran Hammer-Lahav, Ben Laurie, - Chris Messina, John Panzer, Sam Quigley, David Recordon, Eran - Sandler, Jonathan Sergent, Todd Sieling, Brian Slesinsky, and Andy - Smith. - - The editor would like to thank the following individuals for their - invaluable contribution to the publication of this edition of the - protocol: Lisa Dusseault, Justin Hart, Avshalom Houri, Chris Messina, - Mark Nottingham, Tim Polk, Peter Saint-Andre, Joseph Smarr, and Paul - Walker. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Hammer-Lahav Informational [Page 35] - -RFC 5849 OAuth 1.0 April 2010 - - -Appendix A. Differences from the Community Edition - - This specification includes the following changes made to the - original community document [OAuthCore1.0_RevisionA] in order to - correct mistakes and omissions identified since the document was - originally published at . - - o Changed using TLS/SSL when sending or requesting plain text - credentials from SHOULD to MUST. This change affects any use of - the "PLAINTEXT" signature method, as well as requesting temporary - credentials (Section 2.1) and obtaining token credentials - (Section 2.3). - - o Adjusted nonce language to indicate it is unique per token/ - timestamp/client combination. - - o Removed the requirement for timestamps to be equal to or greater - than the timestamp used in the previous request. - - o Changed the nonce and timestamp parameters to OPTIONAL when using - the "PLAINTEXT" signature method. - - o Extended signature base string coverage that includes - "application/x-www-form-urlencoded" entity-body parameters when - the HTTP method used is other than "POST" and URI query parameters - when the HTTP method used is other than "GET". - - o Incorporated corrections to the instructions in each signature - method to encode the signature value before inserting it into the - "oauth_signature" parameter, removing errors that would have - caused double-encoded values. - - o Allowed omitting the "oauth_token" parameter when empty. - - o Permitted sending requests for temporary credentials with an empty - "oauth_token" parameter. - - o Removed the restrictions from defining additional "oauth_" - parameters. - - - - - - - - - - - - -Hammer-Lahav Informational [Page 36] - -RFC 5849 OAuth 1.0 April 2010 - - -6. References - -6.1. Normative References - - [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail - Extensions (MIME) Part One: Format of Internet Message - Bodies", RFC 2045, November 1996. - - [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- - Hashing for Message Authentication", RFC 2104, - February 1997. - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., - Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext - Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. - - [RFC2617] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., - Leach, P., Luotonen, A., and L. Stewart, "HTTP - Authentication: Basic and Digest Access Authentication", - RFC 2617, June 1999. - - [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. - - [RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography - Standards (PKCS) #1: RSA Cryptography Specifications - Version 2.1", RFC 3447, February 2003. - - [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO - 10646", STD 63, RFC 3629, November 2003. - - [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform - Resource Identifier (URI): Generic Syntax", STD 66, - RFC 3986, January 2005. - - [W3C.REC-html40-19980424] - Hors, A., Raggett, D., and I. Jacobs, "HTML 4.0 - Specification", World Wide Web Consortium - Recommendation REC-html40-19980424, April 1998, - . - - - - - - - - - -Hammer-Lahav Informational [Page 37] - -RFC 5849 OAuth 1.0 April 2010 - - -6.2. Informative References - - [NIST_SHA-1Comments] - Burr, W., "NIST Comments on Cryptanalytic Attacks on - SHA-1", - . - - [OAuthCore1.0_RevisionA] - OAuth Community, "OAuth Core 1.0 Revision A", - . - -Author's Address - - Eran Hammer-Lahav (editor) - - EMail: eran@hueniverse.com - URI: http://hueniverse.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Hammer-Lahav Informational [Page 38] - diff --git a/vendor/league/oauth1-client/src/Credentials/ClientCredentials.php b/vendor/league/oauth1-client/src/Credentials/ClientCredentials.php deleted file mode 100644 index a0a03bcaf..000000000 --- a/vendor/league/oauth1-client/src/Credentials/ClientCredentials.php +++ /dev/null @@ -1,29 +0,0 @@ -callbackUri; - } - - /** - * @inheritDoc - */ - public function setCallbackUri($callbackUri) - { - $this->callbackUri = $callbackUri; - } -} diff --git a/vendor/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php b/vendor/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php deleted file mode 100644 index c126156d6..000000000 --- a/vendor/league/oauth1-client/src/Credentials/ClientCredentialsInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -identifier; - } - - /** - * @inheritDoc - */ - public function setIdentifier($identifier) - { - $this->identifier = $identifier; - } - - /** - * @inheritDoc - */ - public function getSecret() - { - return $this->secret; - } - - /** - * @inheritDoc - */ - public function setSecret($secret) - { - $this->secret = $secret; - } -} diff --git a/vendor/league/oauth1-client/src/Credentials/CredentialsException.php b/vendor/league/oauth1-client/src/Credentials/CredentialsException.php deleted file mode 100644 index b512eaa44..000000000 --- a/vendor/league/oauth1-client/src/Credentials/CredentialsException.php +++ /dev/null @@ -1,9 +0,0 @@ -rsaPublicKeyFile = $filename; - $this->rsaPublicKey = null; - - return $this; - } - - /** - * Sets the path to the RSA private key. - * - * @param string $filename - * - * @return self - */ - public function setRsaPrivateKey($filename) - { - $this->rsaPrivateKeyFile = $filename; - $this->rsaPrivateKey = null; - - return $this; - } - - /** - * Gets the RSA public key. - * - * @throws CredentialsException when the key could not be loaded. - * - * @return resource|OpenSSLAsymmetricKey - */ - public function getRsaPublicKey() - { - if ($this->rsaPublicKey) { - return $this->rsaPublicKey; - } - - if ( ! file_exists($this->rsaPublicKeyFile)) { - throw new CredentialsException('Could not read the public key file.'); - } - - $this->rsaPublicKey = openssl_get_publickey(file_get_contents($this->rsaPublicKeyFile)); - - if ( ! $this->rsaPublicKey) { - throw new CredentialsException('Cannot access public key for signing'); - } - - return $this->rsaPublicKey; - } - - /** - * Gets the RSA private key. - * - * @throws CredentialsException when the key could not be loaded. - * - * @return resource|OpenSSLAsymmetricKey - */ - public function getRsaPrivateKey() - { - if ($this->rsaPrivateKey) { - return $this->rsaPrivateKey; - } - - if ( ! file_exists($this->rsaPrivateKeyFile)) { - throw new CredentialsException('Could not read the private key file.'); - } - - $this->rsaPrivateKey = openssl_pkey_get_private(file_get_contents($this->rsaPrivateKeyFile)); - - if ( ! $this->rsaPrivateKey) { - throw new CredentialsException('Cannot access private key for signing'); - } - - return $this->rsaPrivateKey; - } -} diff --git a/vendor/league/oauth1-client/src/Credentials/TemporaryCredentials.php b/vendor/league/oauth1-client/src/Credentials/TemporaryCredentials.php deleted file mode 100644 index 91796e0ce..000000000 --- a/vendor/league/oauth1-client/src/Credentials/TemporaryCredentials.php +++ /dev/null @@ -1,7 +0,0 @@ -uid = $data['user']['username']; - $user->nickname = $data['user']['username']; - $user->name = $data['user']['display_name']; - $user->firstName = $data['user']['first_name']; - $user->lastName = $data['user']['last_name']; - $user->imageUrl = $data['user']['avatar']; - - $used = ['username', 'display_name', 'avatar']; - - foreach ($data as $key => $value) { - if (strpos($key, 'url') !== false) { - if ( ! in_array($key, $used)) { - $used[] = $key; - } - - $user->urls[$key] = $value; - } - } - - // Save all extra data - $user->extra = array_diff_key($data, array_flip($used)); - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return $data['user']['username']; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return null; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return $data['user']['display_name']; - } -} diff --git a/vendor/league/oauth1-client/src/Server/Magento.php b/vendor/league/oauth1-client/src/Server/Magento.php deleted file mode 100644 index 6267cfa4a..000000000 --- a/vendor/league/oauth1-client/src/Server/Magento.php +++ /dev/null @@ -1,218 +0,0 @@ -parseConfigurationArray($clientCredentials); - } - } - - /** - * @inheritDoc - */ - public function urlTemporaryCredentials() - { - return $this->baseUri . '/oauth/initiate'; - } - - /** - * @inheritDoc - */ - public function urlAuthorization() - { - return $this->isAdmin - ? $this->adminUrl - : $this->baseUri . '/oauth/authorize'; - } - - /** - * @inheritDoc - */ - public function urlTokenCredentials() - { - return $this->baseUri . '/oauth/token'; - } - - /** - * @inheritDoc - */ - public function urlUserDetails() - { - return $this->baseUri . '/api/rest/customers'; - } - - /** - * @inheritDoc - */ - public function userDetails($data, TokenCredentials $tokenCredentials) - { - if ( ! is_array($data) || ! count($data)) { - throw new \Exception('Not possible to get user info'); - } - - $id = key($data); - $data = current($data); - - $user = new User(); - $user->uid = $id; - - $mapping = [ - 'email' => 'email', - 'firstName' => 'firstname', - 'lastName' => 'lastname', - ]; - foreach ($mapping as $userKey => $dataKey) { - if ( ! isset($data[$dataKey])) { - continue; - } - $user->{$userKey} = $data[$dataKey]; - } - - $user->extra = array_diff_key($data, array_flip($mapping)); - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return key($data); - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - $data = current($data); - - if ( ! isset($data['email'])) { - return null; - } - - return $data['email']; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return null; - } - - /** - * @inheritDoc - */ - public function getTokenCredentials(TemporaryCredentials $temporaryCredentials, $temporaryIdentifier, $verifier) - { - $this->verifier = $verifier; - - return parent::getTokenCredentials($temporaryCredentials, $temporaryIdentifier, $verifier); - } - - /** - * @inheritDoc - */ - protected function additionalProtocolParameters() - { - return [ - 'oauth_verifier' => $this->verifier, - ]; - } - - protected function getHttpClientDefaultHeaders() - { - $defaultHeaders = parent::getHttpClientDefaultHeaders(); - // Accept header is required, @see Mage_Api2_Model_Renderer::factory - $defaultHeaders['Accept'] = 'application/json'; - - return $defaultHeaders; - } - - /** - * Parse configuration array to set attributes. - * - * @param array $configuration - * - * @return void - * - * @throws \Exception - */ - private function parseConfigurationArray(array $configuration = []) - { - if ( ! isset($configuration['host'])) { - throw new \Exception('Missing Magento Host'); - } - $url = parse_url($configuration['host']); - $this->baseUri = sprintf('%s://%s', $url['scheme'], $url['host']); - - if (isset($url['port'])) { - $this->baseUri .= ':' . $url['port']; - } - - if (isset($url['path'])) { - $this->baseUri .= '/' . trim($url['path'], '/'); - } - $this->isAdmin = ! empty($configuration['admin']); - if ( ! empty($configuration['adminUrl'])) { - $this->adminUrl = $configuration['adminUrl'] . '/oauth_authorize'; - } else { - $this->adminUrl = $this->baseUri . '/admin/oauth_authorize'; - } - } -} diff --git a/vendor/league/oauth1-client/src/Server/Server.php b/vendor/league/oauth1-client/src/Server/Server.php deleted file mode 100644 index 9341beb19..000000000 --- a/vendor/league/oauth1-client/src/Server/Server.php +++ /dev/null @@ -1,725 +0,0 @@ -createClientCredentials($clientCredentials); - } elseif ( ! $clientCredentials instanceof ClientCredentialsInterface) { - throw new \InvalidArgumentException('Client credentials must be an array or valid object.'); - } - - $this->clientCredentials = $clientCredentials; - - if ( ! $signature && $clientCredentials instanceof RsaClientCredentials) { - $signature = new RsaSha1Signature($clientCredentials); - } - $this->signature = $signature ?: new HmacSha1Signature($clientCredentials); - } - - /** - * Gets temporary credentials by performing a request to - * the server. - * - * @return TemporaryCredentials - * - * @throws CredentialsException - */ - public function getTemporaryCredentials() - { - $uri = $this->urlTemporaryCredentials(); - - $client = $this->createHttpClient(); - - $header = $this->temporaryCredentialsProtocolHeader($uri); - $authorizationHeader = ['Authorization' => $header]; - $headers = $this->buildHttpClientHeaders($authorizationHeader); - - try { - $response = $client->post($uri, [ - 'headers' => $headers, - ]); - - return $this->createTemporaryCredentials((string) $response->getBody()); - } catch (BadResponseException $e) { - $this->handleTemporaryCredentialsBadResponse($e); - } - - throw new CredentialsException('Failed to get temporary credentials'); - } - - /** - * Get the authorization URL by passing in the temporary credentials - * identifier or an object instance. - * - * @param TemporaryCredentials|string $temporaryIdentifier - * @param array $options - * - * @return string - */ - public function getAuthorizationUrl($temporaryIdentifier, array $options = []) - { - // Somebody can pass through an instance of temporary - // credentials and we'll extract the identifier from there. - if ($temporaryIdentifier instanceof TemporaryCredentials) { - $temporaryIdentifier = $temporaryIdentifier->getIdentifier(); - } - - $parameters = array_merge($options, ['oauth_token' => $temporaryIdentifier]); - - $url = $this->urlAuthorization(); - $queryString = http_build_query($parameters); - - return $this->buildUrl($url, $queryString); - } - - /** - * Redirect the client to the authorization URL. - * - * @param TemporaryCredentials|string $temporaryIdentifier - * - * @return void - */ - public function authorize($temporaryIdentifier) - { - $url = $this->getAuthorizationUrl($temporaryIdentifier); - - header('Location: ' . $url); - } - - /** - * Retrieves token credentials by passing in the temporary credentials, - * the temporary credentials identifier as passed back by the server - * and finally the verifier code. - * - * @param TemporaryCredentials $temporaryCredentials - * @param string $temporaryIdentifier - * @param string $verifier - * - * @return TokenCredentials - * - * @throws CredentialsException - */ - public function getTokenCredentials(TemporaryCredentials $temporaryCredentials, $temporaryIdentifier, $verifier) - { - if ($temporaryIdentifier !== $temporaryCredentials->getIdentifier()) { - throw new \InvalidArgumentException( - 'Temporary identifier passed back by server does not match that of stored temporary credentials. - Potential man-in-the-middle.' - ); - } - - $uri = $this->urlTokenCredentials(); - $bodyParameters = ['oauth_verifier' => $verifier]; - - $client = $this->createHttpClient(); - - $headers = $this->getHeaders($temporaryCredentials, 'POST', $uri, $bodyParameters); - - try { - $response = $client->post($uri, [ - 'headers' => $headers, - 'form_params' => $bodyParameters, - ]); - - return $this->createTokenCredentials((string) $response->getBody()); - } catch (BadResponseException $e) { - $this->handleTokenCredentialsBadResponse($e); - } - - throw new CredentialsException('Failed to get token credentials.'); - } - - /** - * Get user details by providing valid token credentials. - * - * @param TokenCredentials $tokenCredentials - * @param bool $force - * - * @return \League\OAuth1\Client\Server\User - */ - public function getUserDetails(TokenCredentials $tokenCredentials, $force = false) - { - $data = $this->fetchUserDetails($tokenCredentials, $force); - - return $this->userDetails($data, $tokenCredentials); - } - - /** - * Get the user's unique identifier (primary key). - * - * @param TokenCredentials $tokenCredentials - * @param bool $force - * - * @return string|int - */ - public function getUserUid(TokenCredentials $tokenCredentials, $force = false) - { - $data = $this->fetchUserDetails($tokenCredentials, $force); - - return $this->userUid($data, $tokenCredentials); - } - - /** - * Get the user's email, if available. - * - * @param TokenCredentials $tokenCredentials - * @param bool $force - * - * @return string|null - */ - public function getUserEmail(TokenCredentials $tokenCredentials, $force = false) - { - $data = $this->fetchUserDetails($tokenCredentials, $force); - - return $this->userEmail($data, $tokenCredentials); - } - - /** - * Get the user's screen name (username), if available. - * - * @param TokenCredentials $tokenCredentials - * @param bool $force - * - * @return string - */ - public function getUserScreenName(TokenCredentials $tokenCredentials, $force = false) - { - $data = $this->fetchUserDetails($tokenCredentials, $force); - - return $this->userScreenName($data, $tokenCredentials); - } - - /** - * Fetch user details from the remote service. - * - * @param TokenCredentials $tokenCredentials - * @param bool $force - * - * @return array HTTP client response - */ - protected function fetchUserDetails(TokenCredentials $tokenCredentials, $force = true) - { - if ( ! $this->cachedUserDetailsResponse || $force) { - $url = $this->urlUserDetails(); - - $client = $this->createHttpClient(); - - $headers = $this->getHeaders($tokenCredentials, 'GET', $url); - - try { - $response = $client->get($url, [ - 'headers' => $headers, - ]); - } catch (BadResponseException $e) { - $response = $e->getResponse(); - $body = $response->getBody(); - $statusCode = $response->getStatusCode(); - - throw new \Exception( - "Received error [$body] with status code [$statusCode] when retrieving token credentials." - ); - } - switch ($this->responseType) { - case 'json': - $this->cachedUserDetailsResponse = json_decode((string) $response->getBody(), true); - break; - - case 'xml': - $this->cachedUserDetailsResponse = simplexml_load_string((string) $response->getBody()); - break; - - case 'string': - parse_str((string) $response->getBody(), $this->cachedUserDetailsResponse); - break; - - default: - throw new \InvalidArgumentException("Invalid response type [{$this->responseType}]."); - } - } - - return $this->cachedUserDetailsResponse; - } - - /** - * Get the client credentials associated with the server. - * - * @return ClientCredentialsInterface - */ - public function getClientCredentials() - { - return $this->clientCredentials; - } - - /** - * Get the signature associated with the server. - * - * @return SignatureInterface - */ - public function getSignature() - { - return $this->signature; - } - - /** - * Creates a Guzzle HTTP client for the given URL. - * - * @return GuzzleHttpClient - */ - public function createHttpClient() - { - return new GuzzleHttpClient(); - } - - /** - * Set the user agent value. - * - * @param string $userAgent - * - * @return Server - */ - public function setUserAgent($userAgent = null) - { - $this->userAgent = $userAgent; - - return $this; - } - - /** - * Get all headers required to created an authenticated request. - * - * @param CredentialsInterface $credentials - * @param string $method - * @param string $url - * @param array $bodyParameters - * - * @return array - */ - public function getHeaders(CredentialsInterface $credentials, $method, $url, array $bodyParameters = []) - { - $header = $this->protocolHeader(strtoupper($method), $url, $credentials, $bodyParameters); - $authorizationHeader = ['Authorization' => $header]; - $headers = $this->buildHttpClientHeaders($authorizationHeader); - - return $headers; - } - - /** - * Get Guzzle HTTP client default headers. - * - * @return array - */ - protected function getHttpClientDefaultHeaders() - { - $defaultHeaders = []; - if ( ! empty($this->userAgent)) { - $defaultHeaders['User-Agent'] = $this->userAgent; - } - - return $defaultHeaders; - } - - /** - * Build Guzzle HTTP client headers. - * - * @param array $headers - * - * @return array - */ - protected function buildHttpClientHeaders($headers = []) - { - $defaultHeaders = $this->getHttpClientDefaultHeaders(); - - return array_merge($headers, $defaultHeaders); - } - - /** - * Creates a client credentials instance from an array of credentials. - * - * @param array $clientCredentials - * - * @return ClientCredentials - */ - protected function createClientCredentials(array $clientCredentials) - { - $keys = ['identifier', 'secret']; - - foreach ($keys as $key) { - if ( ! isset($clientCredentials[$key])) { - throw new \InvalidArgumentException("Missing client credentials key [$key] from options."); - } - } - - if (isset($clientCredentials['rsa_private_key']) && isset($clientCredentials['rsa_public_key'])) { - $_clientCredentials = new RsaClientCredentials(); - $_clientCredentials->setRsaPrivateKey($clientCredentials['rsa_private_key']); - $_clientCredentials->setRsaPublicKey($clientCredentials['rsa_public_key']); - } else { - $_clientCredentials = new ClientCredentials(); - } - - $_clientCredentials->setIdentifier($clientCredentials['identifier']); - $_clientCredentials->setSecret($clientCredentials['secret']); - - if (isset($clientCredentials['callback_uri'])) { - $_clientCredentials->setCallbackUri($clientCredentials['callback_uri']); - } - - return $_clientCredentials; - } - - /** - * Handle a bad response coming back when getting temporary credentials. - * - * @param BadResponseException $e - * - * @return void - * - * @throws CredentialsException - */ - protected function handleTemporaryCredentialsBadResponse(BadResponseException $e) - { - $response = $e->getResponse(); - $body = $response->getBody(); - $statusCode = $response->getStatusCode(); - - throw new CredentialsException( - "Received HTTP status code [$statusCode] with message \"$body\" when getting temporary credentials." - ); - } - - /** - * Creates temporary credentials from the body response. - * - * @param string $body - * - * @return TemporaryCredentials - */ - protected function createTemporaryCredentials($body) - { - parse_str($body, $data); - - if ( ! $data || ! is_array($data)) { - throw new CredentialsException('Unable to parse temporary credentials response.'); - } - - if ( ! isset($data['oauth_callback_confirmed']) || $data['oauth_callback_confirmed'] != 'true') { - throw new CredentialsException('Error in retrieving temporary credentials.'); - } - - $temporaryCredentials = new TemporaryCredentials(); - $temporaryCredentials->setIdentifier($data['oauth_token']); - $temporaryCredentials->setSecret($data['oauth_token_secret']); - - return $temporaryCredentials; - } - - /** - * Handle a bad response coming back when getting token credentials. - * - * @param BadResponseException $e - * - * @return void - * - * @throws CredentialsException - */ - protected function handleTokenCredentialsBadResponse(BadResponseException $e) - { - $response = $e->getResponse(); - $body = $response->getBody(); - $statusCode = $response->getStatusCode(); - - throw new CredentialsException( - "Received HTTP status code [$statusCode] with message \"$body\" when getting token credentials." - ); - } - - /** - * Creates token credentials from the body response. - * - * @param string $body - * - * @return TokenCredentials - */ - protected function createTokenCredentials($body) - { - parse_str($body, $data); - - if ( ! $data || ! is_array($data)) { - throw new CredentialsException('Unable to parse token credentials response.'); - } - - if (isset($data['error'])) { - throw new CredentialsException("Error [{$data['error']}] in retrieving token credentials."); - } - - $tokenCredentials = new TokenCredentials(); - $tokenCredentials->setIdentifier($data['oauth_token']); - $tokenCredentials->setSecret($data['oauth_token_secret']); - - return $tokenCredentials; - } - - /** - * Get the base protocol parameters for an OAuth request. - * Each request builds on these parameters. - * - * @return array - * - * @see OAuth 1.0 RFC 5849 Section 3.1 - */ - protected function baseProtocolParameters() - { - $dateTime = new \DateTime(); - - return [ - 'oauth_consumer_key' => $this->clientCredentials->getIdentifier(), - 'oauth_nonce' => $this->nonce(), - 'oauth_signature_method' => $this->signature->method(), - 'oauth_timestamp' => $dateTime->format('U'), - 'oauth_version' => '1.0', - ]; - } - - /** - * Any additional required protocol parameters for an - * OAuth request. - * - * @return array - */ - protected function additionalProtocolParameters() - { - return []; - } - - /** - * Generate the OAuth protocol header for a temporary credentials - * request, based on the URI. - * - * @param string $uri - * - * @return string - */ - protected function temporaryCredentialsProtocolHeader($uri) - { - $parameters = array_merge($this->baseProtocolParameters(), [ - 'oauth_callback' => $this->clientCredentials->getCallbackUri(), - ]); - - $parameters['oauth_signature'] = $this->signature->sign($uri, $parameters, 'POST'); - - return $this->normalizeProtocolParameters($parameters); - } - - /** - * Generate the OAuth protocol header for requests other than temporary - * credentials, based on the URI, method, given credentials & body query - * string. - * - * @param string $method - * @param string $uri - * @param CredentialsInterface $credentials - * @param array $bodyParameters - * - * @return string - */ - protected function protocolHeader($method, $uri, CredentialsInterface $credentials, array $bodyParameters = []) - { - $parameters = array_merge( - $this->baseProtocolParameters(), - $this->additionalProtocolParameters(), - [ - 'oauth_token' => $credentials->getIdentifier(), - ] - ); - - $this->signature->setCredentials($credentials); - - $parameters['oauth_signature'] = $this->signature->sign( - $uri, - array_merge($parameters, $bodyParameters), - $method - ); - - return $this->normalizeProtocolParameters($parameters); - } - - /** - * Takes an array of protocol parameters and normalizes them - * to be used as a HTTP header. - * - * @param array $parameters - * - * @return string - */ - protected function normalizeProtocolParameters(array $parameters) - { - array_walk($parameters, function (&$value, $key) { - $value = rawurlencode($key) . '="' . rawurlencode($value) . '"'; - }); - - return 'OAuth ' . implode(', ', $parameters); - } - - /** - * Generate a random string. - * - * @param int $length - * - * @return string - * - * @see OAuth 1.0 RFC 5849 Section 3.3 - */ - protected function nonce($length = 32) - { - $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - return substr(str_shuffle(str_repeat($pool, 5)), 0, $length); - } - - /** - * Build a url by combining hostname and query string after checking for - * exisiting '?' character in host. - * - * @param string $host - * @param string $queryString - * - * @return string - */ - protected function buildUrl($host, $queryString) - { - return $host . (strpos($host, '?') !== false ? '&' : '?') . $queryString; - } - - /** - * Get the URL for retrieving temporary credentials. - * - * @return string - */ - abstract public function urlTemporaryCredentials(); - - /** - * Get the URL for redirecting the resource owner to authorize the client. - * - * @return string - */ - abstract public function urlAuthorization(); - - /** - * Get the URL retrieving token credentials. - * - * @return string - */ - abstract public function urlTokenCredentials(); - - /** - * Get the URL for retrieving user details. - * - * @return string - */ - abstract public function urlUserDetails(); - - /** - * Take the decoded data from the user details URL and convert - * it to a User object. - * - * @param mixed $data - * @param TokenCredentials $tokenCredentials - * - * @return User - */ - abstract public function userDetails($data, TokenCredentials $tokenCredentials); - - /** - * Take the decoded data from the user details URL and extract - * the user's UID. - * - * @param mixed $data - * @param TokenCredentials $tokenCredentials - * - * @return string|int - */ - abstract public function userUid($data, TokenCredentials $tokenCredentials); - - /** - * Take the decoded data from the user details URL and extract - * the user's email. - * - * @param mixed $data - * @param TokenCredentials $tokenCredentials - * - * @return string|null - */ - abstract public function userEmail($data, TokenCredentials $tokenCredentials); - - /** - * Take the decoded data from the user details URL and extract - * the user's screen name. - * - * @param mixed $data - * @param TokenCredentials $tokenCredentials - * - * @return string|null - */ - abstract public function userScreenName($data, TokenCredentials $tokenCredentials); -} diff --git a/vendor/league/oauth1-client/src/Server/Trello.php b/vendor/league/oauth1-client/src/Server/Trello.php deleted file mode 100644 index 8bb4afbbb..000000000 --- a/vendor/league/oauth1-client/src/Server/Trello.php +++ /dev/null @@ -1,254 +0,0 @@ -parseConfiguration($clientCredentials); - } - } - - /** - * Set the access token. - * - * @param string $accessToken - * - * @return Trello - */ - public function setAccessToken($accessToken) - { - $this->accessToken = $accessToken; - - return $this; - } - - /** - * Set the application expiration. - * - * @param string $applicationExpiration - * - * @return Trello - */ - public function setApplicationExpiration($applicationExpiration) - { - $this->applicationExpiration = $applicationExpiration; - - return $this; - } - - /** - * Get application expiration. - * - * @return string - */ - public function getApplicationExpiration() - { - return $this->applicationExpiration ?: '1day'; - } - - /** - * Set the application name. - * - * @param string $applicationName - * - * @return Trello - */ - public function setApplicationName($applicationName) - { - $this->applicationName = $applicationName; - - return $this; - } - - /** - * Get application name. - * - * @return string|null - */ - public function getApplicationName() - { - return $this->applicationName ?: null; - } - - /** - * Set the application scope. - * - * @param string $applicationScope - * - * @return Trello - */ - public function setApplicationScope($applicationScope) - { - $this->applicationScope = $applicationScope; - - return $this; - } - - /** - * Get application scope. - * - * @return string - */ - public function getApplicationScope() - { - return $this->applicationScope ?: 'read'; - } - - /** - * @inheritDoc - */ - public function urlTemporaryCredentials() - { - return 'https://trello.com/1/OAuthGetRequestToken'; - } - - /** - * @inheritDoc - */ - public function urlAuthorization() - { - return 'https://trello.com/1/OAuthAuthorizeToken?' . - $this->buildAuthorizationQueryParameters(); - } - - /** - * @inheritDoc - */ - public function urlTokenCredentials() - { - return 'https://trello.com/1/OAuthGetAccessToken'; - } - - /** - * @inheritDoc - */ - public function urlUserDetails() - { - return 'https://trello.com/1/members/me?key=' . $this->applicationKey . '&token=' . $this->accessToken; - } - - /** - * @inheritDoc - */ - public function userDetails($data, TokenCredentials $tokenCredentials) - { - $user = new User(); - - $user->nickname = $data['username']; - $user->name = $data['fullName']; - - $user->extra = (array) $data; - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return $data['id']; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return null; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return $data['username']; - } - - /** - * Build authorization query parameters. - * - * @return string - */ - private function buildAuthorizationQueryParameters() - { - $params = [ - 'response_type' => 'fragment', - 'scope' => $this->getApplicationScope(), - 'expiration' => $this->getApplicationExpiration(), - 'name' => $this->getApplicationName(), - ]; - - return http_build_query($params); - } - - /** - * Parse configuration array to set attributes. - * - * @param array $configuration - * - * @return void - */ - private function parseConfiguration(array $configuration = []) - { - $configToPropertyMap = [ - 'identifier' => 'applicationKey', - 'expiration' => 'applicationExpiration', - 'name' => 'applicationName', - 'scope' => 'applicationScope', - ]; - - foreach ($configToPropertyMap as $config => $property) { - if (isset($configuration[$config])) { - $this->$property = $configuration[$config]; - } - } - } -} diff --git a/vendor/league/oauth1-client/src/Server/Tumblr.php b/vendor/league/oauth1-client/src/Server/Tumblr.php deleted file mode 100644 index c97095348..000000000 --- a/vendor/league/oauth1-client/src/Server/Tumblr.php +++ /dev/null @@ -1,101 +0,0 @@ -nickname = $data['name']; - - // Save all extra data - $used = ['name']; - $user->extra = array_diff_key($data, array_flip($used)); - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - if ( ! isset($data['response']['user']) || ! is_array($data['response']['user'])) { - throw new LogicException('Not possible to get user UUID'); - } - - $data = $data['response']['user']; - - return $data['name']; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return null; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - if ( ! isset($data['response']['user']) || ! is_array($data['response']['user'])) { - throw new LogicException('Not possible to get user screen name'); - } - - $data = $data['response']['user']; - - return $data['name']; - } -} diff --git a/vendor/league/oauth1-client/src/Server/Twitter.php b/vendor/league/oauth1-client/src/Server/Twitter.php deleted file mode 100644 index b67b606ca..000000000 --- a/vendor/league/oauth1-client/src/Server/Twitter.php +++ /dev/null @@ -1,100 +0,0 @@ -uid = $data['id_str']; - $user->nickname = $data['screen_name']; - $user->name = $data['name']; - $user->location = $data['location']; - $user->description = $data['description']; - $user->imageUrl = $data['profile_image_url']; - - if (isset($data['email'])) { - $user->email = $data['email']; - } - - $used = ['id', 'screen_name', 'name', 'location', 'description', 'profile_image_url', 'email']; - - foreach ($data as $key => $value) { - if (strpos($key, 'url') !== false) { - if ( ! in_array($key, $used)) { - $used[] = $key; - } - - $user->urls[$key] = $value; - } - } - - // Save all extra data - $user->extra = array_diff_key($data, array_flip($used)); - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return $data['id']; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return null; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return $data['name']; - } -} diff --git a/vendor/league/oauth1-client/src/Server/User.php b/vendor/league/oauth1-client/src/Server/User.php deleted file mode 100644 index 20bcc7c60..000000000 --- a/vendor/league/oauth1-client/src/Server/User.php +++ /dev/null @@ -1,134 +0,0 @@ -{$key})) { - $this->{$key} = $value; - } - } - - /** - * Tells if a property is set. - * - * @param string $key - * - * @return bool - */ - public function __isset($key) - { - return isset($this->{$key}); - } - - /** - * Get a property from the user. - * - * @param string $key - * - * @return mixed - */ - public function __get($key) - { - if (isset($this->{$key})) { - return $this->{$key}; - } - } - - /** - * @inheritDoc - */ - public function getIterator() - { - return new ArrayIterator(get_object_vars($this)); - } -} diff --git a/vendor/league/oauth1-client/src/Server/Uservoice.php b/vendor/league/oauth1-client/src/Server/Uservoice.php deleted file mode 100644 index f9bbc77e7..000000000 --- a/vendor/league/oauth1-client/src/Server/Uservoice.php +++ /dev/null @@ -1,130 +0,0 @@ -parseConfigurationArray($clientCredentials); - } - } - - /** - * @inheritDoc - */ - public function urlTemporaryCredentials() - { - return $this->base . '/oauth/request_token'; - } - - /** - * @inheritDoc - */ - public function urlAuthorization() - { - return $this->base . '/oauth/authorize'; - } - - /** - * @inheritDoc - */ - public function urlTokenCredentials() - { - return $this->base . '/oauth/access_token'; - } - - /** - * @inheritDoc - */ - public function urlUserDetails() - { - return $this->base . '/api/v1/users/current.json'; - } - - /** - * @inheritDoc - */ - public function userDetails($data, TokenCredentials $tokenCredentials) - { - $user = new User(); - - $user->uid = $data['user']['id']; - $user->name = $data['user']['name']; - $user->imageUrl = $data['user']['avatar_url']; - $user->email = $data['user']['email']; - - if ($data['user']['name']) { - $parts = explode(' ', $data['user']['name'], 2); - - $user->firstName = $parts[0]; - - if (2 === count($parts)) { - $user->lastName = $parts[1]; - } - } - - $user->urls[] = $data['user']['url']; - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return $data['user']['id']; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return $data['user']['email']; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return $data['user']['name']; - } - - /** - * Parse configuration array to set attributes. - * - * @param array $configuration - * - * @return void - * - * @throws InvalidArgumentException - */ - private function parseConfigurationArray(array $configuration = []) - { - if (isset($configuration['host'])) { - throw new InvalidArgumentException('Missing host'); - } - - $this->base = trim($configuration['host'], '/'); - } -} diff --git a/vendor/league/oauth1-client/src/Server/Xing.php b/vendor/league/oauth1-client/src/Server/Xing.php deleted file mode 100644 index 17516c0eb..000000000 --- a/vendor/league/oauth1-client/src/Server/Xing.php +++ /dev/null @@ -1,95 +0,0 @@ -uid = $data['id']; - $user->nickname = $data['display_name']; - $user->name = $data['display_name']; - $user->firstName = $data['first_name']; - $user->lastName = $data['last_name']; - $user->location = $data['private_address']['country']; - - if ($user->location == '') { - $user->location = $data['business_address']['country']; - } - $user->description = $data['employment_status']; - $user->imageUrl = $data['photo_urls']['maxi_thumb']; - $user->email = $data['active_email']; - - $user->urls['permalink'] = $data['permalink']; - - return $user; - } - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - $data = $data['users'][0]; - - return $data['id']; - } - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - $data = $data['users'][0]; - - return $data['active_email']; - } - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - $data = $data['users'][0]; - - return $data['display_name']; - } -} diff --git a/vendor/league/oauth1-client/src/Signature/EncodesUrl.php b/vendor/league/oauth1-client/src/Signature/EncodesUrl.php deleted file mode 100644 index 5aab03ebc..000000000 --- a/vendor/league/oauth1-client/src/Signature/EncodesUrl.php +++ /dev/null @@ -1,115 +0,0 @@ - $url->getScheme(), - 'host' => $url->getHost(), - 'port' => $url->getPort(), - 'path' => $url->getPath(), - ]); - - $baseString .= rawurlencode($schemeHostPath) . '&'; - - parse_str($url->getQuery(), $query); - $data = array_merge($query, $parameters); - - // normalize data key/values - $data = $this->normalizeArray($data); - ksort($data); - - $baseString .= $this->queryStringFromData($data); - - return $baseString; - } - - /** - * Return a copy of the given array with all keys and values rawurlencoded. - * - * @param array $array Array to normalize - * - * @return array Normalized array - */ - protected function normalizeArray(array $array = []) - { - $normalizedArray = []; - - foreach ($array as $key => $value) { - $key = rawurlencode(rawurldecode($key)); - - if (is_array($value)) { - $normalizedArray[$key] = $this->normalizeArray($value); - } else { - $normalizedArray[$key] = rawurlencode(rawurldecode($value)); - } - } - - return $normalizedArray; - } - - /** - * Creates an array of rawurlencoded strings out of each array key/value pair - * Handles multi-dimensional arrays recursively. - * - * @param array $data Array of parameters to convert. - * @param array|null $queryParams Array to extend. False by default. - * @param string $prevKey Optional Array key to append - * - * @return string rawurlencoded string version of data - */ - protected function queryStringFromData($data, $queryParams = null, $prevKey = '') - { - if ($initial = (null === $queryParams)) { - $queryParams = []; - } - - foreach ($data as $key => $value) { - if ($prevKey) { - $key = $prevKey . '[' . $key . ']'; // Handle multi-dimensional array - } - if (is_array($value)) { - $queryParams = $this->queryStringFromData($value, $queryParams, $key); - } else { - $queryParams[] = rawurlencode($key . '=' . $value); // join with equals sign - } - } - - if ($initial) { - return implode('%26', $queryParams); // join with ampersand - } - - return $queryParams; - } -} diff --git a/vendor/league/oauth1-client/src/Signature/HmacSha1Signature.php b/vendor/league/oauth1-client/src/Signature/HmacSha1Signature.php deleted file mode 100644 index 6e7b3f1db..000000000 --- a/vendor/league/oauth1-client/src/Signature/HmacSha1Signature.php +++ /dev/null @@ -1,40 +0,0 @@ -createUrl($uri); - - $baseString = $this->baseString($url, $method, $parameters); - - return base64_encode($this->hash($baseString)); - } - - /** - * Hashes a string with the signature's key. - * - * @param string $string - * - * @return string - */ - protected function hash($string) - { - return hash_hmac('sha1', $string, $this->key(), true); - } -} diff --git a/vendor/league/oauth1-client/src/Signature/PlainTextSignature.php b/vendor/league/oauth1-client/src/Signature/PlainTextSignature.php deleted file mode 100644 index c7a04cced..000000000 --- a/vendor/league/oauth1-client/src/Signature/PlainTextSignature.php +++ /dev/null @@ -1,22 +0,0 @@ -key(); - } -} diff --git a/vendor/league/oauth1-client/src/Signature/RsaSha1Signature.php b/vendor/league/oauth1-client/src/Signature/RsaSha1Signature.php deleted file mode 100644 index b694c8ce0..000000000 --- a/vendor/league/oauth1-client/src/Signature/RsaSha1Signature.php +++ /dev/null @@ -1,35 +0,0 @@ -createUrl($uri); - $baseString = $this->baseString($url, $method, $parameters); - - /** @var RsaClientCredentials $clientCredentials */ - $clientCredentials = $this->clientCredentials; - $privateKey = $clientCredentials->getRsaPrivateKey(); - - openssl_sign($baseString, $signature, $privateKey); - - return base64_encode($signature); - } -} diff --git a/vendor/league/oauth1-client/src/Signature/Signature.php b/vendor/league/oauth1-client/src/Signature/Signature.php deleted file mode 100644 index d4c9eeb4e..000000000 --- a/vendor/league/oauth1-client/src/Signature/Signature.php +++ /dev/null @@ -1,55 +0,0 @@ -clientCredentials = $clientCredentials; - } - - /** - * @inheritDoc - */ - public function setCredentials(CredentialsInterface $credentials) - { - $this->credentials = $credentials; - } - - /** - * Generate a signing key. - * - * @return string - */ - protected function key() - { - $key = rawurlencode($this->clientCredentials->getSecret()) . '&'; - - if ($this->credentials !== null) { - $key .= rawurlencode($this->credentials->getSecret()); - } - - return $key; - } -} diff --git a/vendor/league/oauth1-client/src/Signature/SignatureInterface.php b/vendor/league/oauth1-client/src/Signature/SignatureInterface.php deleted file mode 100644 index 8aeb87c63..000000000 --- a/vendor/league/oauth1-client/src/Signature/SignatureInterface.php +++ /dev/null @@ -1,46 +0,0 @@ -assertNull($credentials->getIdentifier()); - $credentials->setIdentifier('foo'); - $this->assertEquals('foo', $credentials->getIdentifier()); - $this->assertNull($credentials->getSecret()); - $credentials->setSecret('foo'); - $this->assertEquals('foo', $credentials->getSecret()); - } -} diff --git a/vendor/league/oauth1-client/tests/HmacSha1SignatureTest.php b/vendor/league/oauth1-client/tests/HmacSha1SignatureTest.php deleted file mode 100644 index 3275b2419..000000000 --- a/vendor/league/oauth1-client/tests/HmacSha1SignatureTest.php +++ /dev/null @@ -1,156 +0,0 @@ -getMockClientCredentials()); - - $uri = 'http://www.example.com/?qux=corge'; - $parameters = ['foo' => 'bar', 'baz' => null]; - - $this->assertEquals('A3Y7C1SUHXR1EBYIUlT3d6QT1cQ=', $signature->sign($uri, $parameters)); - } - - public function testSigningRequestWhereThePortIsNotStandard() - { - $signature = new HmacSha1Signature($this->getMockClientCredentials()); - - $uri = 'http://www.example.com:8080/?qux=corge'; - $parameters = ['foo' => 'bar', 'baz' => null]; - - $this->assertEquals('ECcWxyi5UOC1G0MxH0ygm6Pd6JE=', $signature->sign($uri, $parameters)); - } - - public function testQueryStringFromArray() - { - $array = ['a' => 'b']; - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - 'a%3Db', - $res - ); - } - - public function testQueryStringFromIndexedArray() - { - $array = ['a', 'b']; - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - '0%3Da%261%3Db', - $res - ); - } - - public function testQueryStringFromMultiDimensionalArray() - { - $array = [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => null, - 'false' => false, - ]; - - // Convert to query string. - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - 'a%5Bb%5D%5Bc%5D%3Dd%26a%5Be%5D%5Bf%5D%3Dg%26h%3Di%26empty%3D%26null%3D%26false%3D', - $res - ); - - // Reverse engineer the string. - $res = urldecode($res); - - $this->assertSame( - 'a[b][c]=d&a[e][f]=g&h=i&empty=&null=&false=', - $res - ); - - // Finally, parse the string back to an array. - parse_str($res, $original_array); - - // And ensure it matches the orignal array (approximately). - $this->assertSame( - [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => '', // null value gets lost in string translation - 'false' => '', // false value gets lost in string translation - ], - $original_array - ); - } - - public function testSigningRequestWithMultiDimensionalParams() - { - $signature = new HmacSha1Signature($this->getMockClientCredentials()); - - $uri = 'http://www.example.com/'; - $parameters = [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => null, - 'false' => false, - ]; - - $this->assertEquals('ZUxiJKugeEplaZm9e4hshN0I70U=', $signature->sign($uri, $parameters)); - } - - protected function invokeQueryStringFromData(array $args) - { - $signature = new HmacSha1Signature(m::mock('League\OAuth1\Client\Credentials\ClientCredentialsInterface')); - $refl = new \ReflectionObject($signature); - $method = $refl->getMethod('queryStringFromData'); - $method->setAccessible(true); - - return $method->invokeArgs($signature, [$args]); - } - - protected function getMockClientCredentials() - { - $clientCredentials = m::mock('League\OAuth1\Client\Credentials\ClientCredentialsInterface'); - $clientCredentials->shouldReceive('getSecret')->andReturn('clientsecret'); - - return $clientCredentials; - } -} diff --git a/vendor/league/oauth1-client/tests/PlainTextSignatureTest.php b/vendor/league/oauth1-client/tests/PlainTextSignatureTest.php deleted file mode 100644 index 7d48b69f4..000000000 --- a/vendor/league/oauth1-client/tests/PlainTextSignatureTest.php +++ /dev/null @@ -1,43 +0,0 @@ -getMockClientCredentials()); - $this->assertEquals('clientsecret&', $signature->sign($uri = 'http://www.example.com/')); - - $signature->setCredentials($this->getMockCredentials()); - $this->assertEquals('clientsecret&tokensecret', $signature->sign($uri)); - $this->assertEquals('PLAINTEXT', $signature->method()); - } - - protected function getMockClientCredentials() - { - $clientCredentials = m::mock('League\OAuth1\Client\Credentials\ClientCredentialsInterface'); - $clientCredentials->shouldReceive('getSecret')->andReturn('clientsecret'); - - return $clientCredentials; - } - - protected function getMockCredentials() - { - $credentials = m::mock('League\OAuth1\Client\Credentials\CredentialsInterface'); - $credentials->shouldReceive('getSecret')->andReturn('tokensecret'); - - return $credentials; - } -} diff --git a/vendor/league/oauth1-client/tests/RsaClientCredentialsTest.php b/vendor/league/oauth1-client/tests/RsaClientCredentialsTest.php deleted file mode 100644 index 1609093c4..000000000 --- a/vendor/league/oauth1-client/tests/RsaClientCredentialsTest.php +++ /dev/null @@ -1,75 +0,0 @@ -setRsaPublicKey(__DIR__ . '/test_rsa_publickey.pem'); - - /** @var resource|OpenSSLAsymmetricKey $key */ - $key = $credentials->getRsaPublicKey(); - $this->assertFalse(is_null($key)); - - $this->assertEquals($key, $credentials->getRsaPublicKey()); - } - - public function testGetRsaPublicKeyNotExists() - { - $this->expectException(CredentialsException::class); - - $credentials = new RsaClientCredentials(); - $credentials->setRsaPublicKey('fail'); - - $credentials->getRsaPublicKey(); - } - - public function testGetRsaPublicKeyInvalid() - { - $this->expectException(CredentialsException::class); - - $credentials = new RsaClientCredentials(); - $credentials->setRsaPublicKey(__DIR__ . '/test_rsa_invalidkey.pem'); - - $credentials->getRsaPublicKey(); - } - - public function testGetRsaPrivateKey() - { - $credentials = new RsaClientCredentials(); - $credentials->setRsaPrivateKey(__DIR__ . '/test_rsa_privatekey.pem'); - - /** @var resource|OpenSSLAsymmetricKey $key */ - $key = $credentials->getRsaPrivateKey(); - $this->assertFalse(is_null($key)); - - $this->assertEquals($key, $credentials->getRsaPrivateKey()); - } - - public function testGetRsaPrivateKeyNotExists() - { - $this->expectException(CredentialsException::class); - - $credentials = new RsaClientCredentials(); - $credentials->setRsaPrivateKey('fail'); - - $credentials->getRsaPrivateKey(); - } - - public function testGetRsaPrivateKeyInvalid() - { - $this->expectException(CredentialsException::class); - - $credentials = new RsaClientCredentials(); - $credentials->setRsaPrivateKey(__DIR__ . '/test_rsa_invalidkey.pem'); - - $credentials->getRsaPrivateKey(); - } -} diff --git a/vendor/league/oauth1-client/tests/RsaSha1SignatureTest.php b/vendor/league/oauth1-client/tests/RsaSha1SignatureTest.php deleted file mode 100644 index 068944ae1..000000000 --- a/vendor/league/oauth1-client/tests/RsaSha1SignatureTest.php +++ /dev/null @@ -1,148 +0,0 @@ -getClientCredentials()); - $this->assertEquals('RSA-SHA1', $signature->method()); - } - - public function testSigningRequest() - { - $signature = new RsaSha1Signature($this->getClientCredentials()); - - $uri = 'http://www.example.com/?qux=corge'; - $parameters = ['foo' => 'bar', 'baz' => null]; - - $this->assertEquals('h8vpV4CYnLwss+rWicKE4sY6AiW2+DT6Fe7qB8jA7LSLhX5jvLEeX1D8E2ynSePSksAY48j+OSLu9vo5juS2duwNK8UA2Rtnnvuj6UFxpx70dpjHAsQg6EbycGptL/SChDkxfpG8LhuwX1FlFa+H0jLYXI5Dy8j90g51GRJbj48=', $signature->sign($uri, $parameters)); - } - - public function testQueryStringFromArray() - { - $array = ['a' => 'b']; - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - 'a%3Db', - $res - ); - } - - public function testQueryStringFromIndexedArray() - { - $array = ['a', 'b']; - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - '0%3Da%261%3Db', - $res - ); - } - - public function testQueryStringFromMultiDimensionalArray() - { - $array = [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => null, - 'false' => false, - ]; - - // Convert to query string. - $res = $this->invokeQueryStringFromData($array); - - $this->assertSame( - 'a%5Bb%5D%5Bc%5D%3Dd%26a%5Be%5D%5Bf%5D%3Dg%26h%3Di%26empty%3D%26null%3D%26false%3D', - $res - ); - - // Reverse engineer the string. - $res = urldecode($res); - - $this->assertSame( - 'a[b][c]=d&a[e][f]=g&h=i&empty=&null=&false=', - $res - ); - - // Finally, parse the string back to an array. - parse_str($res, $original_array); - - // And ensure it matches the orignal array (approximately). - $this->assertSame( - [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => '', // null value gets lost in string translation - 'false' => '', // false value gets lost in string translation - ], - $original_array - ); - } - - public function testSigningRequestWithMultiDimensionalParams() - { - $signature = new RsaSha1Signature($this->getClientCredentials()); - - $uri = 'http://www.example.com/'; - $parameters = [ - 'a' => [ - 'b' => [ - 'c' => 'd', - ], - 'e' => [ - 'f' => 'g', - ], - ], - 'h' => 'i', - 'empty' => '', - 'null' => null, - 'false' => false, - ]; - - $this->assertEquals('X9EkmOEbA5CoF2Hicf3ciAumpp1zkKxnVZkh/mEwWyF2DDcrfou9XF11WvbBu3G4loJGeX4GY1FsIrQpsjEILbn0e7Alyii/x8VA9mBwdqMhQVl49jF0pdowocc03M04cAbAOMNObT7tMmDs+YTFgRxEGCiUkq9AizP1cW3+eBo=', $signature->sign($uri, $parameters)); - } - - protected function invokeQueryStringFromData(array $args) - { - $signature = new RsaSha1Signature(Mockery::mock(ClientCredentialsInterface::class)); - $refl = new \ReflectionObject($signature); - $method = $refl->getMethod('queryStringFromData'); - $method->setAccessible(true); - - return $method->invokeArgs($signature, [$args]); - } - - protected function getClientCredentials() - { - $credentials = new RsaClientCredentials(); - $credentials->setRsaPublicKey(__DIR__ . '/test_rsa_publickey.pem'); - $credentials->setRsaPrivateKey(__DIR__ . '/test_rsa_privatekey.pem'); - - return $credentials; - } -} diff --git a/vendor/league/oauth1-client/tests/ServerTest.php b/vendor/league/oauth1-client/tests/ServerTest.php deleted file mode 100644 index e355dd560..000000000 --- a/vendor/league/oauth1-client/tests/ServerTest.php +++ /dev/null @@ -1,313 +0,0 @@ -getMockClientCredentials()); - - $credentials = $server->getClientCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\ClientCredentialsInterface', $credentials); - $this->assertEquals('myidentifier', $credentials->getIdentifier()); - $this->assertEquals('mysecret', $credentials->getSecret()); - $this->assertEquals('http://app.dev/', $credentials->getCallbackUri()); - } - - public function testCreatingWithArrayRsa() - { - $config = [ - 'identifier' => 'app_key', - 'secret' => 'secret', - 'callback_uri' => 'https://example.com/callback', - 'rsa_public_key' => __DIR__ . '/test_rsa_publickey.pem', - 'rsa_private_key' => __DIR__ . '/test_rsa_privatekey.pem', - ]; - $server = new ServerStub($config); - - $credentials = $server->getClientCredentials(); - $this->assertInstanceOf(RsaClientCredentials::class, $credentials); - - $signature = $server->getSignature(); - $this->assertInstanceOf(RsaSha1Signature::class, $signature); - } - - public function testCreatingWithObject() - { - $credentials = new ClientCredentials; - $credentials->setIdentifier('myidentifier'); - $credentials->setSecret('mysecret'); - $credentials->setCallbackUri('http://app.dev/'); - - $server = new ServerStub($credentials); - - $this->assertEquals($credentials, $server->getClientCredentials()); - } - - public function testCreatingWithInvalidInput() - { - $this->expectException(InvalidArgumentException::class); - - new ServerStub(uniqid()); - } - - public function testGettingTemporaryCredentials() - { - $server = m::mock('League\OAuth1\Client\Tests\ServerStub[createHttpClient]', [$this->getMockClientCredentials()]); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('http://www.example.com/temporary', m::on(function ($options) use ($me) { - $headers = $options['headers']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern - = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_callback="' - . preg_quote('http%3A%2F%2Fapp.dev%2F', '/') . '", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock('stdClass')); - $response->shouldReceive('getBody') - ->andReturn('oauth_token=temporarycredentialsidentifier&oauth_token_secret=temporarycredentialssecret&oauth_callback_confirmed=true'); - - $credentials = $server->getTemporaryCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TemporaryCredentials', $credentials); - $this->assertEquals('temporarycredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('temporarycredentialssecret', $credentials->getSecret()); - } - - public function testGettingAuthorizationUrl() - { - $server = new ServerStub($this->getMockClientCredentials()); - - $expected = 'http://www.example.com/authorize?oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithOptions() - { - $server = new ServerStub($this->getMockClientCredentials()); - $expected = 'http://www.example.com/authorize?oauth_token=foo'; - $this->assertEquals($expected, $server->getAuthorizationUrl('foo', ['oauth_token' => 'bar'])); - - $expected = 'http://www.example.com/authorize?test=bar&oauth_token=foo'; - $this->assertEquals($expected, $server->getAuthorizationUrl('foo', ['test' => 'bar'])); - } - - public function testGettingTokenCredentialsFailsWithManInTheMiddle() - { - $server = new ServerStub($this->getMockClientCredentials()); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - - $this->expectException(InvalidArgumentException::class); - - $server->getTokenCredentials($credentials, 'bar', 'verifier'); - } - - public function testGettingTokenCredentials() - { - $server = m::mock('League\OAuth1\Client\Tests\ServerStub[createHttpClient]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('temporarycredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('temporarycredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('http://www.example.com/token', m::on(function ($options) use ($me) { - $headers = $options['headers']; - $body = $options['form_params']; - - $me->assertTrue(isset($headers['Authorization'])); - $me->assertFalse(isset($headers['User-Agent'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern - = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="temporarycredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - $me->assertSame($body, ['oauth_verifier' => 'myverifiercode']); - - return true; - }))->once()->andReturn($response = m::mock('stdClass')); - $response->shouldReceive('getBody') - ->andReturn('oauth_token=tokencredentialsidentifier&oauth_token_secret=tokencredentialssecret'); - - $credentials = $server->getTokenCredentials($temporaryCredentials, 'temporarycredentialsidentifier', 'myverifiercode'); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TokenCredentials', $credentials); - $this->assertEquals('tokencredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('tokencredentialssecret', $credentials->getSecret()); - } - - public function testGettingTokenCredentialsWithUserAgent() - { - $userAgent = 'FooBar'; - $server = m::mock('League\OAuth1\Client\Tests\ServerStub[createHttpClient]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('temporarycredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('temporarycredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('http://www.example.com/token', m::on(function ($options) use ($me, $userAgent) { - $headers = $options['headers']; - $body = $options['form_params']; - - $me->assertTrue(isset($headers['Authorization'])); - $me->assertTrue(isset($headers['User-Agent'])); - $me->assertEquals($userAgent, $headers['User-Agent']); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern - = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="temporarycredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - $me->assertSame($body, ['oauth_verifier' => 'myverifiercode']); - - return true; - }))->once()->andReturn($response = m::mock('stdClass')); - $response->shouldReceive('getBody') - ->andReturn('oauth_token=tokencredentialsidentifier&oauth_token_secret=tokencredentialssecret'); - - $credentials = $server->setUserAgent($userAgent) - ->getTokenCredentials($temporaryCredentials, 'temporarycredentialsidentifier', 'myverifiercode'); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TokenCredentials', $credentials); - $this->assertEquals('tokencredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('tokencredentialssecret', $credentials->getSecret()); - } - - public function testGettingUserDetails() - { - $server = m::mock( - 'League\OAuth1\Client\Tests\ServerStub[createHttpClient,protocolHeader]', - [$this->getMockClientCredentials()] - ); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TokenCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('tokencredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('tokencredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('get')->with('http://www.example.com/user', m::on(function ($options) use ($me) { - $headers = $options['headers']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern - = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="tokencredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->once()->andReturn(json_encode([ - 'foo' => 'bar', - 'id' => 123, - 'contact_email' => 'baz@qux.com', - 'username' => 'fred', - ])); - - $user = $server->getUserDetails($temporaryCredentials); - $this->assertInstanceOf('League\OAuth1\Client\Server\User', $user); - $this->assertEquals('bar', $user->firstName); - $this->assertEquals(123, $server->getUserUid($temporaryCredentials)); - $this->assertEquals('baz@qux.com', $server->getUserEmail($temporaryCredentials)); - $this->assertEquals('fred', $server->getUserScreenName($temporaryCredentials)); - } - - public function testGettingHeaders() - { - $server = new ServerStub($this->getMockClientCredentials()); - - $tokenCredentials = m::mock('League\OAuth1\Client\Credentials\TokenCredentials'); - $tokenCredentials->shouldReceive('getIdentifier')->andReturn('mock_identifier'); - $tokenCredentials->shouldReceive('getSecret')->andReturn('mock_secret'); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern - = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="mock_identifier", oauth_signature=".*?"/'; - - // With a GET request - $headers = $server->getHeaders($tokenCredentials, 'GET', 'http://example.com/'); - $this->assertTrue(isset($headers['Authorization'])); - - $matches = preg_match($pattern, $headers['Authorization']); - $this->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - // With a POST request - $headers = $server->getHeaders($tokenCredentials, 'POST', 'http://example.com/', ['body' => 'params']); - $this->assertTrue(isset($headers['Authorization'])); - - $matches = preg_match($pattern, $headers['Authorization']); - $this->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - } - - protected function getMockClientCredentials() - { - return [ - 'identifier' => 'myidentifier', - 'secret' => 'mysecret', - 'callback_uri' => 'http://app.dev/', - ]; - } -} diff --git a/vendor/league/oauth1-client/tests/TrelloServerTest.php b/vendor/league/oauth1-client/tests/TrelloServerTest.php deleted file mode 100644 index eaf6c44b1..000000000 --- a/vendor/league/oauth1-client/tests/TrelloServerTest.php +++ /dev/null @@ -1,349 +0,0 @@ -getMockClientCredentials()); - - $credentials = $server->getClientCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\ClientCredentialsInterface', $credentials); - $this->assertEquals($this->getApplicationKey(), $credentials->getIdentifier()); - $this->assertEquals('mysecret', $credentials->getSecret()); - $this->assertEquals('http://app.dev/', $credentials->getCallbackUri()); - } - - public function testCreatingWithObject() - { - $credentials = new ClientCredentials; - $credentials->setIdentifier('myidentifier'); - $credentials->setSecret('mysecret'); - $credentials->setCallbackUri('http://app.dev/'); - - $server = new Trello($credentials); - - $this->assertEquals($credentials, $server->getClientCredentials()); - } - - public function testGettingTemporaryCredentials() - { - $server = m::mock('League\OAuth1\Client\Server\Trello[createHttpClient]', [$this->getMockClientCredentials()]); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('https://trello.com/1/OAuthGetRequestToken', m::on(function ($options) use ($me) { - $headers = $options['headers']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_callback="' . preg_quote('http%3A%2F%2Fapp.dev%2F', '/') . '", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->andReturn('oauth_token=temporarycredentialsidentifier&oauth_token_secret=temporarycredentialssecret&oauth_callback_confirmed=true'); - - $credentials = $server->getTemporaryCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TemporaryCredentials', $credentials); - $this->assertEquals('temporarycredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('temporarycredentialssecret', $credentials->getSecret()); - } - - public function testGettingDefaultAuthorizationUrl() - { - $server = new Trello($this->getMockClientCredentials()); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=read&expiration=1day&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithExpirationAfterConstructingWithExpiration() - { - $credentials = $this->getMockClientCredentials(); - $expiration = $this->getApplicationExpiration(2); - $credentials['expiration'] = $expiration; - $server = new Trello($credentials); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=read&expiration=' . urlencode($expiration) . '&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithExpirationAfterSettingExpiration() - { - $expiration = $this->getApplicationExpiration(2); - $server = new Trello($this->getMockClientCredentials()); - $server->setApplicationExpiration($expiration); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=read&expiration=' . urlencode($expiration) . '&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithNameAfterConstructingWithName() - { - $credentials = $this->getMockClientCredentials(); - $name = $this->getApplicationName(); - $credentials['name'] = $name; - $server = new Trello($credentials); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=read&expiration=1day&name=' . urlencode($name) . '&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithNameAfterSettingName() - { - $name = $this->getApplicationName(); - $server = new Trello($this->getMockClientCredentials()); - $server->setApplicationName($name); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=read&expiration=1day&name=' . urlencode($name) . '&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithScopeAfterConstructingWithScope() - { - $credentials = $this->getMockClientCredentials(); - $scope = $this->getApplicationScope(false); - $credentials['scope'] = $scope; - $server = new Trello($credentials); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=' . urlencode($scope) . '&expiration=1day&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingAuthorizationUrlWithScopeAfterSettingScope() - { - $scope = $this->getApplicationScope(false); - $server = new Trello($this->getMockClientCredentials()); - $server->setApplicationScope($scope); - - $expected = 'https://trello.com/1/OAuthAuthorizeToken?response_type=fragment&scope=' . urlencode($scope) . '&expiration=1day&oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingTokenCredentialsFailsWithManInTheMiddle() - { - $server = new Trello($this->getMockClientCredentials()); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - - $this->expectException(InvalidArgumentException::class); - - $server->getTokenCredentials($credentials, 'bar', 'verifier'); - } - - public function testGettingTokenCredentials() - { - $server = m::mock('League\OAuth1\Client\Server\Trello[createHttpClient]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('temporarycredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('temporarycredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('https://trello.com/1/OAuthGetAccessToken', m::on(function ($options) use ($me) { - $headers = $options['headers']; - $body = $options['form_params']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="temporarycredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - $me->assertSame($body, ['oauth_verifier' => 'myverifiercode']); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->andReturn('oauth_token=tokencredentialsidentifier&oauth_token_secret=tokencredentialssecret'); - - $credentials = $server->getTokenCredentials($temporaryCredentials, 'temporarycredentialsidentifier', 'myverifiercode'); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TokenCredentials', $credentials); - $this->assertEquals('tokencredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('tokencredentialssecret', $credentials->getSecret()); - } - - public function testGettingUserDetails() - { - $server = m::mock('League\OAuth1\Client\Server\Trello[createHttpClient,protocolHeader]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TokenCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('tokencredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('tokencredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('get')->with('https://trello.com/1/members/me?key=' . $this->getApplicationKey() . '&token=' . $this->getAccessToken(), m::on(function ($options) use ($me) { - $headers = $options['headers']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="tokencredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->once()->andReturn($this->getUserPayload()); - - $user = $server - ->setAccessToken($this->getAccessToken()) - ->getUserDetails($temporaryCredentials); - $this->assertInstanceOf('League\OAuth1\Client\Server\User', $user); - $this->assertEquals('Matilda Wormwood', $user->name); - $this->assertEquals('545df696e29c0dddaed31967', $server->getUserUid($temporaryCredentials)); - $this->assertEquals(null, $server->getUserEmail($temporaryCredentials)); - $this->assertEquals('matildawormwood12', $server->getUserScreenName($temporaryCredentials)); - } - - protected function getMockClientCredentials() - { - return [ - 'identifier' => $this->getApplicationKey(), - 'secret' => 'mysecret', - 'callback_uri' => 'http://app.dev/', - ]; - } - - protected function getAccessToken() - { - return 'lmnopqrstuvwxyz'; - } - - protected function getApplicationKey() - { - return 'abcdefghijk'; - } - - protected function getApplicationExpiration($days = 0) - { - return is_numeric($days) && $days > 0 ? $days . 'day' . ($days == 1 ? '' : 's') : 'never'; - } - - protected function getApplicationName() - { - return 'fizz buzz'; - } - - protected function getApplicationScope($readonly = true) - { - return $readonly ? 'read' : 'read,write'; - } - - private function getUserPayload() - { - return '{ - "id": "545df696e29c0dddaed31967", - "avatarHash": null, - "bio": "I have magical powers", - "bioData": null, - "confirmed": true, - "fullName": "Matilda Wormwood", - "idPremOrgsAdmin": [], - "initials": "MW", - "memberType": "normal", - "products": [], - "status": "idle", - "url": "https://trello.com/matildawormwood12", - "username": "matildawormwood12", - "avatarSource": "none", - "email": null, - "gravatarHash": "39aaaada0224f26f0bb8f1965326dcb7", - "idBoards": [ - "545df696e29c0dddaed31968", - "545e01d6c7b2dd962b5b46cb" - ], - "idOrganizations": [ - "54adfd79f9aea14f84009a85", - "54adfde13b0e706947bc4789" - ], - "loginTypes": null, - "oneTimeMessagesDismissed": [], - "prefs": { - "sendSummaries": true, - "minutesBetweenSummaries": 1, - "minutesBeforeDeadlineToNotify": 1440, - "colorBlind": false, - "timezoneInfo": { - "timezoneNext": "CDT", - "dateNext": "2015-03-08T08:00:00.000Z", - "offsetNext": 300, - "timezoneCurrent": "CST", - "offsetCurrent": 360 - } - }, - "trophies": [], - "uploadedAvatarHash": null, - "premiumFeatures": [], - "idBoardsPinned": null - }'; - } -} diff --git a/vendor/league/oauth1-client/tests/XingServerTest.php b/vendor/league/oauth1-client/tests/XingServerTest.php deleted file mode 100644 index 1f576e32e..000000000 --- a/vendor/league/oauth1-client/tests/XingServerTest.php +++ /dev/null @@ -1,255 +0,0 @@ -getMockClientCredentials()); - - $credentials = $server->getClientCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\ClientCredentialsInterface', $credentials); - $this->assertEquals($this->getApplicationKey(), $credentials->getIdentifier()); - $this->assertEquals('mysecret', $credentials->getSecret()); - $this->assertEquals('http://app.dev/', $credentials->getCallbackUri()); - } - - public function testCreatingWithObject() - { - $credentials = new ClientCredentials; - $credentials->setIdentifier('myidentifier'); - $credentials->setSecret('mysecret'); - $credentials->setCallbackUri('http://app.dev/'); - - $server = new Xing($credentials); - - $this->assertEquals($credentials, $server->getClientCredentials()); - } - - public function testGettingTemporaryCredentials() - { - $server = m::mock('League\OAuth1\Client\Server\Xing[createHttpClient]', [$this->getMockClientCredentials()]); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('https://api.xing.com/v1/request_token', m::on(function ($options) use ($me) { - $headers = $options['headers']; - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_callback="' . preg_quote('http%3A%2F%2Fapp.dev%2F', '/') . '", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->andReturn('oauth_token=temporarycredentialsidentifier&oauth_token_secret=temporarycredentialssecret&oauth_callback_confirmed=true'); - - $credentials = $server->getTemporaryCredentials(); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TemporaryCredentials', $credentials); - $this->assertEquals('temporarycredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('temporarycredentialssecret', $credentials->getSecret()); - } - - public function testGettingDefaultAuthorizationUrl() - { - $server = new Xing($this->getMockClientCredentials()); - - $expected = 'https://api.xing.com/v1/authorize?oauth_token=foo'; - - $this->assertEquals($expected, $server->getAuthorizationUrl('foo')); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - $this->assertEquals($expected, $server->getAuthorizationUrl($credentials)); - } - - public function testGettingTokenCredentialsFailsWithManInTheMiddle() - { - $server = new Xing($this->getMockClientCredentials()); - - $credentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $credentials->shouldReceive('getIdentifier')->andReturn('foo'); - - $this->expectException(InvalidArgumentException::class); - - $server->getTokenCredentials($credentials, 'bar', 'verifier'); - } - - public function testGettingTokenCredentials() - { - $server = m::mock('League\OAuth1\Client\Server\Xing[createHttpClient]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TemporaryCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('temporarycredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('temporarycredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('post')->with('https://api.xing.com/v1/access_token', m::on(function ($options) use ($me) { - $headers = $options['headers']; - $body = $options['form_params']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="temporarycredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - $me->assertSame($body, ['oauth_verifier' => 'myverifiercode']); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->andReturn('oauth_token=tokencredentialsidentifier&oauth_token_secret=tokencredentialssecret'); - - $credentials = $server->getTokenCredentials($temporaryCredentials, 'temporarycredentialsidentifier', 'myverifiercode'); - $this->assertInstanceOf('League\OAuth1\Client\Credentials\TokenCredentials', $credentials); - $this->assertEquals('tokencredentialsidentifier', $credentials->getIdentifier()); - $this->assertEquals('tokencredentialssecret', $credentials->getSecret()); - } - - public function testGettingUserDetails() - { - $server = m::mock('League\OAuth1\Client\Server\Xing[createHttpClient,protocolHeader]', [$this->getMockClientCredentials()]); - - $temporaryCredentials = m::mock('League\OAuth1\Client\Credentials\TokenCredentials'); - $temporaryCredentials->shouldReceive('getIdentifier')->andReturn('tokencredentialsidentifier'); - $temporaryCredentials->shouldReceive('getSecret')->andReturn('tokencredentialssecret'); - - $server->shouldReceive('createHttpClient')->andReturn($client = m::mock('stdClass')); - - $me = $this; - $client->shouldReceive('get')->with('https://api.xing.com/v1/users/me', m::on(function ($options) use ($me) { - $headers = $options['headers']; - - $me->assertTrue(isset($headers['Authorization'])); - - // OAuth protocol specifies a strict number of - // headers should be sent, in the correct order. - // We'll validate that here. - $pattern = '/OAuth oauth_consumer_key=".*?", oauth_nonce="[a-zA-Z0-9]+", oauth_signature_method="HMAC-SHA1", oauth_timestamp="\d{10}", oauth_version="1.0", oauth_token="tokencredentialsidentifier", oauth_signature=".*?"/'; - - $matches = preg_match($pattern, $headers['Authorization']); - $me->assertEquals(1, $matches, 'Asserting that the authorization header contains the correct expression.'); - - return true; - }))->once()->andReturn($response = m::mock(ResponseInterface::class)); - $response->shouldReceive('getBody')->once()->andReturn($this->getUserPayload()); - - $user = $server->getUserDetails($temporaryCredentials); - $this->assertInstanceOf('League\OAuth1\Client\Server\User', $user); - $this->assertEquals('Roman Gelembjuk', $user->name); - $this->assertEquals('17144430_0f9409', $server->getUserUid($temporaryCredentials)); - $this->assertEquals('XXXXXXXXXX@gmail.com', $server->getUserEmail($temporaryCredentials)); - $this->assertEquals('Roman Gelembjuk', $server->getUserScreenName($temporaryCredentials)); - } - - protected function getMockClientCredentials() - { - return [ - 'identifier' => $this->getApplicationKey(), - 'secret' => 'mysecret', - 'callback_uri' => 'http://app.dev/', - ]; - } - - protected function getApplicationKey() - { - return 'abcdefghijk'; - } - - protected function getApplicationExpiration($days = 0) - { - return is_numeric($days) && $days > 0 ? $days . 'day' . ($days == 1 ? '' : 's') : 'never'; - } - - protected function getApplicationName() - { - return 'fizz buzz'; - } - - private function getUserPayload() - { - return '{ - "users":[ - { - "id":"17144430_0f9409", - "active_email":"XXXXXXXXXX@gmail.com", - "time_zone": - { - "utc_offset":3.0, - "name":"Europe/Kiev" - }, - "display_name":"Roman Gelembjuk", - "first_name":"Roman", - "last_name":"Gelembjuk", - "gender":"m", - "page_name":"Roman_Gelembjuk", - "birth_date": - {"year":null,"month":null,"day":null}, - "wants":null, - "haves":null, - "interests":null, - "web_profiles":{}, - "badges":[], - "photo_urls": - { - "large":"https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.140x185.jpg", - "maxi_thumb":"https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.70x93.jpg", - "medium_thumb":"https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.57x75.jpg" - }, - "permalink":"https://www.xing.com/profile/Roman_Gelembjuk", - "languages":{"en":null}, - "employment_status":"EMPLOYEE", - "organisation_member":null, - "instant_messaging_accounts":{}, - "educational_background": - {"degree":null,"primary_school":null,"schools":[],"qualifications":[]}, - "private_address":{ - "street":null, - "zip_code":null, - "city":null, - "province":null, - "country":null, - "email":"XXXXXXXX@gmail.com", - "fax":null, - "phone":null, - "mobile_phone":null} - ,"business_address": - { - "street":null, - "zip_code":null, - "city":"Ivano-Frankivsk", - "province":null, - "country":"UA", - "email":null, - "fax":null,"phone":null,"mobile_phone":null - }, - "premium_services":[] - }]}'; - } -} diff --git a/vendor/league/oauth1-client/tests/stubs/ServerStub.php b/vendor/league/oauth1-client/tests/stubs/ServerStub.php deleted file mode 100644 index 7df5c31d1..000000000 --- a/vendor/league/oauth1-client/tests/stubs/ServerStub.php +++ /dev/null @@ -1,77 +0,0 @@ -firstName = $data['foo']; - - return $user; - } - - /** - * @inheritDoc - */ - public function userUid($data, TokenCredentials $tokenCredentials) - { - return isset($data['id']) ? $data['id'] : null; - } - - /** - * @inheritDoc - */ - public function userEmail($data, TokenCredentials $tokenCredentials) - { - return isset($data['contact_email']) ? $data['contact_email'] : null; - } - - /** - * @inheritDoc - */ - public function userScreenName($data, TokenCredentials $tokenCredentials) - { - return isset($data['username']) ? $data['username'] : null; - } -} diff --git a/vendor/league/oauth1-client/tests/test_rsa_invalidkey.pem b/vendor/league/oauth1-client/tests/test_rsa_invalidkey.pem deleted file mode 100644 index 40a712d89..000000000 --- a/vendor/league/oauth1-client/tests/test_rsa_invalidkey.pem +++ /dev/null @@ -1 +0,0 @@ -not a valid RSA key \ No newline at end of file diff --git a/vendor/league/oauth1-client/tests/test_rsa_privatekey.pem b/vendor/league/oauth1-client/tests/test_rsa_privatekey.pem deleted file mode 100644 index 25804aa04..000000000 --- a/vendor/league/oauth1-client/tests/test_rsa_privatekey.pem +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDJScPCpHHPakw9v4nhxi+cBumCml3WpMNDaE3Cxnkf6HALzoi8 -fQPx3XRfKSoLG6b7uTG+vDoLCL49ZCyYwrnggsFF08bJMqIhUHlZrkiyT5UhdTIh -XEEFfb6XmieHNtra+ur8E3PVal4PEdOCEmJehBMJkiCsxNOJ/kCeYSMdbQIDAQAB -AoGAMo7JkcEWKP/NCJFsg33xBWKjEj/NpBUcSnkPVwXc9IvAYObOZ3GLJRv3l9NS -ERov9fgNK5hBh/X5OphHr1LxtqU5gAFYx5Qgt/WG3ZH9KScXkaPS3Oq2qK9krbA2 -BXYKP4NEqhjJTecy7M8bju5+lsjteyqVSsVLHdLhUfPRbE0CQQDyYP6iChqZm1AK -A8x8PKvJsd4zSdxWXUYSmD7mAtek5VeWblbcXYYdeYPN6hNmqzaLelmrZI51x1Uf -hf1ryIfrAkEA1JmdSsNuxi9MOY3HqErWYsqZ//mVOxVyCAwf7OWQ0rTHEQBhQwpS -9nk0YFHI9t6nVUwXrZ7/7UJPTu8OjPKyBwJAYw2OomwcqM/XKvCYfeFRl1DwbOdv -e4AM5gaAFgHtXP85B0o6hz5VU/BYFCvoF9o6pU+wG6IxsiJvQD3C7mx6VwJAbXYW -PVs4WsQZe/ya0vSNQ1pLRjdr9XrKNoh/m4prMYGwiPloGotjQdIP/JO/ZBQplcpS -2qrl3HPqv5poJHwE2wJBAM37BVINHR0zcSHfFLmSYrqmLx2oC3UAB3exmpYSUgOz -wJqPfmPWuuXuu6h0Z2DazUan+2EiecX6C4ywkm+qk1I= ------END RSA PRIVATE KEY----- diff --git a/vendor/league/oauth1-client/tests/test_rsa_publickey.pem b/vendor/league/oauth1-client/tests/test_rsa_publickey.pem deleted file mode 100644 index 574902b92..000000000 --- a/vendor/league/oauth1-client/tests/test_rsa_publickey.pem +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDEDCCAnmgAwIBAgIJAMhMVuHMz+EgMA0GCSqGSIb3DQEBBQUAMGQxCzAJBgNV -BAYTAlVTMQswCQYDVQQIEwJUWDEPMA0GA1UEBxMGQXVzdGluMSEwHwYDVQQKExhJ -bnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFDASBgNVBAMTC2V4YW1wbGUuY29tMB4X -DTE2MTEwMjIxMDUzNVoXDTIxMTEwMTIxMDUzNVowZDELMAkGA1UEBhMCVVMxCzAJ -BgNVBAgTAlRYMQ8wDQYDVQQHEwZBdXN0aW4xITAfBgNVBAoTGEludGVybmV0IFdp -ZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAxMLZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcN -AQEBBQADgY0AMIGJAoGBAMlJw8Kkcc9qTD2/ieHGL5wG6YKaXdakw0NoTcLGeR/o -cAvOiLx9A/HddF8pKgsbpvu5Mb68OgsIvj1kLJjCueCCwUXTxskyoiFQeVmuSLJP -lSF1MiFcQQV9vpeaJ4c22tr66vwTc9VqXg8R04ISYl6EEwmSIKzE04n+QJ5hIx1t -AgMBAAGjgckwgcYwHQYDVR0OBBYEFLYKQbsK2oqRO83NbNXC2R6MkNcRMIGWBgNV -HSMEgY4wgYuAFLYKQbsK2oqRO83NbNXC2R6MkNcRoWikZjBkMQswCQYDVQQGEwJV -UzELMAkGA1UECBMCVFgxDzANBgNVBAcTBkF1c3RpbjEhMB8GA1UEChMYSW50ZXJu -ZXQgV2lkZ2l0cyBQdHkgTHRkMRQwEgYDVQQDEwtleGFtcGxlLmNvbYIJAMhMVuHM -z+EgMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEASwEwGQnRCqcNrb6k -g6/xpeyHE9/ruTBIE4dtArQI0NosaERC3i4nRKbgfJfIuYEaYiga4dC51CQqKrbH -YZ0dgYMzzp21OMQyKdz3E7csMJv5xxe5D2svdPzbBGU5+N80FYLx17f3UqsYFaAC -X0/YTQsdlM5tHZOd1ZbQUrERqLs= ------END CERTIFICATE----- From cd13fb09bd2fc7432389c5082d1d412fbfb6893f Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Wed, 11 Mar 2026 10:48:22 +0100 Subject: [PATCH 13/15] Remove redundant methods from `class.erpapi.php` and migrate functionality to `WawiString`. Refactor usage to align with updated `WawiString` methods. --- cronjobs/shopimport.php | 4 +- cronjobs/shopimport_auftragarchiv.php | 2 +- phpwf/plugins/class.string.php | 812 +++++++++++++------------- www/lib/class.erpapi.php | 283 +-------- www/pages/exportvorlage.php | 10 +- www/pages/shopimport.php | 6 +- 6 files changed, 419 insertions(+), 698 deletions(-) diff --git a/cronjobs/shopimport.php b/cronjobs/shopimport.php index b1ff7712b..f59ec9420 100644 --- a/cronjobs/shopimport.php +++ b/cronjobs/shopimport.php @@ -673,7 +673,7 @@ function GetUsername() } else { $warenkorb = $app->erp->CleanDataBeforImport($warenkorb, false); } - foreach($warenkorb as $k => $v) $warenkorb[$k] = $app->erp->fixeUmlaute($v); + foreach($warenkorb as $k => $v) $warenkorb[$k] = $app->String->fixeUmlaute($v); $kundenurvonprojekt = $app->DB->Select("SELECT kundenurvonprojekt FROM shopexport WHERE id = '$id' LIMIT 1"); $adresseprojekt = ''; if($kundenurvonprojekt) @@ -1067,7 +1067,7 @@ function GetUsername() } else { $warenkorb = $app->erp->CleanDataBeforImport($warenkorb, false); } - foreach($warenkorb as $k => $v) $warenkorb[$k] = $app->erp->fixeUmlaute($v); + foreach($warenkorb as $k => $v) $warenkorb[$k] = $app->String->fixeUmlaute($v); $warenkorb['email'] = trim($warenkorb['email']," \t\n\r\0\x0B\xc2\xa0"); $kundenurvonprojekt = $app->DB->Select("SELECT kundenurvonprojekt FROM shopexport WHERE id = '$id' LIMIT 1"); $adresseprojekt = ''; diff --git a/cronjobs/shopimport_auftragarchiv.php b/cronjobs/shopimport_auftragarchiv.php index bfc448da1..533de4e02 100644 --- a/cronjobs/shopimport_auftragarchiv.php +++ b/cronjobs/shopimport_auftragarchiv.php @@ -874,7 +874,7 @@ public function GetParameter() $warenkorb = $app->erp->CleanDataBeforImport($warenkorb, false); }*/ foreach($warenkorb as $k => $v) { - $warenkorb[$k] = $app->erp->fixeUmlaute($v); + $warenkorb[$k] = $app->String->fixeUmlaute($v); } $projekt = $app->DB->Select( "SELECT `projekt` FROM `shopexport` WHERE `id` = '$shopid' LIMIT 1" diff --git a/phpwf/plugins/class.string.php b/phpwf/plugins/class.string.php index 00bfa3b16..49e9b8062 100644 --- a/phpwf/plugins/class.string.php +++ b/phpwf/plugins/class.string.php @@ -1,4 +1,4 @@ - +*/ +?> FindPercentValues($input); + $regexp = $this->BuildRegExp($array); - function __construct() - { - } - - function Convert($value,$input,$output) - { - if($input=="") - return $value; - + $elements = + preg_split($regexp, $value, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - /*if (strpos($a, '\\') !== false) - $input = str_replace('/','\/',$input);*/ + // input und elements stimmmen ueberein - $array = $this->FindPercentValues($input); - $regexp = $this->BuildRegExp($array); + $newout = $output; + $i = 0; + foreach ($array as $key => $value) { + $newout = str_replace($key, $elements[$i] ?? '', $newout); + $i++; + } + return $newout; + } - $elements = - preg_split($regexp,$value,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); + private function BuildRegExp(array $array): string + { + $regexp = '/^'; + foreach ($array as $value) { + $value = str_replace('.', '\.', $value); + $value = str_replace('+', '\+', $value); + $value = str_replace('*', '\*', $value); + $value = str_replace('?', '\?', $value); + $regexp .= '(\S+)' . $value; + } + $regexp .= '/'; - // input und elements stimmmen ueberein + return $regexp; + } - $newout = $output; - $i = 0; - foreach($array as $key=>$value) + private function FindPercentValues(string $pattern): array { - $newout = str_replace($key,isset($elements[$i])?$elements[$i]:'',$newout); - $i++; - } - return $newout; - } + preg_match_all('/(?:(%[0-9]+)|.)/i', $pattern, $matches); + $hash = ''; + $collect = ''; + $start = true; + foreach ($matches[1] as $key => $value) { + if ($value == '') + $collecting = true; + else { + $collecting = false; + $oldhash = $hash ?? null; + $hash = $value; + } - /** - * @param string $string - * - * @return string - */ - public function removeUtf8Bom($string) { - if(!is_string($string) || strlen($string)< 3) { - return $string; - } - if(ord($string[0]) === 239 && ord($string[1]) === 187 && ord($string[2]) === 191) { - return substr($string,3); + if (!$collecting) { + if (!$start) + $replace[$oldhash] = $collect; + $collect = ''; + } else + $collect .= $matches[0][$key]; + $start = false; + } + $replace[$hash] = $collect; + return $replace; } - return $string; - } - - function BuildRegExp($array) - { - $regexp = '/^'; - foreach($array as $value) + public function decodeText($_str, $_form = true) { - $value = str_replace('.','\.',$value); - $value = str_replace('+','\+',$value); - $value = str_replace('*','\*',$value); - $value = str_replace('?','\?',$value); - $regexp .= '(\S+)'.$value; + if ($_form) { + $_str = str_replace('#BR#', "\r\n", $_str); + } else { + $_str = str_replace('#BR#', '
', $_str); + } + return ($_str); } - $regexp .= '/'; - return $regexp; - } - - function FindPercentValues($pattern) - { - preg_match_all('/(?:(%[0-9]+)|.)/i', $pattern, $matches); - $hash = ''; - $collect = ''; - $start = true; - foreach($matches[1] as $key=>$value) + public function fixeUmlaute(mixed $text): mixed { - if($value=="") - $collecting = true; - else - { - $collecting = false; - $oldhash = isset($hash)?$hash:null; - $hash = $value; - } + if (!is_string($text)) { + return $text; + } + $umlaute = $this->getUmlauteArray(); - if(!$collecting) - { - if(!$start) - $replace[$oldhash] = $collect; - $collect=""; - } - else - $collect .=$matches[0][$key]; - $start = false; + return str_replace(array_keys($umlaute), array_values($umlaute), $text); } - $replace[$hash] = $collect; - return $replace; - } - - function encodeText($string) - { - $string = str_replace("\\r\\n","#BR#",$string); - $string = str_replace("\n","#BR#",$string); - $encoded = htmlspecialchars(stripslashes($string), ENT_QUOTES); - - return $encoded; - } - - function decodeText($_str, $_form=true) - { - if ($_form) { - $_str = str_replace("#BR#", "\r\n", $_str); - } - else { - $_str = str_replace("#BR#", "
", $_str); - } - return($_str); - } - - function valid_utf8( $string ) - { - return !((bool)preg_match('~\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\xC0\xC1~ms',$string)); - } - - /** - * @param mixed $text - * - * @return string - */ - public function fixeUmlaute($text) { - if(!is_string($text)) { - return $text; + private function getUmlauteArray(): array + { + return [ + 'ü' => 'ü', + 'ä' => 'ä', + 'ö' => 'ö', + 'Ö' => 'Ö', + 'Ã?' => 'ß', + 'ß' => 'ß', + 'à ' => 'à', + 'á' => 'á', + 'â' => 'â', + 'ã' => 'ã', + 'ù' => 'ù', + 'ú' => 'ú', + 'û' => 'û', + 'Ù' => 'Ù', + 'Ú' => 'Ú', + 'Û' => 'Û', + 'Ü' => 'Ü', + 'ò' => 'ò', + 'ó' => 'ó', + 'ô' => 'ô', + 'è' => 'è', + 'é' => 'é', + 'ê' => 'ê', + 'ë' => 'ë', + 'À' => 'À', + 'Ã<81>' => 'Á', + 'Â' => 'Â', + 'Ã' => 'Ã', + 'Ä' => 'Ä', + 'Ã…' => 'Å', + 'Ç' => 'Ç', + 'È' => 'È', + 'É' => 'É', + 'Ê' => 'Ê', + 'Ë' => 'Ë', + 'ÃŒ' => 'Ì', + 'Ã<8d>' => 'Í', + 'ÃŽ' => 'Î', + 'Ã<8f>' => 'Ï', + 'Ñ' => 'Ñ', + 'Ã’' => 'Ò', + 'Ó' => 'Ó', + 'Ô' => 'Ô', + 'Õ' => 'Õ', + 'Ø' => 'Ø', + 'Ã¥' => 'å', + 'æ' => 'æ', + 'ç' => 'ç', + 'ì' => 'ì', + 'í' => 'í', + 'î' => 'î', + 'ï' => 'ï', + 'ð' => 'ð', + 'ñ' => 'ñ', + 'õ' => 'õ', + 'ø' => 'ø', + 'ý' => 'ý', + 'ÿ' => 'ÿ', + '€' => '€', + ]; } - $umlaute = $this->getUmlauteArray(); - - return str_replace(array_keys($umlaute),array_values($umlaute), $text); - } - /** - * @return array - */ - public function getUmlauteArray() { - return array( 'ü'=>'ü', 'ä'=>'ä', 'ö'=>'ö', 'Ö'=>'Ö', 'Ã?'=>'ß','ß'=>'ß', 'à '=>'à', 'á'=>'á', 'â'=>'â', 'ã'=>'ã', 'ù'=>'ù', 'ú'=>'ú', 'û'=>'û', 'Ù'=>'Ù', 'Ú'=>'Ú', 'Û'=>'Û', 'Ü'=>'Ü', 'ò'=>'ò', 'ó'=>'ó', 'ô'=>'ô', 'è'=>'è', 'é'=>'é', 'ê'=>'ê', 'ë'=>'ë', 'À'=>'À', 'Ã<81>'=>'Á', 'Â'=>'Â', 'Ã'=>'Ã', 'Ä'=>'Ä', 'Ã…'=>'Å', 'Ç'=>'Ç', 'È'=>'È', 'É'=>'É', 'Ê'=>'Ê', 'Ë'=>'Ë', 'ÃŒ'=>'Ì', 'Ã<8d>'=>'Í', 'ÃŽ'=>'Î', 'Ã<8f>'=>'Ï', 'Ñ'=>'Ñ', 'Ã’'=>'Ò', 'Ó'=>'Ó', 'Ô'=>'Ô', 'Õ'=>'Õ', 'Ø'=>'Ø', 'Ã¥'=>'å', 'æ'=>'æ', 'ç'=>'ç', 'ì'=>'ì', 'í'=>'í', 'î'=>'î', 'ï'=>'ï', 'ð'=>'ð', 'ñ'=>'ñ', 'õ'=>'õ', 'ø'=>'ø', 'ý'=>'ý', 'ÿ'=>'ÿ', '€'=>'€' ); - } + public function unicode_decode(string $content): string + { + $ISO10646XHTMLTrans = [ + '&' . '#34;' => '"', + '&' . '#38;' => '&', + '&' . '#39;' => ''', + '&' . '#60;' => '<', + '&' . '#62;' => '>', + '&' . '#128;' => '€', + '&' . '#160;' => '', + '&' . '#161;' => '¡', + '&' . '#162;' => '¢', + '&' . '#163;' => '£', + '&' . '#164;' => '¤', + '&' . '#165;' => '¥', + '&' . '#166;' => '¦', + '&' . '#167;' => '§', + '&' . '#168;' => '¨', + '&' . '#169;' => '©', + '&' . '#170;' => 'ª', + '&' . '#171;' => '«', + '&' . '#172;' => '¬', + '&' . '#173;' => '­', + '&' . '#174;' => '®', + '&' . '#175;' => '¯', + '&' . '#176;' => '°', + '&' . '#177;' => '±', + '&' . '#178;' => '²', + '&' . '#179;' => '³', + '&' . '#180;' => '´', + '&' . '#181;' => 'µ', + '&' . '#182;' => '¶', + '&' . '#183;' => '·', + '&' . '#184;' => '¸', + '&' . '#185;' => '¹', + '&' . '#186;' => 'º', + '&' . '#187;' => '»', + '&' . '#188;' => '¼', + '&' . '#189;' => '½', + '&' . '#190;' => '¾', + '&' . '#191;' => '¿', + '&' . '#192;' => 'À', + '&' . '#193;' => 'Á', + '&' . '#194;' => 'Â', + '&' . '#195;' => 'Ã', + '&' . '#196;' => 'Ä', + '&' . '#197;' => 'Å', + '&' . '#198;' => 'Æ', + '&' . '#199;' => 'Ç', + '&' . '#200;' => 'È', + '&' . '#201;' => 'É', + '&' . '#202;' => 'Ê', + '&' . '#203;' => 'Ë', + '&' . '#204;' => 'Ì', + '&' . '#205;' => 'Í', + '&' . '#206;' => 'Î', + '&' . '#207;' => 'Ï', + '&' . '#208;' => 'Ð', + '&' . '#209;' => 'Ñ', + '&' . '#210;' => 'Ò', + '&' . '#211;' => 'Ó', + '&' . '#212;' => 'Ô', + '&' . '#213;' => 'Õ', + '&' . '#214;' => 'Ö', + '&' . '#215;' => '×', + '&' . '#216;' => 'Ø', + '&' . '#217;' => 'Ù', + '&' . '#218;' => 'Ú', + '&' . '#219;' => 'Û', + '&' . '#220;' => 'Ü', + '&' . '#221;' => 'Ý', + '&' . '#222;' => 'Þ', + '&' . '#223;' => 'ß', + '&' . '#224;' => 'à', + '&' . '#225;' => 'á', + '&' . '#226;' => 'â', + '&' . '#227;' => 'ã', + '&' . '#228;' => 'ä', + '&' . '#229;' => 'å', + '&' . '#230;' => 'æ', + '&' . '#231;' => 'ç', + '&' . '#232;' => 'è', + '&' . '#233;' => 'é', + '&' . '#234;' => 'ê', + '&' . '#235;' => 'ë', + '&' . '#236;' => 'ì', + '&' . '#237;' => 'í', + '&' . '#238;' => 'î', + '&' . '#239;' => 'ï', + '&' . '#240;' => 'ð', + '&' . '#241;' => 'ñ', + '&' . '#242;' => 'ò', + '&' . '#243;' => 'ó', + '&' . '#244;' => 'ô', + '&' . '#245;' => 'õ', + '&' . '#246;' => 'ö', + '&' . '#247;' => '÷', + '&' . '#248;' => 'ø', + '&' . '#249;' => 'ù', + '&' . '#250;' => 'ú', + '&' . '#251;' => 'û', + '&' . '#252;' => 'ü', + '&' . '#253;' => 'ý', + '&' . '#254;' => 'þ', + '&' . '#255;' => 'ÿ', + '&' . '#338;' => 'Œ', + '&' . '#339;' => 'œ', + '&' . '#352;' => 'Š', + '&' . '#353;' => 'š', + '&' . '#376;' => 'Ÿ', + '&' . '#402;' => 'ƒ', + '&' . '#710;' => 'ˆ', + '&' . '#732;' => '˜', + '&' . '#913;' => 'Α', + '&' . '#914;' => 'Β', + '&' . '#915;' => 'Γ', + '&' . '#916;' => 'Δ', + '&' . '#917;' => 'Ε', + '&' . '#918;' => 'Ζ', + '&' . '#919;' => 'Η', + '&' . '#920;' => 'Θ', + '&' . '#921;' => 'Ι', + '&' . '#922;' => 'Κ', + '&' . '#923;' => 'Λ', + '&' . '#924;' => 'Μ', + '&' . '#925;' => 'Ν', + '&' . '#926;' => 'Ξ', + '&' . '#927;' => 'Ο', + '&' . '#928;' => 'Π', + '&' . '#929;' => 'Ρ', + '&' . '#931;' => 'Σ', + '&' . '#932;' => 'Τ', + '&' . '#933;' => 'Υ', + '&' . '#934;' => 'Φ', + '&' . '#935;' => 'Χ', + '&' . '#936;' => 'Ψ', + '&' . '#937;' => 'Ω', + '&' . '#945;' => 'α', + '&' . '#946;' => 'β', + '&' . '#947;' => 'γ', + '&' . '#948;' => 'δ', + '&' . '#949;' => 'ε', + '&' . '#950;' => 'ζ', + '&' . '#951;' => 'η', + '&' . '#952;' => 'θ', + '&' . '#953;' => 'ι', + '&' . '#954;' => 'κ', + '&' . '#955;' => 'λ', + '&' . '#956;' => 'μ', + '&' . '#957;' => 'ν', + '&' . '#958;' => 'ξ', + '&' . '#959;' => 'ο', + '&' . '#960;' => 'π', + '&' . '#961;' => 'ρ', + '&' . '#962;' => 'ς', + '&' . '#963;' => 'σ', + '&' . '#964;' => 'τ', + '&' . '#965;' => 'υ', + '&' . '#966;' => 'φ', + '&' . '#967;' => 'χ', + '&' . '#968;' => 'ψ', + '&' . '#969;' => 'ω', + '&' . '#977;' => 'ϑ', + '&' . '#978;' => 'ϒ', + '&' . '#982;' => 'ϖ', + '&' . '#8194;' => ' ', + '&' . '#8195;' => ' ', + '&' . '#8201;' => ' ', + '&' . '#8204;' => '‌', + '&' . '#8205;' => '‍', + '&' . '#8206;' => '‎', + '&' . '#8207;' => '‏', + '&' . '#8211;' => '–', + '&' . '#8212;' => '—', + '&' . '#8216;' => '‘', + '&' . '#8217;' => '’', + '&' . '#8218;' => '‚', + '&' . '#8220;' => '“', + '&' . '#8221;' => '”', + '&' . '#8222;' => '„', + '&' . '#8224;' => '†', + '&' . '#8225;' => '‡', + '&' . '#8226;' => '•', + '&' . '#8230;' => '…', + '&' . '#8240;' => '‰', + '&' . '#8242;' => '′', + '&' . '#8243;' => '″', + '&' . '#8249;' => '‹', + '&' . '#8250;' => '›', + '&' . '#8254;' => '‾', + '&' . '#8260;' => '⁄', + '&' . '#8364;' => '€', + '&' . '#8465;' => 'ℑ', + '&' . '#8472;' => '℘', + '&' . '#8476;' => 'ℜ', + '&' . '#8482;' => '™', + '&' . '#8501;' => 'ℵ', + '&' . '#8592;' => '←', + '&' . '#8593;' => '↑', + '&' . '#8594;' => '→', + '&' . '#8595;' => '↓', + '&' . '#8596;' => '↔', + '&' . '#8629;' => '↵', + '&' . '#8656;' => '⇐', + '&' . '#8657;' => '⇑', + '&' . '#8658;' => '⇒', + '&' . '#8659;' => '⇓', + '&' . '#8660;' => '⇔', + '&' . '#8704;' => '∀', + '&' . '#8706;' => '∂', + '&' . '#8707;' => '∃', + '&' . '#8709;' => '∅', + '&' . '#8711;' => '∇', + '&' . '#8712;' => '∈', + '&' . '#8713;' => '∉', + '&' . '#8715;' => '∋', + '&' . '#8719;' => '∏', + '&' . '#8721;' => '∑', + '&' . '#8722;' => '−', + '&' . '#8727;' => '∗', + '&' . '#8730;' => '√', + '&' . '#8733;' => '∝', + '&' . '#8734;' => '∞', + '&' . '#8736;' => '∠', + '&' . '#8743;' => '∧', + '&' . '#8744;' => '∨', + '&' . '#8745;' => '∩', + '&' . '#8746;' => '∪', + '&' . '#8747;' => '∫', + '&' . '#8756;' => '∴', + '&' . '#8764;' => '∼', + '&' . '#8773;' => '≅', + '&' . '#8776;' => '≈', + '&' . '#8800;' => '≠', + '&' . '#8801;' => '≡', + '&' . '#8804;' => '≤', + '&' . '#8805;' => '≥', + '&' . '#8834;' => '⊂', + '&' . '#8835;' => '⊃', + '&' . '#8836;' => '⊄', + '&' . '#8838;' => '⊆', + '&' . '#8839;' => '⊇', + '&' . '#8853;' => '⊕', + '&' . '#8855;' => '⊗', + '&' . '#8869;' => '⊥', + '&' . '#8901;' => '⋅', + '&' . '#8968;' => '⌈', + '&' . '#8969;' => '⌉', + '&' . '#8970;' => '⌊', + '&' . '#8971;' => '⌋', + '&' . '#9001;' => '⟨', + '&' . '#9002;' => '⟩', + '&' . '#9674;' => '◊', + '&' . '#9824;' => '♠', + '&' . '#9827;' => '♣', + '&' . '#9829;' => '♥', + '&' . '#9830;' => '♦', + ]; - function unicode_decode($content) { - $ISO10646XHTMLTrans = array( - "&"."#34;" => """, - "&"."#38;" => "&", - "&"."#39;" => "'", - "&"."#60;" => "<", - "&"."#62;" => ">", - "&"."#128;" => "€", - "&"."#160;" => "", - "&"."#161;" => "¡", - "&"."#162;" => "¢", - "&"."#163;" => "£", - "&"."#164;" => "¤", - "&"."#165;" => "¥", - "&"."#166;" => "¦", - "&"."#167;" => "§", - "&"."#168;" => "¨", - "&"."#169;" => "©", - "&"."#170;" => "ª", - "&"."#171;" => "«", - "&"."#172;" => "¬", - "&"."#173;" => "­", - "&"."#174;" => "®", - "&"."#175;" => "¯", - "&"."#176;" => "°", - "&"."#177;" => "±", - "&"."#178;" => "²", - "&"."#179;" => "³", - "&"."#180;" => "´", - "&"."#181;" => "µ", - "&"."#182;" => "¶", - "&"."#183;" => "·", - "&"."#184;" => "¸", - "&"."#185;" => "¹", - "&"."#186;" => "º", - "&"."#187;" => "»", - "&"."#188;" => "¼", - "&"."#189;" => "½", - "&"."#190;" => "¾", - "&"."#191;" => "¿", - "&"."#192;" => "À", - "&"."#193;" => "Á", - "&"."#194;" => "Â", - "&"."#195;" => "Ã", - "&"."#196;" => "Ä", - "&"."#197;" => "Å", - "&"."#198;" => "Æ", - "&"."#199;" => "Ç", - "&"."#200;" => "È", - "&"."#201;" => "É", - "&"."#202;" => "Ê", - "&"."#203;" => "Ë", - "&"."#204;" => "Ì", - "&"."#205;" => "Í", - "&"."#206;" => "Î", - "&"."#207;" => "Ï", - "&"."#208;" => "Ð", - "&"."#209;" => "Ñ", - "&"."#210;" => "Ò", - "&"."#211;" => "Ó", - "&"."#212;" => "Ô", - "&"."#213;" => "Õ", - "&"."#214;" => "Ö", - "&"."#215;" => "×", - "&"."#216;" => "Ø", - "&"."#217;" => "Ù", - "&"."#218;" => "Ú", - "&"."#219;" => "Û", - "&"."#220;" => "Ü", - "&"."#221;" => "Ý", - "&"."#222;" => "Þ", - "&"."#223;" => "ß", - "&"."#224;" => "à", - "&"."#225;" => "á", - "&"."#226;" => "â", - "&"."#227;" => "ã", - "&"."#228;" => "ä", - "&"."#229;" => "å", - "&"."#230;" => "æ", - "&"."#231;" => "ç", - "&"."#232;" => "è", - "&"."#233;" => "é", - "&"."#234;" => "ê", - "&"."#235;" => "ë", - "&"."#236;" => "ì", - "&"."#237;" => "í", - "&"."#238;" => "î", - "&"."#239;" => "ï", - "&"."#240;" => "ð", - "&"."#241;" => "ñ", - "&"."#242;" => "ò", - "&"."#243;" => "ó", - "&"."#244;" => "ô", - "&"."#245;" => "õ", - "&"."#246;" => "ö", - "&"."#247;" => "÷", - "&"."#248;" => "ø", - "&"."#249;" => "ù", - "&"."#250;" => "ú", - "&"."#251;" => "û", - "&"."#252;" => "ü", - "&"."#253;" => "ý", - "&"."#254;" => "þ", - "&"."#255;" => "ÿ", - "&"."#338;" => "Œ", - "&"."#339;" => "œ", - "&"."#352;" => "Š", - "&"."#353;" => "š", - "&"."#376;" => "Ÿ", - "&"."#402;" => "ƒ", - "&"."#710;" => "ˆ", - "&"."#732;" => "˜", - "&"."#913;" => "Α", - "&"."#914;" => "Β", - "&"."#915;" => "Γ", - "&"."#916;" => "Δ", - "&"."#917;" => "Ε", - "&"."#918;" => "Ζ", - "&"."#919;" => "Η", - "&"."#920;" => "Θ", - "&"."#921;" => "Ι", - "&"."#922;" => "Κ", - "&"."#923;" => "Λ", - "&"."#924;" => "Μ", - "&"."#925;" => "Ν", - "&"."#926;" => "Ξ", - "&"."#927;" => "Ο", - "&"."#928;" => "Π", - "&"."#929;" => "Ρ", - "&"."#931;" => "Σ", - "&"."#932;" => "Τ", - "&"."#933;" => "Υ", - "&"."#934;" => "Φ", - "&"."#935;" => "Χ", - "&"."#936;" => "Ψ", - "&"."#937;" => "Ω", - "&"."#945;" => "α", - "&"."#946;" => "β", - "&"."#947;" => "γ", - "&"."#948;" => "δ", - "&"."#949;" => "ε", - "&"."#950;" => "ζ", - "&"."#951;" => "η", - "&"."#952;" => "θ", - "&"."#953;" => "ι", - "&"."#954;" => "κ", - "&"."#955;" => "λ", - "&"."#956;" => "μ", - "&"."#957;" => "ν", - "&"."#958;" => "ξ", - "&"."#959;" => "ο", - "&"."#960;" => "π", - "&"."#961;" => "ρ", - "&"."#962;" => "ς", - "&"."#963;" => "σ", - "&"."#964;" => "τ", - "&"."#965;" => "υ", - "&"."#966;" => "φ", - "&"."#967;" => "χ", - "&"."#968;" => "ψ", - "&"."#969;" => "ω", - "&"."#977;" => "ϑ", - "&"."#978;" => "ϒ", - "&"."#982;" => "ϖ", - "&"."#8194;" => " ", - "&"."#8195;" => " ", - "&"."#8201;" => " ", - "&"."#8204;" => "‌", - "&"."#8205;" => "‍", - "&"."#8206;" => "‎", - "&"."#8207;" => "‏", - "&"."#8211;" => "–", - "&"."#8212;" => "—", - "&"."#8216;" => "‘", - "&"."#8217;" => "’", - "&"."#8218;" => "‚", - "&"."#8220;" => "“", - "&"."#8221;" => "”", - "&"."#8222;" => "„", - "&"."#8224;" => "†", - "&"."#8225;" => "‡", - "&"."#8226;" => "•", - "&"."#8230;" => "…", - "&"."#8240;" => "‰", - "&"."#8242;" => "′", - "&"."#8243;" => "″", - "&"."#8249;" => "‹", - "&"."#8250;" => "›", - "&"."#8254;" => "‾", - "&"."#8260;" => "⁄", - "&"."#8364;" => "€", - "&"."#8465;" => "ℑ", - "&"."#8472;" => "℘", - "&"."#8476;" => "ℜ", - "&"."#8482;" => "™", - "&"."#8501;" => "ℵ", - "&"."#8592;" => "←", - "&"."#8593;" => "↑", - "&"."#8594;" => "→", - "&"."#8595;" => "↓", - "&"."#8596;" => "↔", - "&"."#8629;" => "↵", - "&"."#8656;" => "⇐", - "&"."#8657;" => "⇑", - "&"."#8658;" => "⇒", - "&"."#8659;" => "⇓", - "&"."#8660;" => "⇔", - "&"."#8704;" => "∀", - "&"."#8706;" => "∂", - "&"."#8707;" => "∃", - "&"."#8709;" => "∅", - "&"."#8711;" => "∇", - "&"."#8712;" => "∈", - "&"."#8713;" => "∉", - "&"."#8715;" => "∋", - "&"."#8719;" => "∏", - "&"."#8721;" => "∑", - "&"."#8722;" => "−", - "&"."#8727;" => "∗", - "&"."#8730;" => "√", - "&"."#8733;" => "∝", - "&"."#8734;" => "∞", - "&"."#8736;" => "∠", - "&"."#8743;" => "∧", - "&"."#8744;" => "∨", - "&"."#8745;" => "∩", - "&"."#8746;" => "∪", - "&"."#8747;" => "∫", - "&"."#8756;" => "∴", - "&"."#8764;" => "∼", - "&"."#8773;" => "≅", - "&"."#8776;" => "≈", - "&"."#8800;" => "≠", - "&"."#8801;" => "≡", - "&"."#8804;" => "≤", - "&"."#8805;" => "≥", - "&"."#8834;" => "⊂", - "&"."#8835;" => "⊃", - "&"."#8836;" => "⊄", - "&"."#8838;" => "⊆", - "&"."#8839;" => "⊇", - "&"."#8853;" => "⊕", - "&"."#8855;" => "⊗", - "&"."#8869;" => "⊥", - "&"."#8901;" => "⋅", - "&"."#8968;" => "⌈", - "&"."#8969;" => "⌉", - "&"."#8970;" => "⌊", - "&"."#8971;" => "⌋", - "&"."#9001;" => "⟨", - "&"."#9002;" => "⟩", - "&"."#9674;" => "◊", - "&"."#9824;" => "♠", - "&"."#9827;" => "♣", - "&"."#9829;" => "♥", - "&"."#9830;" => "♦" - ); - - return str_replace(array_keys($ISO10646XHTMLTrans), array_values($ISO10646XHTMLTrans), $content); - } + return str_replace(array_keys($ISO10646XHTMLTrans), array_values($ISO10646XHTMLTrans), $content); + } - /** - * @param string $string - * - * @return string - */ - public function ReadyForPDF($string='') - { - return trim( - html_entity_decode( - str_replace( - ['“','„','–',"’","'","NONBLOCKINGZERO"], - ['"','','-',"'","'",''], - $string - ), - ENT_QUOTES, - 'UTF-8' - ) - ); - } + public function ReadyForPDF(string $string = ''): string + { + return trim( + html_entity_decode( + str_replace( + ['“', '„', '–', '’', ''', 'NONBLOCKINGZERO'], + ['"', '', '-', "'", "'", ''], + $string, + ), + ENT_QUOTES, + 'UTF-8', + ), + ); + } } diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index 00fef36c2..4b52c57e9 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -6414,14 +6414,6 @@ public function isActionExistsInModule($module, $action) return in_array($action, $actions); } - function fixeUmlaute($text) { - return $this->app->String->fixeUmlaute($text); - } - - function getUmlauteArray() { - return $this->app->String->getUmlauteArray(); - } - /** * @deprecated use directly htmlentities() instead */ @@ -6449,7 +6441,7 @@ function ConvertForDB($string, $htmlentities = true, $isHtmlTransformation = fal function ConvertForTableSearch($string) { - $string = $this->unicode_decode($string); + $string = $this->app->String->unicode_decode($string); $cmd = $this->app->Secure->GetGET('cmd'); if($cmd==='kontoauszuege'){ return trim(html_entity_decode($string, ENT_QUOTES, 'UTF-8')); //uahlungseingang @@ -6464,279 +6456,6 @@ function make_clickable($text) return preg_replace('@(?])\b(?:(?:https?|ftp|file)://|[a-z]\.)[-A-Z0-9+&#/%=~_|$?!:,.]*[A-Z0-9+&#/%=~_|$]@i', '\0', $text); } - // @refactor in WawiString oder HtmlTransformer Klasse - function unicode_decode($content) { - $ISO10646XHTMLTrans = array( - "&"."#34;" => """, - "&"."#38;" => "&", - "&"."#39;" => "'", - "&"."#60;" => "<", - "&"."#62;" => ">", - "&"."#128;" => "€", - "&"."#160;" => "", - "&"."#161;" => "¡", - "&"."#162;" => "¢", - "&"."#163;" => "£", - "&"."#164;" => "¤", - "&"."#165;" => "¥", - "&"."#166;" => "¦", - "&"."#167;" => "§", - "&"."#168;" => "¨", - "&"."#169;" => "©", - "&"."#170;" => "ª", - "&"."#171;" => "«", - "&"."#172;" => "¬", - "&"."#173;" => "­", - "&"."#174;" => "®", - "&"."#175;" => "¯", - "&"."#176;" => "°", - "&"."#177;" => "±", - "&"."#178;" => "²", - "&"."#179;" => "³", - "&"."#180;" => "´", - "&"."#181;" => "µ", - "&"."#182;" => "¶", - "&"."#183;" => "·", - "&"."#184;" => "¸", - "&"."#185;" => "¹", - "&"."#186;" => "º", - "&"."#187;" => "»", - "&"."#188;" => "¼", - "&"."#189;" => "½", - "&"."#190;" => "¾", - "&"."#191;" => "¿", - "&"."#192;" => "À", - "&"."#193;" => "Á", - "&"."#194;" => "Â", - "&"."#195;" => "Ã", - "&"."#196;" => "Ä", - "&"."#197;" => "Å", - "&"."#198;" => "Æ", - "&"."#199;" => "Ç", - "&"."#200;" => "È", - "&"."#201;" => "É", - "&"."#202;" => "Ê", - "&"."#203;" => "Ë", - "&"."#204;" => "Ì", - "&"."#205;" => "Í", - "&"."#206;" => "Î", - "&"."#207;" => "Ï", - "&"."#208;" => "Ð", - "&"."#209;" => "Ñ", - "&"."#210;" => "Ò", - "&"."#211;" => "Ó", - "&"."#212;" => "Ô", - "&"."#213;" => "Õ", - "&"."#214;" => "Ö", - "&"."#215;" => "×", - "&"."#216;" => "Ø", - "&"."#217;" => "Ù", - "&"."#218;" => "Ú", - "&"."#219;" => "Û", - "&"."#220;" => "Ü", - "&"."#221;" => "Ý", - "&"."#222;" => "Þ", - "&"."#223;" => "ß", - "&"."#224;" => "à", - "&"."#225;" => "á", - "&"."#226;" => "â", - "&"."#227;" => "ã", - "&"."#228;" => "ä", - "&"."#229;" => "å", - "&"."#230;" => "æ", - "&"."#231;" => "ç", - "&"."#232;" => "è", - "&"."#233;" => "é", - "&"."#234;" => "ê", - "&"."#235;" => "ë", - "&"."#236;" => "ì", - "&"."#237;" => "í", - "&"."#238;" => "î", - "&"."#239;" => "ï", - "&"."#240;" => "ð", - "&"."#241;" => "ñ", - "&"."#242;" => "ò", - "&"."#243;" => "ó", - "&"."#244;" => "ô", - "&"."#245;" => "õ", - "&"."#246;" => "ö", - "&"."#247;" => "÷", - "&"."#248;" => "ø", - "&"."#249;" => "ù", - "&"."#250;" => "ú", - "&"."#251;" => "û", - "&"."#252;" => "ü", - "&"."#253;" => "ý", - "&"."#254;" => "þ", - "&"."#255;" => "ÿ", - "&"."#338;" => "Œ", - "&"."#339;" => "œ", - "&"."#352;" => "Š", - "&"."#353;" => "š", - "&"."#376;" => "Ÿ", - "&"."#402;" => "ƒ", - "&"."#710;" => "ˆ", - "&"."#732;" => "˜", - "&"."#913;" => "Α", - "&"."#914;" => "Β", - "&"."#915;" => "Γ", - "&"."#916;" => "Δ", - "&"."#917;" => "Ε", - "&"."#918;" => "Ζ", - "&"."#919;" => "Η", - "&"."#920;" => "Θ", - "&"."#921;" => "Ι", - "&"."#922;" => "Κ", - "&"."#923;" => "Λ", - "&"."#924;" => "Μ", - "&"."#925;" => "Ν", - "&"."#926;" => "Ξ", - "&"."#927;" => "Ο", - "&"."#928;" => "Π", - "&"."#929;" => "Ρ", - "&"."#931;" => "Σ", - "&"."#932;" => "Τ", - "&"."#933;" => "Υ", - "&"."#934;" => "Φ", - "&"."#935;" => "Χ", - "&"."#936;" => "Ψ", - "&"."#937;" => "Ω", - "&"."#945;" => "α", - "&"."#946;" => "β", - "&"."#947;" => "γ", - "&"."#948;" => "δ", - "&"."#949;" => "ε", - "&"."#950;" => "ζ", - "&"."#951;" => "η", - "&"."#952;" => "θ", - "&"."#953;" => "ι", - "&"."#954;" => "κ", - "&"."#955;" => "λ", - "&"."#956;" => "μ", - "&"."#957;" => "ν", - "&"."#958;" => "ξ", - "&"."#959;" => "ο", - "&"."#960;" => "π", - "&"."#961;" => "ρ", - "&"."#962;" => "ς", - "&"."#963;" => "σ", - "&"."#964;" => "τ", - "&"."#965;" => "υ", - "&"."#966;" => "φ", - "&"."#967;" => "χ", - "&"."#968;" => "ψ", - "&"."#969;" => "ω", - "&"."#977;" => "ϑ", - "&"."#978;" => "ϒ", - "&"."#982;" => "ϖ", - "&"."#8194;" => " ", - "&"."#8195;" => " ", - "&"."#8201;" => " ", - "&"."#8204;" => "‌", - "&"."#8205;" => "‍", - "&"."#8206;" => "‎", - "&"."#8207;" => "‏", - "&"."#8211;" => "–", - "&"."#8212;" => "—", - "&"."#8216;" => "‘", - "&"."#8217;" => "’", - "&"."#8218;" => "‚", - "&"."#8220;" => "“", - "&"."#8221;" => "”", - "&"."#8222;" => "„", - "&"."#8224;" => "†", - "&"."#8225;" => "‡", - "&"."#8226;" => "•", - "&"."#8230;" => "…", - "&"."#8240;" => "‰", - "&"."#8242;" => "′", - "&"."#8243;" => "″", - "&"."#8249;" => "‹", - "&"."#8250;" => "›", - "&"."#8254;" => "‾", - "&"."#8260;" => "⁄", - "&"."#8364;" => "€", - "&"."#8465;" => "ℑ", - "&"."#8472;" => "℘", - "&"."#8476;" => "ℜ", - "&"."#8482;" => "™", - "&"."#8501;" => "ℵ", - "&"."#8592;" => "←", - "&"."#8593;" => "↑", - "&"."#8594;" => "→", - "&"."#8595;" => "↓", - "&"."#8596;" => "↔", - "&"."#8629;" => "↵", - "&"."#8656;" => "⇐", - "&"."#8657;" => "⇑", - "&"."#8658;" => "⇒", - "&"."#8659;" => "⇓", - "&"."#8660;" => "⇔", - "&"."#8704;" => "∀", - "&"."#8706;" => "∂", - "&"."#8707;" => "∃", - "&"."#8709;" => "∅", - "&"."#8711;" => "∇", - "&"."#8712;" => "∈", - "&"."#8713;" => "∉", - "&"."#8715;" => "∋", - "&"."#8719;" => "∏", - "&"."#8721;" => "∑", - "&"."#8722;" => "−", - "&"."#8727;" => "∗", - "&"."#8730;" => "√", - "&"."#8733;" => "∝", - "&"."#8734;" => "∞", - "&"."#8736;" => "∠", - "&"."#8743;" => "∧", - "&"."#8744;" => "∨", - "&"."#8745;" => "∩", - "&"."#8746;" => "∪", - "&"."#8747;" => "∫", - "&"."#8756;" => "∴", - "&"."#8764;" => "∼", - "&"."#8773;" => "≅", - "&"."#8776;" => "≈", - "&"."#8800;" => "≠", - "&"."#8801;" => "≡", - "&"."#8804;" => "≤", - "&"."#8805;" => "≥", - "&"."#8834;" => "⊂", - "&"."#8835;" => "⊃", - "&"."#8836;" => "⊄", - "&"."#8838;" => "⊆", - "&"."#8839;" => "⊇", - "&"."#8853;" => "⊕", - "&"."#8855;" => "⊗", - "&"."#8869;" => "⊥", - "&"."#8901;" => "⋅", - "&"."#8968;" => "⌈", - "&"."#8969;" => "⌉", - "&"."#8970;" => "⌊", - "&"."#8971;" => "⌋", - "&"."#9001;" => "⟨", - "&"."#9002;" => "⟩", - "&"."#9674;" => "◊", - "&"."#9824;" => "♠", - "&"."#9827;" => "♣", - "&"."#9829;" => "♥", - "&"."#9830;" => "♦" - ); - - - reset($ISO10646XHTMLTrans); -// while(list($UnicodeChar, $XHTMLEquiv) = each($ISO10646XHTMLTrans)) { - foreach($ISO10646XHTMLTrans as $UniccideChar => $XHTMLEquiv) - { - $content = str_replace($UnicodeChar, $XHTMLEquiv, $content); - } - - // $content = html_entity_decode($content, ENT_COMPAT, 'UTF-8'); - - // return translated - return($content); - } - /** @deprecated */ function html_entity_decode_utf8($string) { diff --git a/www/pages/exportvorlage.php b/www/pages/exportvorlage.php index 3ee74c1b5..d4cfc5e28 100644 --- a/www/pages/exportvorlage.php +++ b/www/pages/exportvorlage.php @@ -1,4 +1,4 @@ - +*/ +?> app->erp->fixeUmlaute($value); + $value = $this->app->String->fixeUmlaute($value); foreach($notFounds as $key => $notFound) { if(strpos($value, $notFound) !== false) { unset($notFounds[$key]); @@ -1053,7 +1053,7 @@ function Exportinner($row,&$exportdatenmaskierung,&$exporttrennzeichen, &$intern foreach($row as $value) { - $value = $this->app->erp->fixeUmlaute($value); + $value = $this->app->String->fixeUmlaute($value); // ersetzte platzhalter foreach($replaces as $k => $v) { $value = str_replace($k, $params[$v], $value); diff --git a/www/pages/shopimport.php b/www/pages/shopimport.php index 5a430d8e7..4b631a71d 100644 --- a/www/pages/shopimport.php +++ b/www/pages/shopimport.php @@ -1010,7 +1010,7 @@ public function importShopOrder($shopImportedOrderId, $utf8coding, $customerNumb foreach ($shopOrderCleaned as $k => $v) { if (!is_array($v)) { - $shopOrderCleaned[$k] = $this->app->erp->fixeUmlaute($v); + $shopOrderCleaned[$k] = $this->app->String->fixeUmlaute($v); } } $umlautefehler = false; @@ -1512,7 +1512,7 @@ public function getCustomerNumberFromShopCart($arr) { } } foreach ($warenkorb as $k => $v) { - $warenkorb[$k] = $this->app->erp->fixeUmlaute($v); + $warenkorb[$k] = $this->app->String->fixeUmlaute($v); } $kundenurvonprojekt = $this->app->DB->Select("SELECT kundenurvonprojekt FROM shopexport WHERE id = '" . $arr['shopid'] . "' LIMIT 1"); @@ -1659,7 +1659,7 @@ public function drawShopOrderTable($deletedRows) { } } foreach ($warenkorb as $k => $v) { - $warenkorb[$k] = $this->app->erp->fixeUmlaute($v); + $warenkorb[$k] = $this->app->String->fixeUmlaute($v); } $kundenurvonprojekt = $this->app->DB->Select("SELECT kundenurvonprojekt FROM shopexport WHERE id = '" . $arr[$i]['shopid'] . "' LIMIT 1"); $adresseprojekt = ''; From 982a33c9798846991a20810aa4166e0301aeda9b Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Wed, 11 Mar 2026 10:48:42 +0100 Subject: [PATCH 14/15] Remove outdated property annotations, redundant methods, and deprecated logic from application and configuration files. Streamline type declarations and clean up unnecessary comments. --- conf/main.conf.php | 27 +++++++++++---------------- conf/main.conf.php.tpl | 26 +++++++++++--------------- phpwf/class.application.php | 27 --------------------------- phpwf/class.application_core.php | 6 ++---- 4 files changed, 24 insertions(+), 62 deletions(-) diff --git a/conf/main.conf.php b/conf/main.conf.php index b9d2aa84a..aa10d5f20 100644 --- a/conf/main.conf.php +++ b/conf/main.conf.php @@ -1,26 +1,22 @@ updateHost = getenv('XENTRAL_UPDATE_HOST') ?: 'removed.upgrade.host'; - - include("user.inc.php"); + include('user.inc.php'); - if (!isset($this->WFdbport) || empty($this->WFdbport)) { + if (empty($this->WFdbport)) { $this->WFdbport = 3306; } @@ -28,7 +24,6 @@ public function __construct() $this->WFconf['defaultpage'] = 'adresse'; $this->WFconf['defaultpageaction'] = 'list'; $this->WFconf['defaulttheme'] = 'new'; - //$this->WFconf['defaulttheme'] = 'default_redesign'; $this->WFconf['defaultgroup'] = 'web'; // allow that cols where dynamically added so structure diff --git a/conf/main.conf.php.tpl b/conf/main.conf.php.tpl index dd1d1cc0a..74edf92b4 100644 --- a/conf/main.conf.php.tpl +++ b/conf/main.conf.php.tpl @@ -1,32 +1,28 @@ WFdbport) || empty($this->WFdbport)) { - $this->WFdbport = 3306; + if (empty($this->WFdbport)) { + $this->WFdbport = 3306; } // define defaults $this->WFconf['defaultpage'] = 'adresse'; $this->WFconf['defaultpageaction'] = 'list'; $this->WFconf['defaulttheme'] = 'new'; - //$this->WFconf['defaulttheme'] = 'default_redesign'; $this->WFconf['defaultgroup'] = 'web'; // allow that cols where dynamically added so structure diff --git a/phpwf/class.application.php b/phpwf/class.application.php index b75f4353e..2bfddc60f 100644 --- a/phpwf/class.application.php +++ b/phpwf/class.application.php @@ -65,24 +65,6 @@ function WithGUI($first = false) include dirname(__DIR__).'/phpwf/htmltags/all.php'; } -/** - * @property Config $Conf - * @property Secure $Secure - * @property TemplateParser $Tpl - * @property FormHandler $FormHandler - * @property WidgetAPI $Widget - * @property PageBuilder $PageBuilder - * @property Page $Page - * @property ObjectAPI $ObjAPI - * @property WFMonitor $WFM - * @property ModuleScriptCache $ModuleScriptCache - * @property YUI $YUI - * @property User $User - * @property Acl $acl - * @property phpWFAPI $WF - * @property WawiString $String - * @property DB $DB - */ class Application extends ApplicationCore { @@ -98,15 +80,6 @@ public function __construct($config) { parent::__construct($config); - /*if(!isset($_GET['module']) || $_GET['module'] != 'api') { - if(!(isset($_GET['module']) && isset($_GET['action']) && isset($_GET['cmd']) && $_GET['module'] == 'welcome' && (($_GET['action'] == 'login' && $_GET['cmd'] == 'checkrfid') || $_GET['action'] == 'cronjob' || $_GET['action'] == 'adapterbox'))) { - // @session_cache_limiter('private'); - //@session_start(); - } - }*/ - - $this->Conf= $config; - if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on'){ $this->http = 'https'; } diff --git a/phpwf/class.application_core.php b/phpwf/class.application_core.php index 263616ad0..ca1d286a6 100644 --- a/phpwf/class.application_core.php +++ b/phpwf/class.application_core.php @@ -14,6 +14,7 @@ ?> array('class'=>'YUI','app'=>true), 'String'=>array('class'=>'WawiString'), 'FormHandler'=>array('class'=>'FormHandler','app'=>true), - 'Table'=>array('class'=>'Table','app'=>true), 'WF'=>array('class'=>'phpWFAPI','app'=>true), 'WFM'=>array('class'=>'WFMonitor','app'=>true), 'Secure'=>array('class'=>'Secure','app'=>true), From afb67156893240a11cbc8860f03bf85a1247e1b2 Mon Sep 17 00:00:00 2001 From: Andreas Palm Date: Wed, 11 Mar 2026 11:05:40 +0100 Subject: [PATCH 15/15] Remove unused `phpWFAPI` and `WFMonitor` classes along with related references --- phpwf/class.application.php | 2 - phpwf/class.application_core.php | 4 - phpwf/plugins/class.phpwfapi.php | 144 -------------------------- phpwf/plugins/class.wfmonitor.php | 44 -------- vendor/composer/autoload_classmap.php | 2 - vendor/composer/autoload_static.php | 2 - 6 files changed, 198 deletions(-) delete mode 100644 phpwf/plugins/class.phpwfapi.php delete mode 100644 phpwf/plugins/class.wfmonitor.php diff --git a/phpwf/class.application.php b/phpwf/class.application.php index 2bfddc60f..03fa70f89 100644 --- a/phpwf/class.application.php +++ b/phpwf/class.application.php @@ -98,14 +98,12 @@ public function __construct($config) $this->PageBuilder = new PageBuilder($this); $this->Page = new Page($this); $this->ObjAPI = new ObjectAPI($this); - $this->WFM = new WFMonitor($this); $this->ModuleScriptCache = new ModuleScriptCache(); } //$this->YUI = new YUI($this); //$this->User = new User($this); //$this->acl = new Acl($this); - //$this->WF = new phpWFAPI($this); //$this->String = new WawiString(); $this->BuildNavigation = true; diff --git a/phpwf/class.application_core.php b/phpwf/class.application_core.php index ca1d286a6..a277a0c02 100644 --- a/phpwf/class.application_core.php +++ b/phpwf/class.application_core.php @@ -24,8 +24,6 @@ * @property YUI $YUI * @property WawiString $String * @property FormHandler $FormHandler - * @property phpWFAPI $WF - * @property WFMonitor $WFM * @property Secure $Secure * @property PHPMailer $mail * @property StringCleaner $stringcleaner @@ -69,8 +67,6 @@ public function __construct($config = null) 'YUI'=>array('class'=>'YUI','app'=>true), 'String'=>array('class'=>'WawiString'), 'FormHandler'=>array('class'=>'FormHandler','app'=>true), - 'WF'=>array('class'=>'phpWFAPI','app'=>true), - 'WFM'=>array('class'=>'WFMonitor','app'=>true), 'Secure'=>array('class'=>'Secure','app'=>true), 'mail'=>array('class'=>'PHPMailer','app'=>true), 'stringcleaner'=>array('class'=>'StringCleaner','app'=>true), diff --git a/phpwf/plugins/class.phpwfapi.php b/phpwf/plugins/class.phpwfapi.php deleted file mode 100644 index 6e5287cab..000000000 --- a/phpwf/plugins/class.phpwfapi.php +++ /dev/null @@ -1,144 +0,0 @@ - -app=&$app; - } - - function ReBuildPageFrame() - { - $this->app->Tpl->ResetParser(); - $this->BuildPageFrame(); - } - - - function BuildPageFrame() - { - $this->app->Tpl->ReadTemplatesFromPath(__DIR__."/../defaulttemplates/"); - - // build template tree - $this->app->Page->LoadTheme($this->app->WFconf['defaulttheme']); - - if($this->app->User->GetType()=="") - $this->app->Page->CreateNavigation($this->app->WFconf['menu'][$this->app->WFconf['defaultgroup']]); - else - $this->app->Page->CreateNavigation($this->app->WFconf['menu'][$this->app->User->GetType()]); - - // start acutally application instance - $this->app->Tpl->ReadTemplatesFromPath("pages/content/_gen"); - $this->app->Tpl->ReadTemplatesFromPath("pages/content/"); - } - - - function StartRequestedCommand() - { - $defaultpage = $this->app->WFconf['defaultpage']; - $defaultpageaction = $this->app->WFconf['defaultpageaction']; - - $module = $this->app->Secure->GetGET('module','alpha'); - $action = $this->app->Secure->GetGET('action','alpha'); - - if(!file_exists("pages/".$module.".php")) - $module = $defaultpage; - - if($action=="") - $action = $defaultpageaction; - - if(!$this->app->acl->Check($this->app->User->GetType(),$module,$action)) - return; - - - // start module - if(file_exists("pages/".$module.".php")) - { - include("pages/".$module.".php"); - //create dynamical an object - $constr=strtoupper($module[0]).substr($module, 1); - $myApp = new $constr($this->app); - } - else - { - echo $this->app->WFM->Error("Module $module doesn't exists in pages/"); - - } - $this->app->acl->CheckTimeOut(); - } - - /// mit dem "erstellen Formular" einfach bearbeiten liste + formular anzeigen - function EasyTableList($tablename,$cols,$parsetarget,$pkname,$delmsg,$delmsgcol) - { - // show list - - // create html table - $table = new HTMLTable("0","100%"); - $table->AddRowAsHeading($cols); - - $all = $this->app->DB->SelectTable($tablename,$cols); - - $table->AddField($all); - - $action = $this->app->Secure->GetGET("action","alpha"); - $module = $this->app->Secure->GetGET("module","alpha"); - - $table->AddCompleteCol(0, - "bearbeiten"); - - $table->AddCompleteCol(0, - " - loeschen",$delmsgcol); - - $table->ChangingRowColors('#ffffff','#dddddd'); - - $this->app->Tpl->Set($parsetarget,$table->Get()); - } - - function Message($msg,$parsetarget='MSGBOX') - { - $this->app->Tpl->Add('MSGBOXTEXT',$msg); - $this->app->Tpl->Parse($parsetarget,"messagebox.tpl"); - } - // emailvorlage aus db senden - - function EmailFromTemplate($template,$to,$values) - { - $betreff = $this->app->DB->Select("SELECT betreff - FROM emailvorlagen WHERE name='$template' LIMIT 1"); - - $nachricht = $this->app->DB->Select("SELECT nachricht - FROM emailvorlagen WHERE name='$template' LIMIT 1"); - - if(count($values) > 0) - { - foreach($values as $key=>$value) - { - $nachricht = str_replace("%".$key."%",$value,$nachricht); - $betreff = str_replace("%".$key."%",$value,$betreff); - } - } - - $nachricht = str_replace('#BR#',"\n",$nachricht); - mail($to,$betreff,$nachricht,"From: ActConnect Team "); - - } -} -?> diff --git a/phpwf/plugins/class.wfmonitor.php b/phpwf/plugins/class.wfmonitor.php deleted file mode 100644 index e79ab0116..000000000 --- a/phpwf/plugins/class.wfmonitor.php +++ /dev/null @@ -1,44 +0,0 @@ - -app = &$app; - } - - - function Error($msg) - { - $this->ErrorBox($msg); - } - - - - function ErrorBox($content) - { - $box = " - - -
phpWebFrame Error: $content
"; - - echo $box; - } -} -?> diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index a448f3ca1..3e84d83ff 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2283,7 +2283,6 @@ 'Versandart_go' => $baseDir . '/www/lib/versandarten/go.php', 'Versandart_sendcloud' => $baseDir . '/www/lib/versandarten/sendcloud.php', 'VersandpaketscheinPDF' => $baseDir . '/www/lib/dokumente/class.versandpaketschein.php', - 'WFMonitor' => $baseDir . '/phpwf/plugins/class.wfmonitor.php', 'WaWisionOTP' => $baseDir . '/phpwf/plugins/class.wawision_otp.php', 'WawiString' => $baseDir . '/phpwf/plugins/class.string.php', 'Webmozart\\Assert\\Assert' => $vendorDir . '/webmozart/assert/src/Assert.php', @@ -4085,6 +4084,5 @@ 'lfkeitel\\phptotp\\Base32' => $vendorDir . '/lfkeitel/phptotp/src/Base32.php', 'lfkeitel\\phptotp\\Hotp' => $vendorDir . '/lfkeitel/phptotp/src/Hotp.php', 'lfkeitel\\phptotp\\Totp' => $vendorDir . '/lfkeitel/phptotp/src/Totp.php', - 'phpWFAPI' => $baseDir . '/phpwf/plugins/class.phpwfapi.php', 'phpprint' => $baseDir . '/www/plugins/php-print.php', ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index f41fba1b5..6a3f72664 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -2572,7 +2572,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'Versandart_go' => __DIR__ . '/../..' . '/www/lib/versandarten/go.php', 'Versandart_sendcloud' => __DIR__ . '/../..' . '/www/lib/versandarten/sendcloud.php', 'VersandpaketscheinPDF' => __DIR__ . '/../..' . '/www/lib/dokumente/class.versandpaketschein.php', - 'WFMonitor' => __DIR__ . '/../..' . '/phpwf/plugins/class.wfmonitor.php', 'WaWisionOTP' => __DIR__ . '/../..' . '/phpwf/plugins/class.wawision_otp.php', 'WawiString' => __DIR__ . '/../..' . '/phpwf/plugins/class.string.php', 'Webmozart\\Assert\\Assert' => __DIR__ . '/..' . '/webmozart/assert/src/Assert.php', @@ -4374,7 +4373,6 @@ class ComposerStaticInit79eff8c373a8f453cf73098a3a8ce631 'lfkeitel\\phptotp\\Base32' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Base32.php', 'lfkeitel\\phptotp\\Hotp' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Hotp.php', 'lfkeitel\\phptotp\\Totp' => __DIR__ . '/..' . '/lfkeitel/phptotp/src/Totp.php', - 'phpWFAPI' => __DIR__ . '/../..' . '/phpwf/plugins/class.phpwfapi.php', 'phpprint' => __DIR__ . '/../..' . '/www/plugins/php-print.php', );