Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php interface {function ($,$,...$);}class {private $observers;public function ($,...$){i..
Decoded Output download
<?php interface {function ($,$,...$);}class {private $observers;public function ($,...$){if(!empty($this->observers)){foreach($this->observers as $observer){call_user_func_array(array($observer,""),array_merge(array($this,$),$));}}}public function ( $){if($this->observers===null){$this->observers=array();}if(!empty($)){if(array_search($,$this->observers)===false){$this->observers[]=$;}}}public function ( $){if($this->observers===null){return null;}if(!empty($)){$index=array_search($,$this->observers);if($index!==false){unset($this->observers[$index]);}}}}abstract class {protected function __construct($index,$name){$this->name=$name;$this->index=$index;}protected static $data;protected static $values;private $name;private $index;public function __toString(){return $this->name;}public function getIndex(){return $this->index;}public function getName(){return $this->name;}public function __get($name){$tempName=mb_strtolower($name);switch($tempName){case "name":return $this->getName();break;case "":return $this->getName();break;case "index":return $this->getIndex();break;case "":return $this->getIndex();break;}return null;}protected abstract function enumValues();protected static function&getData(){$className=get_called_class();if(::$data==null){::$data=array();}if(::$data[$className]==null){::$data[$className]=array('data'=>$className::enumValues(),'values'=>array());}return ::$data[$className];}public static function Values(){$tempData=&self::getData()['data'];$result=array();foreach($tempData as $tempVal){$result[]=$tempVal[0];}return $result;}public static function Parse($name){$tempData=&self::getData();if($tempData==null){return null;}$className=get_called_class();$count=count($tempData['data']);for($i=0;$i<$count;$i++){$tempDataBlock=&$tempData['data'][$i];foreach($tempDataBlock as $tempVal){if(mb_strtolower($name)==mb_strtolower($tempVal)){if($tempData['values'][$i]==null){$tempData['values'][$i]=new $className($i,$tempDataBlock[0]);}return $tempData['values'][$i];}}}return null;}public static function GetByIndex($index){$tempData=&self::getData();if($tempData==null){return null;}$className=get_called_class();if($tempData['data'][$index]!=null){if($tempData['values'][$index]==null){$tempData['values'][$index]=new $className($index,$tempData['data'][$index][0]);}return $tempData['values'][$index];}return null;}public static function (){return self::Values();}public static function ($){return self::Parse($);}public static function ($){return self::GetByIndex($);}public static function __callStatic($name,$arguments){return self::Parse($name);}}abstract class ValueBase{function __construct(){}public $Name;const NS_XS="http://www.w3.org/2001/XMLSchema";const NS_BROM="https://brom.itworks.group";public static function From($val){if(is_null($val)){return new ValueNull();}$type=gettype($val);switch($type){case 'string':return new ValueString($val);break;case 'integer':case 'float':case 'double':return new ValueNumber($val);break;case 'boolean':return new ValueBoolean($val);break;case 'array':return new ValueArray($val);break;case 'object':$className=get_class($val);if($val instanceof DateTime){return new ValueDate($val);}elseif($val instanceof ){return new ValueArray($val);}elseif($val instanceof ){return new ValueStruct($val);}elseif($val instanceof ){return new ValueMap($val);}elseif($val instanceof DBNull){return new ValueDBNull($val);}elseif($val instanceof ){return new ValueBinaryData($val);}elseif($val instanceof ){return new ValueStorage($val);}elseif($val instanceof ){return new ValueGuid($val);}elseif($val instanceof ){return new ValueObjectRef($val);}elseif($val instanceof ){return new ValueEnumRef($val);}elseif($val instanceof ){return new ValueTable($val);}elseif($val instanceof ){return new ValueTable($val->());}elseif($val instanceof ){return new ValueTree($val);}elseif($val instanceof ){return new ValueKeyValue($val);}elseif($val instanceof ){return new ValueAccumulationRecordType($val);}elseif($val instanceof ){return new ValueAccountingRecordType($val);}elseif($val instanceof ){return new ValueAccountType($val);}elseif($val instanceof ){return new ValueType($val);}elseif($val instanceof ){return new ValueTypeDescription($val);}elseif($val instanceof ){return new ValuePointInTime($val);}elseif($val instanceof ){return new ValueBoundary($val);}break;}throw new Exception(" .");}public static function SoapValue($type,$val){return new SoapVar($val,SOAP_ENC_OBJECT,$type,ValueBase::NS_BROM);}public abstract function GetValue($=null);}abstract class ValueSimple extends ValueBase{function __construct($val=null){$this->Value=$val;}public $Value;}abstract class ValueSystemEnum extends ValueBase{public $Value;}abstract class ValueStructured extends ValueBase{public $Property;public function ToStruct($client=null){$result=new ();if($this->Property!=null){foreach($this->Property as $property){$result->($property->Name,$property->GetValue($client));}}return $result;}public function ToTree($client=null){$=new ();$->->("");$->->("");$this->PropertyToTreeRow($this->Property,$->(),$client);return $;}private function PropertyToTreeRow($properties,$,$client){if($properties!=null){foreach($properties as $property){$=$->();$->=$property->Name;$->=$property->GetValue($client);if($property instanceof ValueStructured){$this->PropertyToTreeRow($property->Property,$->(),$client);}}}}}abstract class ValueDataSet extends ValueBase{function __construct($collection=null){$this->Column=array();$this->Row=array();if($collection!=null){if($collection instanceof ){foreach($collection-> as $){$this->Column[]=ValueBase::SoapValue("DataTableColumn",array('Name'=>$->()));}}else{throw new Exception(" .");}}}public $Column;public $Row;}abstract class ValueRef extends ValueStructured{public $Type;public $Presentation;}class ValueNull extends ValueBase{public function GetValue($client=null){return null;}}class ValueDBNull extends ValueBase{public function GetValue($client=null){return new DBNull();}}class ValueString extends ValueSimple{function __construct($val=null){$this->Value=strval($val);}public function GetValue($client=null){return strval($this->Value);}}class ValueBoolean extends ValueSimple{function __construct($val=null){$this->Value=boolval($val);}public function GetValue($=null){return boolval($this->Value);}}class ValueNumber extends ValueSimple{function __construct($val=null){$this->Value=floatval($val);}public function GetValue($client=null){return floatval($this->Value);}}class ValueDate extends ValueSimple{function __construct($val=null){$dateTime=$val?$val:new DateTime();$this->Value=$dateTime->format('c');}public function GetValue($=null){return new ($this->Value);}}class ValueArray extends ValueBase{function __construct($items=null){$this->Item=array();if($items instanceof ||is_array($items)){foreach($items as $value){$this->Item[]=ValueBase::From($value);}}}public $Item;public function GetValue($client=null){$result=new ();foreach($this->Item as $val){$result->($val->GetValue($client));}return $result;}}class ValueStruct extends ValueStructured{function __construct($val=null){$this->Property=array();if($val instanceof ){foreach($val as $key=>$value){$prop=ValueBase::From($value);$prop->Name=$key;$this->Property[]=$prop;}}}public function GetValue($client=null){$result=new ();if($this->Property){foreach($this->Property as $prop){$result->($prop->Name,$prop->GetValue($client));}}return $result;}}class ValueMap extends ValueBase{function __construct($items=null){$this->KeyValue=array();if($items instanceof ){foreach($items as $key=>$value){$this->KeyValue[]=array('Key'=>ValueBase::From($key),'Value'=>ValueBase::From($value));}}}public $KeyValue;public function GetValue($client=null){$result=new ();foreach($this->KeyValue as $keyVal){$result->($keyVal->Key->GetValue($client),$keyVal->Value->GetValue($client));}return $result;}}class ValueKeyValue extends ValueBase{function __construct($val=null){$this->Key=ValueBase::From($val->);$this->Value=ValueBase::From($val->);}public $Key;public $Value;public function GetValue($=null){return new ($this->Key->GetValue($),$this->Value->GetValue($));}}class ValueTable extends ValueDataSet{function __construct($table=null){parent::__construct($table);if($table!=null){if($table instanceof ){foreach($table as $){$values=array();foreach($table-> as $){$property=ValueBase::From($[$->()]);$property->Name=$->();$values[]=$property;}$this->Row[]=ValueBase::SoapValue("DataTableRow",array('Property'=>$values));}}else{throw new Exception(" .");}}}public function GetValue($client=null){$result=new ();if(!empty($this->Column)){foreach($this->Column as $column){$result->->($column->Name);}}if(!empty($this->Row)){foreach($this->Row as $row){$temRow=$result->();if($row->Property!=null){foreach($row->Property as $property){$temRow[$property->Name]=$property->GetValue($client);}}}}return $result;}}class ValueTree extends ValueDataSet{function __construct($tree=null){parent::__construct($tree);if(!empty($tree)){if($tree instanceof ){$=&$tree->();$this->AddRowsSOAP($tree,$this->Row,$);}else{throw new Exception(" .");}}}public function GetValue($client=null){$result=new ();if(!empty($this->Column)){foreach($this->Column as $column){$result->->($column->Name);}}$=&$result->();$this->AddRows($,$this->Row,$client);return $result;}private function AddRowsSOAP($tree,&$rowsSOAP,&$rows){foreach($rows as $currentRow){$properties=array();foreach($tree-> as $column){$property=ValueBase::From($currentRow[$column->()]);$property->Name=$column->();$properties[]=$property;}$childRows=null;if($currentRow->()->()>0){$childRows=array();$=&$currentRow->();$this->AddRowsSOAP($tree,$childRows,$);}$rowSOAP=ValueBase::SoapValue("DataTableRow",array('Property'=>$properties,'Row'=>$childRows));$rowsSOAP[]=$rowSOAP;}}private function AddRows(&$rows,&$rowsSOAP,$client){if(empty($rowsSOAP)){return;}foreach($rowsSOAP as $rowSOAP){$currentRow=$rows->();if(!empty($rowSOAP->Property)){foreach($rowSOAP->Property as $property){$currentRow[$property->Name]=$property->GetValue($client);}}$=&$currentRow->();$this->AddRows($,$rowSOAP->Row,$client);}}}class ValueBinaryData extends ValueBase{function __construct($val=null){$this->Value=$val?$val->():"";}public $Value;public function GetValue($client=null){return new ($this->Value);}}class ValueStorage extends ValueBase{function __construct($data=null){$this->Data=ValueBase::From($data->());}public $Data;public function GetValue($client=null){return new ($this->Data->GetValue());}}class ValueGuid extends ValueBase{function __construct($val=null){$this->Value=strval($val);}public $Value;public function GetValue($=null){return new ($this->Value);}}class ValueEnumRef extends ValueRef{function __construct($value=null){$this->Type=$value!=null?$value->():"";$this->Value=$value->();}public $Value;public function GetValue($=null){if(!empty($)){return $->()->($this->Type,$this->Value,$this->Presentation);}throw new Exception(" .");}}class ValueObjectRef extends ValueRef{function __construct($value=null){$this->Type=$value!=null?$value->():"";$this->Value=$value!=null?strval($value->()):"";}public $Value;public function GetValue($=null){if($!=null){$=$->()->($this->Type,new ($this->Value));}else{throw new Exception(" .");}if($this->Presentation!=null){$->()->($,$this->Presentation);}if($this->Property!=null){$->()->SOAP($,$this->Property);}return $;}}class ValueAccumulationRecordType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueAccountingRecordType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueAccountType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueNonserializable extends ValueBase{public function GetValue($client=null){return new ();}}class ValueType extends ValueBase{function __construct($value=null){if(!empty($value)){$this->Value=$value->Xml();$this->Namespace=$value->Xml();if(mb_strtolower($this->Namespace)=="http://www.w3.org/2001/XMLSchema"){$this->Namespace=::XMLXmlSchema();}else if(mb_strtolower($this->Namespace)=="http://v8.1c.ru/data"){$this->Namespace=::XML1C();}}}public $Value;public $Namespace;public function GetValue($client=null){$ns=mb_strtolower($this->Namespace);if($ns==::XMLXmlSchema()){$ns="http://www.w3.org/2001/XMLSchema";}else if($ns==::XML1C()){$ns="http://v8.1c.ru/data";}return new ($this->Value,$ns);}}class ValueTypeDescription extends ValueBase{function __construct($value=null){$this->Item=array();if(!empty($value)){$=$value->();foreach($ as $){$this->Item[]=new ValueType($);}$this->NumberQualifiers=$value->()!=null?new NumberQualifiers($value->()):null;$this->StringQualifiers=$value->()!=null?new StringQualifiers($value->()):null;$this->DateQualifiers=$value->()!=null?new DateQualifiers($value->()):null;$this->BinaryDataQualifiers=$value->()!=null?new BinaryDataQualifiers($value->()):null;}}public $Item;public $NumberQualifiers;public $StringQualifiers;public $DateQualifiers;public $BinaryDataQualifiers;public function GetValue($client=null){$types=array();if(!empty($this->Item)){foreach($this->Item as $typeItem){$types[]=$typeItem->GetValue($client);}}return new ($types,$this->NumberQualifiers!=null?$this->NumberQualifiers->GetValue($client):null,this.StringQualifiers!=null?$this->StringQualifiers->GetValue():null,this.DateQualifiers!=null?$this->DateQualifiers->GetValue():null,this.BinaryDataQualifiers!=null?$this->BinaryDataQualifiers->GetValue():null);}}class ValuePointInTime extends ValueBase{function __construct($val=null){$this->Date=$val->()->format("c");$this->Ref=new ValueObjectRef($val->());}public $Date;public $Ref;public function GetValue($=null){return new (new ($this->Date),$this->Ref->GetValue($));}}class ValueBoundary extends ValueBase{function __construct($val=null){$this->Value=ValueBase::From($val->());$this->Type=$val->()->getName();}public $Value;public $Type;public function GetValue($=null){$curValue=$this->Value->GetValue($);$boundaryType=::($this->Type);return new ($curValue,$boundaryType);}}class StringQualifiers{function __construct($){$this->Length=$->();$this->AllowedLength=$->()->getName();}public $Length;public $AllowedLength;public function GetValue(){return new (intval($this->Length),::($this->AllowedLength));}}class NumberQualifiers{function __construct($){$this->Digits=$->();$this->FractionDigits=$->();$this->OnlyPositive=$->()==::();}public $Digits;public $FractionDigits;public $OnlyPositive;public function GetValue(){return new (intval($this->Digits),intval($this->FractionDigits),$this->OnlyPositive?::():::());}}class DateQualifiers{function __construct($){$this->DateFractions=$->()->getName();}public $DateFractions;public function GetValue(){return new (::($this->DateFractions));}}class BinaryDataQualifiers{function __construct($){$this->Length=$->();$this->AllowedLength=$->()->getName();}public $Length;public $AllowedLength;public function GetValue(){return new (intval($this->Length),::($this->AllowedLength));}}abstract class MetadataNode{function __construct(){}public $Name;public $FullName;public $Title;public function GetValue($){return null;}}class MetadataModule extends MetadataNode{function __construct(){}public function GetValue($){return new ($,$this);}}class MetadataCollection extends MetadataNode{function __construct(){}public $Item;public $TotalObjectsCount;public $RequestedObjectsCount;public $PackObjectsCount;public function GetValue($){return new ($,$this);}}class MetadataAttribute extends MetadataNode{function __construct(){}public function GetValue($){return new ($,$this);}}class MetadataTableSection extends MetadataNode{function __construct(){}public $Attribute;public function GetValue($){return new ($,$this);}}class MetadataObject extends MetadataNode{function __construct(){}public $CollectionType;public $Attribute;public $TableSection;public $Predefined;public function GetValue($){return new ($,$this);}}class MetadataApplication extends MetadataNode{function __construct(){}public $Collection;public $TotalObjectsCount;public $RequestedObjectsCount;public $PackSize;public $PackIndex;public function GetValue($){return new ($,$this);}}class PostObject_Settings{function __construct($,$,$,$){$this->AdditionalProperties=ValueBase::From($);$this->ExchangeLoadMode=boolval($);$this->DocumentWriteMode=$!=null?$->getName():null;$this->DocumentPostingMode=$!=null?$->getName():null;}public $AdditionalProperties;public $ExchangeLoadMode;public $DocumentWriteMode;public $DocumentPostingMode;}class extends DateTime{public function __toString(){return $this->format("c");}}class extends ArrayObject{function __construct(...$){foreach($ as $){$this->($);}$this->eventDispatcher=new ();}private $eventDispatcher;public function (){return $this->eventDispatcher;}public static function ($array){$result=new ();foreach($array as $val){$result->($val);}return $result;}public function (){$result=new ();foreach($this as $val){$result->($val);}return $result;}public function ToArray(){$result=array();foreach($this as $val){$result[]=$val;}return $result;}public function ($){$this->eventDispatcher->("");parent::append($);$this->eventDispatcher->("");}public function ($,$){if(gettype($)!="integer"){throw new InvalidArgumentException(". .");}$count=parent::count();if($<0||$>$count){throw new InvalidArgumentException(" .");}$this->eventDispatcher->("");for($i=$count;$i>$;$i--){parent::offsetSet($i,parent::offsetGet($i-1));}parent::offsetSet($,$);$this->eventDispatcher->("");}public function ($){$this->eventDispatcher->("");$this->offsetUnset($);$this->eventDispatcher->("");}public function (){$this->eventDispatcher->("");$iterator=parent::getIterator();foreach($iterator as $key=>$value){parent::offsetUnset($key);}$this->eventDispatcher->("");}public function ($){return $this->offsetGet($);}public function ($,$){$this->eventDispatcher->("");return $this->offsetSet($,$);$this->eventDispatcher->("");}public function (){return count($this);}public function ($){$iterator=parent::getIterator();foreach($iterator as $key=>$value){if($value===$){return $key;}}return null;}public function offsetGet($index){if(is_null($index)){return parent::offsetSet($index,$newVal);}if(gettype($index)!="integer"){throw new InvalidArgumentException(". .");}if($index<0||$index>=parent::count()){throw new InvalidArgumentException(" .");}return parent::offsetGet($index);}public function offsetSet($index,$newVal){if(is_null($index)){return parent::offsetSet($index,$newVal);}if(gettype($index)!="integer"){throw new InvalidArgumentException(". .");}if($index<0||$index>=parent::count()){throw new InvalidArgumentException(" .");}$this->eventDispatcher->("");parent::offsetSet($index,$newVal);$this->eventDispatcher->("");}public function offsetUnset($index){if(gettype($index)!="integer"||$index<0){throw new InvalidArgumentException(". . : {$index}");}$this->eventDispatcher->("");$count=$this->count();for($i=$index;$i<$count-1;$i++){parent::offsetSet($i,parent::offsetGet($i+1));}parent::offsetUnset($count-1);$this->eventDispatcher->("");}}class extends ArrayObject{function __construct($args=null){$argsCount=func_num_args();if($argsCount>=1){$strProps=func_get_arg(0);$props=explode(",",strval($strProps));$propsCount=count($props);for($i=0;$i<$propsCount;$i++){$this->(trim($props[$i]),$i+1<$argsCount?func_get_arg($i+1):null);}}}private static function isValidPropertyName($propName){return preg_match("/^[A-Za-z--_]{1}[A-Za-z--_0-9]*/",$propName);}public function ($,$=null){if(gettype($)!="string"||!::isValidPropertyName($)){throw new Exception(" . .");}$tempKey=mb_strtolower($);return parent::offsetSet($tempKey,array($,$));}public function ($,&$){$tempKey=mb_strtolower($);if(parent::offsetExists($tempKey)){$=$this->offsetGet($tempKey);return true;}return false;}public function ($){$tempKey=mb_strtolower($);parent::offsetUnset($tempKey);}public function (){$iterator=parent::getIterator();foreach($iterator as $key=>$value){parent::offsetUnset($key);}}public function (){return count($this);}public function offsetSet($key,$newVal){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);$tempVal=parent::offsetGet($tempKey);if(is_array($tempVal)){parent::offsetSet($tempKey,array($tempVal[0],$newVal));return;}throw new InvalidArgumentException(" '{$key}' .");}public function offsetGet($key){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);$tempVal=parent::offsetGet($tempKey);if(is_array($tempVal)){return $tempVal[1];}throw new InvalidArgumentException(" '{$key}' .");}public function offsetUnset($index){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);parent::offsetUnset($tempKey);}public function getIterator(){$iterator=parent::getIterator();foreach($iterator as $key=>$value){yield $value[0]=>$value[1];}}public function __get($name){return $this->offsetGet($name);}public function __set($name,$val){return $this->offsetSet($name,$val);}public function __isset($name){return $this->($name);}}class implements IteratorAggregate,ArrayAccess,Serializable,Countable{function __construct(){$this->keyValues=array();}private $keyValues;public function ($){return $this->offsetGet($);}public function ($,$){$this->offsetSet($,$);}public function ($){$this->offsetUnset($);}public function (){$this->keyValues=array();}public function (){return $this->count();}public function getIterator(){foreach($this->keyValues as $key=>$val){yield $val->=>$val->;}}public function offsetGet($offset){foreach($this->keyValues as $key=>$val){if($val->===$offset){return $val->;}}return null;}public function offsetSet($offset,$value){$tempKey=null;foreach($this->keyValues as $key=>$val){if($val->===$offset){$tempKey=$key;break;}}if($tempKey!==null){$this->keyValues[$key]=new ($offset,$value);}else{$this->keyValues[]=new ($offset,$value);}}public function offsetUnset($offset){$tempKey=null;foreach($this->keyValues as $key=>$val){if($val->===$offset){$tempKey=$key;break;}}if($tempKey!==null){unset($this->keyValues[$tempKey]);}}public function offsetExists($offset){foreach($this->keyValues as $key=>$val){if($val->===$offset){return true;}}return false;}public function count(){return count($this->keyValues);}public function serialize(){return serialize($this->keyValues);}public function unserialize($data){$this->keyValues=unserialize($data);}public function ToArray(){$result=array();foreach($this->keyValues as $key=>$val){$result[$val->]=$val->;}return $result;}public static function ($){$result=new ();foreach($ as $=>$){$result->($,$);}return $result;}}class DBNull{public function __toString(){return "";}}class {function __construct($,$){$this->key=$;$this->value=$;}private $key;private $value;public function __get($name){$strName=mb_strtolower($name);switch($strName){case '':return $this->key;case 'key':return $this->key;case '':return $this->value;case 'value':return $this->value;}return null;}public function __isset($name){$strName=mb_strtolower($name);switch($strName){case '':return isset($this->key);case 'key':return isset($this->key);case '':return isset($this->value);case 'value':return isset($this->value);}return false;}}class {function __construct($=null){$this->value=$;}private $value;public function (){return $this->value;}public static function ($){return new ($);}public static function ($){$data=file_get_contents($);return new ($data);}public function ($){file_put_contents($,$this->value);}}class {function __construct($){$this->data=$;}private $data;public function (){return $this->data;}}class {function __construct($=null){if($===null){$this->value=$this->generateNewString();}else{$tempVal=strtolower($);if(preg_match("/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/",$tempVal)){$this->value=$?strtolower($):$this->generateNewString();}else{throw new InvalidArgumentException(" . .");}}}private $value;private function generateNewString(){if(function_exists('com_create_guid')===true){return trim(com_create_guid(),'{}');}$data=openssl_random_pseudo_bytes(16);$data[6]=chr(ord($data[6])&0x0f|0x40);$data[8]=chr(ord($data[8])&0x3f|0x80);return vsprintf('%s%s-%s-%s-%s-%s%s%s',str_split(bin2hex($data),4));}public function (){return $this->value=="00000000-0000-0000-0000-000000000000";}public function __toString(){return $this->value;}public function ($){return $this->__toString()==strval($);}public static function (){return $this->generateNewString();}public static function (){return new ("00000000-0000-0000-0000-000000000000");}}class {function __construct($,$){$this->date=$;$this->reference=$;}private $date;private $reference;public function __toString(){return $this->date->format('c')."; ".strval($this->reference);}public function (){return $this->date;}public function (){return $this->reference;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='date'){return $this->date;}if($tempName==''||$tempName=='ref'){return $this->reference;}return null;}}class {function __construct($,$=null){$this->value=$;$this->boundaryType=$ instanceof ?$:::();}private $value;private $boundaryType;public function (){return $this->value;}public function (){return $this->boundaryType;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='value'){return $this->value;}if($tempName==''||$tempName=='boundarytype'){return $this->boundaryType;}return null;}public function __toString(){return get_class($this);}}class {function __construct($xml,$xml){$this->name=$xml;$this->nameSpace=$xml;}private $name;private $nameSpace;public function (){return $this->data;}public function Xml(){return $this->name;}public function Xml(){return $this->nameSpace;}public function __toString(){return $this->name;}public static function XMLXmlSchema(){return "#xs";}public static function XML1C(){return "#1c";}public static function (){return new ("string",::XMLXmlSchema());}public static function (){return new ("decimal",::XMLXmlSchema());}public static function (){return new ("dateTime",::XMLXmlSchema());}public static function (){return new ("boolean",::XMLXmlSchema());}public static function (){return new ("base64Binary",::XMLXmlSchema());}public static function (){return new ("ValueStorage",::XML1C());}public static function (){return new ("UUID",::XML1C());}public static function (){return new ("AccumulationMovementType",::XML1C());}public static function (){return new ("AccountingMovementType",::XML1C());}public static function (){return new ("AccountType",::XML1C());}public static function ($){return new ("CatalogRef.{$}","");}public static function ($){return new ("DocumentRef.{$}","");}public static function ($){return new ("EnumRef.{$}","");}public static function ($){return new ("ChartOfCharacteristicTypesRef.{$}","");}public static function ($){return new ("ChartOfAccountsRef.{$}","");}public static function ($){return new ("ChartOfCalculationTypesRef.{$}","");}public static function ($){return new ("BusinessProcessRef.{$}","");}public static function ($){return new ("TaskRef.{$}","");}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($,$=null,$=null,$=null,$=null){$this->types=$;$this->numberQualifiers=$;$this->stringQualifiers=$;$this->dateQualifiers=$;$this->binaryDataQualifiers=$;}private $types;private $stringQualifiers;private $numberQualifiers;private $dateQualifiers;private $binaryDataQualifiers;public function (){return $this->numberQualifiers;}public function (){return $this->stringQualifiers;}public function (){return $this->dateQualifiers;}public function (){return $this->binaryDataQualifiers;}public function (){return $this->types;}public function __toString(){return implode(", ",$this->types);}public function getIterator(){foreach($this->types as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->types[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return isset($this->types[$offset]);}public function count(){return count($this->types[$offset]);}}class extends {protected function enumValues(){return array(array("","Variable"),array("","Fixed"));}}class extends {protected function enumValues(){return array(array("","Any"),array("","Nonnegative"));}}class extends {protected function enumValues(){return array(array("","Time"),array("","Date"),array("","DateTime"));}}class extends {protected function enumValues(){return array(array("","Receipt"),array("","Expense"));}}class extends {protected function enumValues(){return array(array("","Debit"),array("","Credit"));}}class extends {protected function enumValues(){return array(array("","ActivePassive"),array("","Active"),array("","Passive"));}}class {function __construct($,$,$=null){if(!::IsPropertyNameValid($)){throw new Exception(" .");}$this->columnCollection=$;$this->name=$;$this->title=empty($)?$:$;}private $columnCollection;private $name;private $title;private static function IsPropertyNameValid($name){return preg_match("/^[A-Za-z--_]{1}[A-Za-z--_0-9]*/",$name);}public function (){return $this->name;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='name'){return $this->name;}}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='name'){$this->name=$value;}}public function __toString(){return $this->name;}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){$this->parentCollection=$;$this->columns=new ();}private $parentCollection;private $columns;public function ($,$=null){if($this->($)!=null){throw new Exception(" \"{$}\" .");}$column=new ($this,$,$);$this->columns->($column);}public function (){$=array();foreach($this->columns as $val){$[]=$val->();}return $;}public function OnColumnStartRename($column,$name){$this->parentCollection->OnColumnStartRename($column,$name);}public function OnColumnEndRename($column){$this->parentCollection->OnColumnEndRename($column,$name);}public function (){return $this->columns->();}public function ($,$,$=null){if($this->($)!=null){throw new Exception(" \"{$}\" .");}$column=new ($this,$,$);$this->columns->($,$column);}public function ($){$tempName=mb_strtolower($);foreach($this->columns as $column){if($tempName==mb_strtolower($column->())){return $column;}}return null;}public function ($){if(gettype($)=='integer'){$=$this->columns[$];$this->columns->($);$this->parentCollection->OnColumnDelete($);}elseif($ instanceof ){$=$this->columns->($);$this->($);}elseif(gettype($)=='string'){$=$this->($);if($!==null){$this->($);}}}public function getIterator(){foreach($this->columns as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->columns[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->columns->offsetExists($offset);}public function count(){return $this->columns->();}}abstract class implements ArrayAccess{function __construct($){$this->parentCollection=$;$this->values=new ();}private $parentCollection;private $values;public function commonGet($fieldName){$column=$this->parentCollection->->($fieldName);if($column!=null){return $this->values[$column];}return null;}private function commonSet($fieldName,$value){$column=$this->parentCollection->->($fieldName);if($column!=null){$this->values[$column]=$value;}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){return $this->commonSet($name,$value);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){return $this->commonSet($offset,$value);}public function offsetUnset($offset){}public function offsetExists($offset){return $this->parentCollection->->($offset)!==null;}public function OnColumnRemove($column){$this->values->($column);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);$this->rows=new ($);}private $rows;public function&(){return $this->rows;}}abstract class {function __construct(){$this->columns=new ($this);}private $columns;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='columns'){return $this->columns;}}public function OnColumnStartRename($column,$name){$tempColumn=$this->->($name);if($tempColumn!=null&&$tempColumn!=$column){throw new Exception(" \"{$tempColumn->()}\" .");}}public function OnColumnEndRename($column){}}class extends implements IteratorAggregate,ArrayAccess,Countable{function __construct(){parent::__construct();$this->rows=new ();}private $rows;public function (){return $this->rows->();}public function (){$newRow=new ($this);$this->rows->($newRow);return $newRow;}public function ($){$newRow=new ($this);$this->rows->($,$newRow);return $newRow;}public function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function (){$=$this->();for($i=$-1;$i>=0;$i--){$=$this->rows[$i];$this->($i);}}public function ($){return $this->rows[$];}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}public function OnColumnDelete($column){foreach($this->rows as $row){$row->OnColumnRemove($column);}}}class extends {function __construct(){parent::__construct();$this->rows=new ($this);}private $rows;public function&(){return $this->rows;}public function OnColumnDelete($column){$tempRows=&$this->();$this->UpdateRowsOnColumnDelete($tempRows,$column);}private function UpdateRowsOnColumnDelete(&$rows,$column){foreach($rows as $row){$row->OnColumnRemove($column);$tempRows=&$row->();$this->UpdateRowsOnColumnDelete($tempRows,$column);}}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){$this->parentCollection=$;$this->rows=new ();}private $parentCollection;private $rows;public function (){return $this->rows->();}public function (){$newRow=new ($this->parentCollection);$this->rows->($newRow);return $newRow;}public function ($){$newRow=new ($this->parentCollection);$this->rows->($,$newRow);return $newRow;}public function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function (){$=$this->();for($i=$-1;$i>=0;$i--){$=$this->rows[$i];$this->($i);}}public function ($){return $this->rows[$];}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}}abstract class {protected function __construct($,$,$){$this->bromClient=$;$this->collectionType=$;$this->collectionName=$;}protected $bromClient;protected $collectionType;protected $collectionName;public function (){return $this->collectionType;}public function (){return $this->collectionName;}public function (){return $this->bromClient;}public function (){return $this->collectionType->getName().".".$this->collectionName;}public function (){$=null;$this->bromClient->->($this->(),$);return $;}public abstract function ();public static function ($,$,$,$){if($==::()){return $->()->("{$->getName()}.{$}",$);}else{return $->()->("{$->getName()}.{$}",$);}}public static function ($,$,$){$=explode(".",$);return self::($,$[0],$[1],$);}}class extends {public function __construct($,$,$,$=""){parent::__construct($,::(),$);$this->name=$;$this->title=!empty($)?$:$this->name;}private $name;private $title;public function (){return $this->name;}public function (){return $this->title;}public function (){return empty($this->name);}public function __toString(){return $this->();}}class extends implements ArrayAccess{public function __construct($,$,$,$){parent::__construct($,$,$);$this->guid=$;}private $guid;public function (){return $this->guid;}public function (){return $this->guid->();}public function (){if($this->()){throw new Exception(" . \"\" .");}$=::($this);$->();return $;}public function __toString(){$=$this->bromClient->()->($this);return $!==null?$:"{$this->()}: ({$this->guid})";}public function ($){return $!=null&&$this->guid->($->guid)&&$this->()==$->()&&$this->()==$->();}private function commonGet($fieldName){$value=null;$this->bromClient->()->($this,$fieldName,$value);return $value;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){$metadata=$this->();return $metadata->->($offset)||$metadata->->($offset);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class {}class {function __construct($,$){$this->length=empty($)?0:$;$this->allowedLength=empty($)?::():$;}private $length;private $allowedLength;public function (){return $this->length;}public function (){return $this->allowedLength;}}class {function __construct($,$,$){$this->digits=empty($)?0:$;$this->fractionDigits=empty($)?0:$;$this->allowedSign=empty($)?::():$;}private $digits;private $fractionDigits;private $allowedSign;public function (){return $this->digits;}public function (){return $this->fractionDigits;}public function (){return $this->allowedSign;}}class {function __construct($){$this->dateFractions=empty($)?::():$;}private $dateFractions;public function (){return $this->dateFractions;}}class {function __construct($,$){$this->length=empty($)?0:$;$this->allowedLength=empty($)?::():$;}private $length;private $allowedLength;public function (){return $this->length;}public function (){return $this->allowedLength;}}class extends {protected function enumValues(){return array(array("","Including"),array("","Excluding"));}}interface {public function ($,&$);public function ($,$);public function ();public function ($);}class implements {function __construct($){$this->rootDirectoryPath=$;$this->dataDirectoryPath=$this->($this->rootDirectoryPath,"data");}private $rootDirectoryPath;private $dataDirectoryPath;private function (){$path='';$arguments=func_get_args();$args=array();foreach($arguments as $a)if($a!=='')$args[]=$a;$arg_count=count($args);for($i=0;$i<$arg_count;$i++){$folder=$args[$i];if($i!=0 and $folder[0]==DIRECTORY_SEPARATOR)$folder=substr($folder,1);if($i!=$arg_count-1 and substr($folder,-1)==DIRECTORY_SEPARATOR)$folder=substr($folder,0,-1);$path.=$folder;if($i!=$arg_count-1)$path.=DIRECTORY_SEPARATOR;}return $path;}private function ($dir){foreach(glob($dir.'/*')as $file){if(is_dir($file)){$this->($file);}else{unlink($file);}}rmdir($dir);}public function (){return $this->rootDirectoryPath;}public function ($key,&$value){$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);if(file_exists($path)){$value=file_get_contents($path);return true;}$value=null;return false;}public function ($key,$value){if(!file_exists($this->dataDirectoryPath)){mkdir($this->dataDirectoryPath,0777,true);}$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);file_put_contents($path,$value);}public function (){if(file_exists($this->dataDirectoryPath)){$this->($this->dataDirectoryPath);}}public function ($key){$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);return file_exists($path);}}abstract class implements ArrayAccess,Countable,IteratorAggregate{function __construct($,$,$,$,$){$this->root=$;$this->name=$;$this->fullName=$;$this->title=$?$:$;$this->parentNode=$;$this->children=array();if($!==null){$->($this);}}private $name;private $fullName;private $title;private $parentNode;private $root;private $children;protected function (){foreach($this->children as $key=>$value){unset($this->children[$key]);}}protected function ($,&$){$=mb_strtolower($);if(isset($this->children[$])){$=$this->children[$][1];return true;}return false;}protected function ($){$=null;$this->($,$);return $;}public function (){return $this->name;}public function (){return $this->fullName;}public function (){return $this->title;}public function (){return $this->parentNode;}public function (){if(get_class($this)==""){return $this;}return $this->root;}public function (){if($this->()==null){return "";}if(!$this->()->()){return $this->();}return $this->()->().".".$this->();}public function (){return $this->()->();}public function ($){$tempName=mb_strtolower($->name);$this->children[$tempName]=array($->name,$);$this->()->($);}public function ($){$=null;$this->($,$);return $;}public function ($,&$){$=explode(".",$);$=$this;foreach($ as $){if(!$->($,$)){$=null;return false;}}$=$;return true;}public function ($){$temp=null;return $this->($,$temp);}public function __toString(){return $this->fullName;}public function __get($offset){return $this->($offset);}public function offsetGet($offset){return $this->($offset);}public function offsetSet($offset,$value){}public function offsetExists($offset){return $this->($offset);}public function offsetUnset($offset){}public function count(){return count($this->children);}public function getIterator(){$iterator=new ArrayIterator($this->children);foreach($iterator as $key=>$val){yield $val[0]=>$val[1];}}public function&(){$result=array();foreach($this->children as $key=>$val){$result[]=$val[0];}return $result;}protected static function ($,$,$attributesSOAP){$=new ($,$,"","{$->()}.","","MetadataAttribute");if($attributesSOAP!=null){foreach($attributesSOAP as $attribute){new ($,$attribute);}}}protected static function ($,$,$tablesSOAP){$=new ($,$,"","{$->()}.","","MetadataTableSection");if($tablesSOAP!=null){foreach($tablesSOAP as $table){new ($,$table);}}}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,$metadata->FullName,$metadata->Title);}}class extends {function __construct($,$,$,$,$,$Soap,$=false){parent::__construct($->(),$,$,$,$);$this->checkCache=$;$this->soapType=$Soap;}private $checkCache;private $soapType;private $childrenNames;public function&(){if(!$this->checkCache){return parent::();}if($this->childrenNames!=null){return $this->childrenNames;}$=$this->()->();if($!=null){$XML;if($->("#list.".$this->(),$XML)){$this->childrenNames=unserialize($XML);return $this->childrenNames;}}$=&$this->()->($this->());$=&$[$this->()];if($!=null){$=array();foreach($ as $){$[]=$;}$this->childrenNames=&$;if($!=null){$->("#list.".$this->(),serialize($));}return $this->childrenNames;}throw new Exception(" \"{$this->()}\".");}protected function ($,&$){if(parent::($,$)){return true;}if($this->checkCache){$=$this->()->();$xml;if($!=null&&$->($this->().".".$,$xml)){$=unserialize($xml)->GetValue($this);return true;}$=$this->();if(array_search($,$)!==false){$this->()->("{$this->()}.{$}");return $this->($,$);}}$=null;return false;}public function getIterator(){if($this->checkCache){$names=$this->();foreach($names as $name){$=null;if($this->($name,$)){yield $name=>$;}}}else{$iterator=parent::getIterator();foreach($iterator as $key=>$val){yield $key=>$val;}}}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,"{$->()}..{$metadata->Name}",$metadata->Title);}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,"{$->()}..{$metadata->Name}",$metadata->Title);::($->(),$this,$metadata->Attribute);}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,$metadata->FullName,$metadata->Title);$this->collectionType=::($metadata->CollectionType);$this->predefinedValues=new ();::($->(),$this,$metadata->Attribute);::($->(),$this,$metadata->TableSection);$=$metadata->Predefined!=null?$metadata->Predefined->GetValue($->()):null;if($!=null){foreach($ as $key=>$val){$this->predefinedValues->($key,$val);}}}private $collectionType;private $predefinedValues;public function (){return $this->collectionType;}public function (){return $this->predefinedValues;}public function __get($name){$tempName=mb_strtolower($name);switch($tempName){case "":case "predefined":return $this->predefinedValues;}return parent::__get($name);}}class extends {function __construct($){parent::__construct(null,null,"","","");$this->bromClient=$;$this->metadataMap=array();$this->Init();}private $bromClient;private $metadataMap;private $cache;private $fullNameToPathMap;private function Init(){$this->();foreach($this->metadataMap as $key=>$val){unset($this->metadataMap[$key]);}$this->fullNameToPathMap=array(""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",);new ($this,$this,"","","","MetadataAttribute",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataAttribute",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"","","-","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);}private function ($,$node){if($this->cache!=null){$this->cache->($->(),serialize($node));}}public function (){return $this->cache;}public function ($){$this->cache=$;}public function ($){if($this->metadataMap!=null){$=mb_strtolower($->());$this->metadataMap[$]=$;}}public function ($,$=0){$=0;while(true){$soapMetadataPack=$this->SOAP($,$,$);$this->SOAP($soapMetadataPack);$=$soapMetadataPack->RequestedObjectsCount;$=$soapMetadataPack->PackSize;$=$>0?(int)(($+$-1)/$):0;if($>=$-1){break;}$++;}}public function SOAP($soapMetadataPack){if($soapMetadataPack->Collection==null){return;}foreach($soapMetadataPack->Collection as $collection){$;if($this->($collection->Name,$)){if($collection->Item!=null){foreach($collection->Item as $node){$=$node->GetValue($);$this->($,$node);}}}}}public function (){return $this->bromClient;}private function SOAP($,$,$){return $this->bromClient->Soap()->GetMetadata(array('nodes'=>$,'pack_size'=>$,'pack_index'=>$))->return;}public function ($){$result=$this->bromClient->Soap()->GetMetadaChildrenNames(array('parents'=>$))->return;return $result->GetValue($this->bromClient);}public function ($,&$){if(isset($this->metadataMap[$])){$=$this->metadataMap[$];return true;}$=explode(".",$);if(count($)>=1){if(isset($this->fullNameToPathMap[$[0]])){$[0]=$this->fullNameToPathMap[$[0]];}}if(count($)>=3){if(isset($this->fullNameToPathMap[$[2]])){$[2]=$this->fullNameToPathMap[$[2]];}}$=implode(".",$);return $this->($,$);}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='cache'){return $this->cache;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='cache'){$this->cache=$value instanceof ?$value:null;}return null;}}class implements ArrayAccess{function __construct($publication,$user,$password){$normalPublication=trim(strval($publication),"/");$wsdl_link="{$normalPublication}/ws/brom_api?wsdl";$service_link="{$normalPublication}/ws/brom_api";$this->soapClient=new SoapClient($wsdl_link,array('login'=>$user,'password'=>$password,'location'=>$service_link,'exceptions'=>1,'encoding'=>'UTF-8','classmap'=>$this->getClassMap(),'features'=>SOAP_SINGLE_ELEMENT_ARRAYS,'trace'=>1));$this->metadata=new ($this);$this->dataContext=new ($this);}private static $version="1.0.1-beta";private $soapClient;private $metadata;private $dataContext;private function getClassMap(){$types=array('MetadataModule','MetadataCollection','MetadataAttribute','MetadataTableSection','MetadataObject','MetadataApplication','ValueNull','ValueDBNull','ValueString','ValueNumber','ValueBoolean','ValueDate','ValueArray','ValueStruct','ValueMap','ValueTable','ValueTree','ValueKeyValue','ValueObjectRef','ValueEnumRef','ValueStorage','ValueBinaryData','ValueGuid','ValueType','ValueTypeDescription','ValuePointInTime','ValueBoundary','ValueAccountingRecordType','ValueAccumulationRecordType','ValueAccountType','ValueNonserializable','NumberQualifiers','StringQualifiers','DateQualifiers','BinaryDataQualifiers','PostObject_Settings',);$classMap=array();foreach($types as $type=>$val){$classMap[$val]=$val;}return $classMap;}private function ($,$=null,$=null,$=null,$=null,$=false,$=null,$=false){$parameters=array();if($ instanceof ){foreach($ as $key=>$val){$parameters[]=ValueBase::SoapValue("RequestParameter",array('Key'=>$key,'Value'=>ValueBase::From($val)));}}$filters=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$filters[]=ValueBase::SoapValue("RequestFilter",array('Key'=>$val->(),'Value'=>ValueBase::From($val->()),'ComparisonType'=>$val->()->getName()));}}$fields=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$val->(),'Name'=>$val->()));}}$sort=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$sort[]=ValueBase::SoapValue("RequestSort",array('Key'=>$val->(),'Direction'=>$val->()==::()?"":""));}}$settings=ValueBase::SoapValue("ExecuteRequest_Settings",array('Parameter'=>$parameters,'Filter'=>$filters,'Field'=>$fields,'Sort'=>$sort,'QueryResultIteration'=>$ instanceof ?$->getName():::()->getName(),'IncludeTemporalData'=>boolval($)));if(!boolval($)){return $this->Soap()->ExecuteRequest(array('request'=>$,'settings'=>$settings))->return->GetValue($this);}else{return $this->Soap()->ExecuteRequestBatch(array('request'=>$,'settings'=>$settings))->return->GetValue($this);}}public function Soap(){return $this->soapClient;}public function (){return $this->dataContext;}public function ($="",$=0){$this->metadata->($,$);}public function ($){$result=$this->Soap()->GetSessionParameter(array('name'=>$))->return;return $result->GetValue($this);}public function ($){return $this->soapClient->GetConstant(array('name'=>$))->return->GetValue($this);}public function ($,$){$this->soapClient->SetConstant(array('name'=>$,'value'=>ValueBase::From($)));}public function ($,$,...$){return $this->($,$,$);}public function ($,$,&$=null){$=is_array($)?$:array();$result=$this->Soap()->ExecuteMethod(array('module'=>$,'method'=>$,'params'=>ValueBase::From(::($))))->return;return $result->GetValue($this);}public function ($,$=null){$result=$this->Soap()->ExecuteCode(array('code'=>$,'param'=>ValueBase::From($)))->return;return $result->GetValue($this);}public function ($,$=null,$=null,$=null,$=null,$=null){return $this->($,$,$,$,$,false,$);}public function ($,$=null,$=null,$=null,$=null,$=null,$=false){return $this->($,$,$,$,$,true,$,$);}public function Ping(){return $this->Soap()->GebugPing()->return;}public function ($value){$soapValue=ValueBase::From($value);$result=$this->Soap()->DebugEcho(array('param'=>$soapValue))->return;return $result->GetValue($this);}public function ($=""){return new ($this,$);}public function (){return new ($this);}public function (){return $this->soapClient->GetSystemInfo()->return->GetValue($this);}public function ($,$=null,$=null){$=empty($)?::():$;$fields=array();if($ instanceof ||is_array($)){foreach($ as $fieldName){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$fieldName));}}$settings=ValueBase::SoapValue("GetObject_Settings",array('Field'=>$fields,'AddSkippedProperties'=>true,'PropertiesHierarchyType'=>"Hierarchy",'FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>$->,'CustomFields'=>$->,'Tables'=>$->))));$soapValue=$this->soapClient->GetObject(array('reference'=>ValueBase::From($),'settings'=>$settings))->return;return $soapValue->ToTree($this);}private function commonGet($name){$tempName=mb_strtolower($name);if($tempName==""){return $this->metadata;}$=null;if($this->metadata->($name,$)){switch($->()){case "":return new ($this);case "":return new ($this);case "":return new ($this);case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return null;}}else if($this->metadata->(".{$name}",$)){return new ($this,$);}return null;}public function __get($fieldName){return $this->commonGet($fieldName);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){$=null;$check=$this->->($offset,$)||$this->->(".{$offset}",$);return $check&&$->()!="";}public function __call($name,$args){return $this->("",$name,$args);}public static function (){return self::version;}public static function (){return " \"\". - ( \"\").";}}abstract class {function __construct($,$){if(!$){throw new Exception(" \"\" .");}if(!$){throw new Exception(" \"\" .");}$this->bromClient=$;$this->moduleMetadata=$;}protected $moduleMetadata;protected $bromClient;}class extends {function __construct($,$){parent::__construct($,$);}public function __call($name,$arguments){return $this->bromClient->($this->moduleMetadata->(),$name,$arguments);}public function __toString(){return"{base::__toString()}.{$this->moduleMetadata->()}";}}abstract class extends {function __construct($,$){parent::__construct($,$);}public function __call($name,$arguments){return $this->bromClient->($this->moduleMetadata->(),$name,$arguments);}}class extends {function __construct($,$){parent::__construct($,$);}}class extends {function __construct($,$){parent::__construct($,$);}public function (){$=new ($this->bromClient);$->(::(),$this->moduleMetadata->());return $;}public function ($){return ::($this->bromClient,::(),$this->moduleMetadata->(),$);}public function (){return ::($this->bromClient,::(),$this->moduleMetadata->());}public function __get($name){$predefined=$this->moduleMetadata->();$value=null;if($predefined->($name,$value)){return $value;}return null;}}abstract class extends {function __construct($,$,$){parent::__construct($,$);$this->=$;}protected $;public function (){$=new ($this->bromClient);$->($this->,$this->moduleMetadata->());return $;}public function ($){return ::($this->bromClient,$this->,$this->moduleMetadata->(),$);}public function (){return ::($this->bromClient,$this->,$this->moduleMetadata->());}protected function (){return ::(::($this->bromClient,$this->,$this->moduleMetadata->(),::()));}public function __get($name){$predefined=$this->moduleMetadata->();$value=null;if($predefined->($name,$value)){return $value;}return null;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=false;}return $;}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=true;}return $;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=false;}return $;}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=true;}return $;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends implements ArrayAccess{function __construct($,$){parent::__construct($,$);}private function commonGet($fieldName){$=null;if($this->moduleMetadata->($fieldName,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->moduleMetadata->($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return $this->bromClient->($->());}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($,$,$){parent::__construct($,$);$this->=$;}protected $;private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){$=$this->->getName();switch($){case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);}}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class {function __construct($){if(empty($)){throw new Exception(" .");}$this->bromClient=$;$this->data=array();$this->references=array();}private $bromClient;private $data;private $references;public function (){return $this->bromClient;}private function&($){$=::($);$node=$this->data[$];if(empty($node)){$this->data[$]=array();}return $this->data[$];}private function ($){$=::($);unset($this->data[$]);}private function ($){$=&$this->($);foreach($ as $key=>$val){unset($[$key]);}$=$->()->("");foreach($ as $key=>$val){$[$key]=null;}$["#"]=null;}private function ($,$){$=&$this->($);$=$[$->()];if(!($ instanceof )){$=new ($);$this->($,$->(),$);}return $;}public function ($,$,$){$tempName=mb_strtolower($);$=&$this->($);$[$tempName]=$;}public function ($,$){if($===null){return;}$=&$this->($);$["#"]=$;}public function SOAP($,$properties){if($properties===null){return;}$=$->()->("");$=$->()->("");foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$this->($,$->(),$);}else if($->($property->Name,$)){$=$property->GetValue($this->());if($ instanceof ){$=$this->($,$);$->($);}}}}public function ($){$=::($);if($ instanceof ){$this->($);}unset($this->references[$]);}public function ($,$,&$){if(empty($)){throw new Exception(" .");}$=mb_strtolower($);if($==""){$=$;return true;}$=null;if($->()->->($,$)){if($->()){$=null;return true;}$=$this->($);if(isset($[$])){$=$[$];return true;}$this->($);return $this->($,$,$);}if($->()->->($,$)){if($->()){$=$this->($,$);return true;}$=$this->($);if(isset($[$])){$=$[$];if(!($ instanceof )){$=$this->($,$);$[$]=$;}$=$;return true;}$this->($);return $this->($,$,$);}$=null;return false;}public function ($){if(empty($)){throw new Exception(" .");}if($->()){return "";}$=$this->($);if(isset($["#"])){return strval($["#"]);}$this->($);return $this->($);}public function ($){$this->($);}public function ($){$settings=ValueBase::SoapValue("GetObject_Settings",array('AddSkippedProperties'=>true,'FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>true,'CustomFields'=>true,'Tables'=>true,))));$refSoap=$this->bromClient->Soap()->GetObject(array('reference'=>ValueBase::From($),'settings'=>$settings))->return;$this->($);$this->($,$refSoap->Presentation);$this->SOAP($,$refSoap->Property);}public function ($,$){$=null;if(!$this->()->->($,$)){throw new Exception(" . \"{$}\".");}$=::($,strval($));$=$this->references[$];if(!empty($)){return $;}switch($->()->getName()){case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;default:throw new Exception(" .");}$this->references[$]=$;return $;}public function ($,$,$=""){$=null;if(!$this->()->->($,$)){throw new Exception(" . \"{$}\".");}if($->()!=::()){throw new Exception(" .");}$=::($,$);$=$this->references[$];if(!empty($)){return $;}$=new ($this->bromClient,$->(),$,$);$this->references[$]=$;return $;}private static function ($,$){$representation=mb_strtolower($."#".$);return sha1($representation);}private static function ($){if($ instanceof ){return self::($->(),strval($->()));}else{return self::($->(),$->());}}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){if(empty($)){throw new Exception(" .");}$this->metadata=$;$this->rows=new ();}private $metadata;protected $rows;public function (){return $this->metadata;}public function (){return $this->rows->();}protected function (){$=new ($this);$this->rows->($);return $;}protected function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function ($){$=$this->metadata->;$=array();foreach($-> as $){if($->($->())){$[]=$->();}}$this->rows->();foreach($ as $){$=$this->();foreach($ as $){$->($,$[$]);}}}public function (){$=new ();$=$this->metadata->->();foreach($ as $){$->->($);}foreach($this->rows as $){$=$->();foreach($ as $){$[$]=$[$];}}return $;}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}public function __toString(){return $this->metadata->();}}class extends {function __construct($,$){parent::__construct($);$this->objectContext=$;$this->isModified=false;}private $objectContext;private $isModified;public function ($value){if($this->isModified!=$value){$this->objectContext->($this->()->(),$value);$this->isModified=$value;}}public function (){$=$this->();$this->(true);return $;}public function ($){$this->($);$this->(true);}public function (){$this->rows->();$this->(true);}}class implements ArrayAccess{function __construct($){if(empty($)){throw new Exception(" .");}$this->tableSection=$;$this->values=array();}private $tableSection;private $values;public function ($,$){$this->values[$]=$;}private function commonGet($fieldName){$result=null;$=null;if($this->tableSection->()->(".{$fieldName}",$)){return $this->values[$->()];}return $result;}private function commonSet($fieldName,$value){$=null;if($this->tableSection->()->(".{$fieldName}",$)){if(get_class($this->tableSection)==''){$this->values[$->()]=$value;$this->tableSection->(true);}}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){$this->commonSet($name,$value);}public function offsetSet($key,$newVal){$this->offsetSet($key,$newVal);}public function offsetGet($key){return $this->commonGet($key);}public function offsetUnset($index){}public function offsetExists($key){return $this->tableSection->()->->($fieldName);}}class {function __construct($){$this->reference=$;$this->data=array();$this->modifiedFields=array();$this->additionalProperties=new ();$this->isExchangeLoadMode=false;}private $reference;private $data;private $additionalProperties;private $modifiedFields;private $isExchangeLoadMode;public function (){foreach($this->modifiedFields as $key=>$val){unset($this->modifiedField[$key]);}}public function ($,$value=true){$=$this->reference->();$=null;if($->->($,$)||$->->($,$)){if($value){$this->modifiedFields[$->()]=true;}else{unset($this->modifiedFields[$->()]);}}}private function ($){$=$this->data[$->()];if($===null){$=new ($this,$);$this->data[$->()]=$;}return $;}public function SOAP($properties){if($properties==null){return;}$=$this->reference->()->;foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$this->data[$->()]=$;}}$=$this->reference->()->;foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$=$this->($);if($ instanceof ){$->($);}else{$->(new ());}$->(false);}}}protected function ($,$){$tempObject=new ValueObjectRef($this->reference);$tempObject->Property=array();foreach($this->modifiedFields as $key=>$none){$value=$this->data[$key];$property=ValueBase::From($value);$property->Name=$key;$tempObject->Property[]=$property;}$settings=new PostObject_Settings($this->,$,$,$this->isExchangeLoadMode);$returnObject=$this->()->Soap()->PostObject(array('object'=>$tempObject,'settings'=>$settings))->return;$=$returnObject->GetValue($this->());$this->($);$this->SOAP($returnObject->Property);$this->();}public function (){return $this->reference->();}public function (){return $this->reference->();}public function (){return $this->reference->();}public function ($){if($this->reference->($)){return;}if($->()!=$this->reference->()||$->()!=$this->reference->()){throw new Exception(" \"\" \"{$this->reference->()}\".");}$this->reference=$;}public function ($){$this->=$;}public function __toString(){return base::__toString().".".$this->reference->();}public function (){$settings=ValueBase::SoapValue("GetObject_Settings",array('FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>true,'CustomFields'=>true,'Tables'=>true))));$refSoap=$this->()->Soap()->GetObject(array('reference'=>new ValueObjectRef($this->reference),'settings'=>$settings))->return;$this->()->()->($this->reference,$refSoap->Presentation);$this->()->()->SOAP($this->reference,$refSoap->Property);$this->SOAP($refSoap->Property);$this->();}public function (){$this->();}public function (){if($this->()){throw new Exception(" , .");}$this->()->Soap()->DeleteObject(array('object'=>new ValueObjectRef($this->reference)));$this->()->()->($this->reference);$this->();}private function commonGet($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='ref'){return $this->reference;}if($tempName==''||$tempName=='additionalproperties'){return $this->additionalProperties;}if($tempName==''||$tempName=='exchangemode'){return $this->isExchangeLoadMode;}$=$this->reference->();$=null;if($->->($name,$)){return $this->data[$->()];}else if($->->($name,$)){return $this->($);}return null;}private function commonset($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='exchangemode'){$this->isExchangeLoadMode=boolval($value);}$=$this->reference->();$=null;if($->->($name,$)){$this->data[$->()]=$value;$this->($->(),true);return $this->data[$->()];}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){$this->commonset($name,$value);}public static function ($){if($==null){throw new Exception(" .");}switch($->()->getName()){case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);default:throw new Exception(" .");}}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}public function ($=null,$=null){$this->($!=null?$:::(),$!=null?$:::());}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {protected function enumValues(){return array(array("","Write"),array("","UndoPosting"),array("","Posting"));}}class extends {protected function enumValues(){return array(array("","Regular"),array("","RealTime"));}}class extends {protected function enumValues(){return array(array("","Catalog"),array("","Document"),array("","Enum"),array("","ChartOfCharacteristicTypes"),array("","ChartOfAccounts"),array("","ChartOfCalculationTypes"),array("","BusinessProcess"),array("","Task"));}}class {function __construct($,$=""){$this->bromClient=$;$this->parameters=new ();$this->filters=new ();$this->fields=new ();$this->sort=new ();$this->text=$;}private $text;private $bromClient;private $parameters;private $filters;private $sort;private $fields;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->bromClient;}if($tempName==''){return $this->text;}if($tempName==''){return $this->parameters;}if($tempName==''){return $this->fields;}if($tempName==''){return $this->sort;}if($tempName==''){return $this->filters;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''){$this->text=$value;}}public function ($,$){$this->parameters->($,$);}public function ($,$,$=null){$=new ($,$,$);$this->filters->($);return ;}public function ($,$=null){$this->sort->(new ($,$));}public function ($,$=null){$this->fields->(new ($,$));}public function ($=null){return $this->bromClient->($this->text,$this->parameters,$this->filters,$this->fields,$this->sort,$);}public function ($=null,$=false){return $this->bromClient->($this->text,$this->parameters,$this->filters,$this->fields,$this->sort,$,$);}}class implements IteratorAggregate,ArrayAccess,Countable,{function __construct($){$this->bromClient=$;$this->fields=new ();$this->filters=new ();$this->sort=new ();$this->fieldsAutoloadSettings=::();$this->items=new ();$this->isModified=false;$this->fields->()->($this);$this->filters->()->($this);$this->sort->()->($this);}private $bromClient;private $items;private $collectionType;private $collectionName;private $collectionMetadata;private $fieldsAutoloadSettings;private $limit;private $isModified;private $fields;private $filters;private $sort;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->bromClient;}if($tempName==''){return $this->collectionType;}if($tempName==''){return $this->collectionName;}if($tempName==''){return $this->limit;}if($tempName==''){return $this->collectionMetadata;}if($tempName==''){return $this->fieldsAutoloadSettings;}if($tempName==''){return $this->fields;}if($tempName==''){return $this->filters;}if($tempName==''){return $this->sort;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''){$this->limit=$value;$this->isModified=true;}if($tempName==''){$this->fieldsAutoloadSettings=$value;$this->isModified=true;}}public function (){return count($this->items);}public function (){if($this->isModified){$this->();}return $this->items->ToArray();}private function ($,$){if(!($ instanceof )){throw new Exception(" \"{$}\" .");}$=null;if(!$this->bromClient->->("{$}.{$}",$)||!($ instanceof )){throw new Exception(" \"{$}.{$}\" .");}$this->collectionType=$;$this->collectionName=$->();$this->collectionMetadata=$;$this->isModified=true;}private function ($){if(empty($)){throw new Exception(" .");}$=explode(".",$);if(count($)!=2){throw new Exception(" .");}$=::($[0]);if($==null){throw new Exception(" \"{$[0]}\" .");}$=null;if(!$this->bromClient->->($,$)||!($ instanceof )){throw new Exception(" \"{$}\" .");}$this->collectionType=$;$this->collectionName=$->();$this->collectionMetadata=$;$this->isModified=true;}public function (...$args){$numargs=count($args);if($numargs>=2){return $this->($args[0],$args[1]);}elseif($numargs==1){return $this->($args[0]);}throw new Exception(" .");}public function (...$){foreach($ as $){$=explode(",",$);foreach($ as $){$=trim($);if(!empty($)){$this->fields->($);}}}$this->isModified=true;}public function ($,$=null){$this->(new ($,$));}public function (...$){foreach($ as $){$this->sort->($);}$this->isModified=true;}public function ($,$,$=null){$this->(new ($,$,$));}public function (...$){foreach($ as $){$this->filters->($);}$this->isModified=true;}public function (){if(empty($this->collectionMetadata)){throw new Exception(" .");}$fields=array();foreach($this->fields as $fieldName){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$fieldName));}$filters=array();foreach($this->filters as $element){$filters[]=ValueBase::SoapValue("RequestFilter",array('Key'=>$element->(),'Value'=>ValueBase::From($element->()),'ComparisonType'=>$element->()->getName()));}$sort=array();foreach($this->sort as $element){$sort[]=ValueBase::SoapValue("RequestSort",array('Key'=>$element->(),'Direction'=>$element->()==::()?"":""));}$autoinclusion=$this->fieldsAutoloadSettings instanceof ?ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>$this->fieldsAutoloadSettings->,'CustomFields'=>$this->fieldsAutoloadSettings->,'Tables'=>$this->fieldsAutoloadSettings->)):null;$settings=ValueBase::SoapValue("GetObjectList_Settings",array('Filter'=>$filters,'Field'=>$fields,'Sort'=>$sort,'Limit'=>$this->limit>0?intval($this->limit):0,'FieldAutoinclusion'=>$autoinclusion,'AddSkippedProperties'=>true,'PropertiesHierarchyType'=>"Hierarchy"));$soapItems=$this->bromClient->Soap()->GetObjectList(array('type'=>$this->->getName(),'name'=>$this->,'settings'=>$settings))->return;$this->items->();if($soapItems->Item!=null){foreach($soapItems->Item as $item){$this->items->($item->GetValue($this->bromClient));}}$this->isModified=false;return $this;}public function (){$this->items->();$this->fields.();$this->filters.();$this->sort.();$this->limit=0;$this->collectionMetadata=null;$this->collectionName=null;$this->isModified=false;return $this;}public function (...$){call_user_func_array(array($this,''),$);return $this;}public function ($){$this->=intval($);return $this;}public function ($){$this->($);return $this;}public function ($,$,$=null){$this->($,$,$);return $this;}public function ($,$=null){$this->($,$);return $this;}public function getIterator(){if($this->isModified){$this->();}foreach($this->items as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->items->offsetGet($offset);}public function offsetSet($offset,$value){throw new Exception(" .");}public function offsetUnset($offset){throw new Exception(" .");}public function offsetExists($offset){return $this->items->offsetExists($offset);}public function count(){return $this->items->count();}public function ($,$,...$){if($==""){$this->isModified=true;}}}class {function __construct($,$){$this->key=$;$this->name=$;}private $key;private $name;public function (){return $this->key;}public function (){return $this->name;}}class {function __construct($,$,$=null){$this->key=$;$this->value=$;$this->comparationType=$ instanceof ?$:::();}private $key;private $value;private $comparationType;public function (){return $this->key;}public function (){return $this->value;}public function (){return $this->comparationType;}}class {function __construct($,$=null){$this->key=$;$this->sortDirection=$ instanceof ?$:::();}private $key;private $sortDirection;public function (){return $this->key;}public function (){return $this->sortDirection;}}class extends {protected function enumValues(){return array(array("","Equal"),array("","NotEqual"),array("","Greater"),array("","GreaterOrEqual"),array("","Less"),array("","LessOrEqual"),array("","Contains"),array("","NotContains"),array("","InList"),array("","NotInList"),array("","InHierarchy"),array("","NotInHierarchy"));}}class extends {protected function enumValues(){return array(array("","","Ascending","Asc"),array("","","Descending","Desc"));}}class extends {protected function enumValues(){return array(array("","Linear"),array("","ByGroups"),array("","ByGroupsWithHierarchy"));}}class {function __construct($=false,$=false,$=false){$this->loadDefaultAttributes=boolval($);$this->loadCustomAttributes=boolval($);$this->loadTableSections=boolval($);}private $loadDefaultAttributes;private $loadCustomAttributes;private $loadTableSections;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->loadDefaultAttributes;}if($tempName==''){return $this->loadCustomAttributes;}if($tempName==''){return $this->loadTableSections;}return null;}public static function (){return new (false,false,false);}public static function (){return new (true,true,true);}public static function (){return new (true,false,false);}public static function (){return new (false,true,false);}public static function (){return new (true,true,false);}public static function (){return new (false,false,true);}} ?>
Did this file decode correctly?
Original Code
<?php interface {function ($,$,...$);}class {private $observers;public function ($,...$){if(!empty($this->observers)){foreach($this->observers as $observer){call_user_func_array(array($observer,""),array_merge(array($this,$),$));}}}public function ( $){if($this->observers===null){$this->observers=array();}if(!empty($)){if(array_search($,$this->observers)===false){$this->observers[]=$;}}}public function ( $){if($this->observers===null){return null;}if(!empty($)){$index=array_search($,$this->observers);if($index!==false){unset($this->observers[$index]);}}}}abstract class {protected function __construct($index,$name){$this->name=$name;$this->index=$index;}protected static $data;protected static $values;private $name;private $index;public function __toString(){return $this->name;}public function getIndex(){return $this->index;}public function getName(){return $this->name;}public function __get($name){$tempName=mb_strtolower($name);switch($tempName){case "name":return $this->getName();break;case "":return $this->getName();break;case "index":return $this->getIndex();break;case "":return $this->getIndex();break;}return null;}protected abstract function enumValues();protected static function&getData(){$className=get_called_class();if(::$data==null){::$data=array();}if(::$data[$className]==null){::$data[$className]=array('data'=>$className::enumValues(),'values'=>array());}return ::$data[$className];}public static function Values(){$tempData=&self::getData()['data'];$result=array();foreach($tempData as $tempVal){$result[]=$tempVal[0];}return $result;}public static function Parse($name){$tempData=&self::getData();if($tempData==null){return null;}$className=get_called_class();$count=count($tempData['data']);for($i=0;$i<$count;$i++){$tempDataBlock=&$tempData['data'][$i];foreach($tempDataBlock as $tempVal){if(mb_strtolower($name)==mb_strtolower($tempVal)){if($tempData['values'][$i]==null){$tempData['values'][$i]=new $className($i,$tempDataBlock[0]);}return $tempData['values'][$i];}}}return null;}public static function GetByIndex($index){$tempData=&self::getData();if($tempData==null){return null;}$className=get_called_class();if($tempData['data'][$index]!=null){if($tempData['values'][$index]==null){$tempData['values'][$index]=new $className($index,$tempData['data'][$index][0]);}return $tempData['values'][$index];}return null;}public static function (){return self::Values();}public static function ($){return self::Parse($);}public static function ($){return self::GetByIndex($);}public static function __callStatic($name,$arguments){return self::Parse($name);}}abstract class ValueBase{function __construct(){}public $Name;const NS_XS="http://www.w3.org/2001/XMLSchema";const NS_BROM="https://brom.itworks.group";public static function From($val){if(is_null($val)){return new ValueNull();}$type=gettype($val);switch($type){case 'string':return new ValueString($val);break;case 'integer':case 'float':case 'double':return new ValueNumber($val);break;case 'boolean':return new ValueBoolean($val);break;case 'array':return new ValueArray($val);break;case 'object':$className=get_class($val);if($val instanceof DateTime){return new ValueDate($val);}elseif($val instanceof ){return new ValueArray($val);}elseif($val instanceof ){return new ValueStruct($val);}elseif($val instanceof ){return new ValueMap($val);}elseif($val instanceof DBNull){return new ValueDBNull($val);}elseif($val instanceof ){return new ValueBinaryData($val);}elseif($val instanceof ){return new ValueStorage($val);}elseif($val instanceof ){return new ValueGuid($val);}elseif($val instanceof ){return new ValueObjectRef($val);}elseif($val instanceof ){return new ValueEnumRef($val);}elseif($val instanceof ){return new ValueTable($val);}elseif($val instanceof ){return new ValueTable($val->());}elseif($val instanceof ){return new ValueTree($val);}elseif($val instanceof ){return new ValueKeyValue($val);}elseif($val instanceof ){return new ValueAccumulationRecordType($val);}elseif($val instanceof ){return new ValueAccountingRecordType($val);}elseif($val instanceof ){return new ValueAccountType($val);}elseif($val instanceof ){return new ValueType($val);}elseif($val instanceof ){return new ValueTypeDescription($val);}elseif($val instanceof ){return new ValuePointInTime($val);}elseif($val instanceof ){return new ValueBoundary($val);}break;}throw new Exception(" .");}public static function SoapValue($type,$val){return new SoapVar($val,SOAP_ENC_OBJECT,$type,ValueBase::NS_BROM);}public abstract function GetValue($=null);}abstract class ValueSimple extends ValueBase{function __construct($val=null){$this->Value=$val;}public $Value;}abstract class ValueSystemEnum extends ValueBase{public $Value;}abstract class ValueStructured extends ValueBase{public $Property;public function ToStruct($client=null){$result=new ();if($this->Property!=null){foreach($this->Property as $property){$result->($property->Name,$property->GetValue($client));}}return $result;}public function ToTree($client=null){$=new ();$->->("");$->->("");$this->PropertyToTreeRow($this->Property,$->(),$client);return $;}private function PropertyToTreeRow($properties,$,$client){if($properties!=null){foreach($properties as $property){$=$->();$->=$property->Name;$->=$property->GetValue($client);if($property instanceof ValueStructured){$this->PropertyToTreeRow($property->Property,$->(),$client);}}}}}abstract class ValueDataSet extends ValueBase{function __construct($collection=null){$this->Column=array();$this->Row=array();if($collection!=null){if($collection instanceof ){foreach($collection-> as $){$this->Column[]=ValueBase::SoapValue("DataTableColumn",array('Name'=>$->()));}}else{throw new Exception(" .");}}}public $Column;public $Row;}abstract class ValueRef extends ValueStructured{public $Type;public $Presentation;}class ValueNull extends ValueBase{public function GetValue($client=null){return null;}}class ValueDBNull extends ValueBase{public function GetValue($client=null){return new DBNull();}}class ValueString extends ValueSimple{function __construct($val=null){$this->Value=strval($val);}public function GetValue($client=null){return strval($this->Value);}}class ValueBoolean extends ValueSimple{function __construct($val=null){$this->Value=boolval($val);}public function GetValue($=null){return boolval($this->Value);}}class ValueNumber extends ValueSimple{function __construct($val=null){$this->Value=floatval($val);}public function GetValue($client=null){return floatval($this->Value);}}class ValueDate extends ValueSimple{function __construct($val=null){$dateTime=$val?$val:new DateTime();$this->Value=$dateTime->format('c');}public function GetValue($=null){return new ($this->Value);}}class ValueArray extends ValueBase{function __construct($items=null){$this->Item=array();if($items instanceof ||is_array($items)){foreach($items as $value){$this->Item[]=ValueBase::From($value);}}}public $Item;public function GetValue($client=null){$result=new ();foreach($this->Item as $val){$result->($val->GetValue($client));}return $result;}}class ValueStruct extends ValueStructured{function __construct($val=null){$this->Property=array();if($val instanceof ){foreach($val as $key=>$value){$prop=ValueBase::From($value);$prop->Name=$key;$this->Property[]=$prop;}}}public function GetValue($client=null){$result=new ();if($this->Property){foreach($this->Property as $prop){$result->($prop->Name,$prop->GetValue($client));}}return $result;}}class ValueMap extends ValueBase{function __construct($items=null){$this->KeyValue=array();if($items instanceof ){foreach($items as $key=>$value){$this->KeyValue[]=array('Key'=>ValueBase::From($key),'Value'=>ValueBase::From($value));}}}public $KeyValue;public function GetValue($client=null){$result=new ();foreach($this->KeyValue as $keyVal){$result->($keyVal->Key->GetValue($client),$keyVal->Value->GetValue($client));}return $result;}}class ValueKeyValue extends ValueBase{function __construct($val=null){$this->Key=ValueBase::From($val->);$this->Value=ValueBase::From($val->);}public $Key;public $Value;public function GetValue($=null){return new ($this->Key->GetValue($),$this->Value->GetValue($));}}class ValueTable extends ValueDataSet{function __construct($table=null){parent::__construct($table);if($table!=null){if($table instanceof ){foreach($table as $){$values=array();foreach($table-> as $){$property=ValueBase::From($[$->()]);$property->Name=$->();$values[]=$property;}$this->Row[]=ValueBase::SoapValue("DataTableRow",array('Property'=>$values));}}else{throw new Exception(" .");}}}public function GetValue($client=null){$result=new ();if(!empty($this->Column)){foreach($this->Column as $column){$result->->($column->Name);}}if(!empty($this->Row)){foreach($this->Row as $row){$temRow=$result->();if($row->Property!=null){foreach($row->Property as $property){$temRow[$property->Name]=$property->GetValue($client);}}}}return $result;}}class ValueTree extends ValueDataSet{function __construct($tree=null){parent::__construct($tree);if(!empty($tree)){if($tree instanceof ){$=&$tree->();$this->AddRowsSOAP($tree,$this->Row,$);}else{throw new Exception(" .");}}}public function GetValue($client=null){$result=new ();if(!empty($this->Column)){foreach($this->Column as $column){$result->->($column->Name);}}$=&$result->();$this->AddRows($,$this->Row,$client);return $result;}private function AddRowsSOAP($tree,&$rowsSOAP,&$rows){foreach($rows as $currentRow){$properties=array();foreach($tree-> as $column){$property=ValueBase::From($currentRow[$column->()]);$property->Name=$column->();$properties[]=$property;}$childRows=null;if($currentRow->()->()>0){$childRows=array();$=&$currentRow->();$this->AddRowsSOAP($tree,$childRows,$);}$rowSOAP=ValueBase::SoapValue("DataTableRow",array('Property'=>$properties,'Row'=>$childRows));$rowsSOAP[]=$rowSOAP;}}private function AddRows(&$rows,&$rowsSOAP,$client){if(empty($rowsSOAP)){return;}foreach($rowsSOAP as $rowSOAP){$currentRow=$rows->();if(!empty($rowSOAP->Property)){foreach($rowSOAP->Property as $property){$currentRow[$property->Name]=$property->GetValue($client);}}$=&$currentRow->();$this->AddRows($,$rowSOAP->Row,$client);}}}class ValueBinaryData extends ValueBase{function __construct($val=null){$this->Value=$val?$val->():"";}public $Value;public function GetValue($client=null){return new ($this->Value);}}class ValueStorage extends ValueBase{function __construct($data=null){$this->Data=ValueBase::From($data->());}public $Data;public function GetValue($client=null){return new ($this->Data->GetValue());}}class ValueGuid extends ValueBase{function __construct($val=null){$this->Value=strval($val);}public $Value;public function GetValue($=null){return new ($this->Value);}}class ValueEnumRef extends ValueRef{function __construct($value=null){$this->Type=$value!=null?$value->():"";$this->Value=$value->();}public $Value;public function GetValue($=null){if(!empty($)){return $->()->($this->Type,$this->Value,$this->Presentation);}throw new Exception(" .");}}class ValueObjectRef extends ValueRef{function __construct($value=null){$this->Type=$value!=null?$value->():"";$this->Value=$value!=null?strval($value->()):"";}public $Value;public function GetValue($=null){if($!=null){$=$->()->($this->Type,new ($this->Value));}else{throw new Exception(" .");}if($this->Presentation!=null){$->()->($,$this->Presentation);}if($this->Property!=null){$->()->SOAP($,$this->Property);}return $;}}class ValueAccumulationRecordType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueAccountingRecordType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueAccountType extends ValueSystemEnum{function __construct($val=null){$this->Value=$val?$val->getName():"";}public function GetValue($client=null){return ::($this->Value);}}class ValueNonserializable extends ValueBase{public function GetValue($client=null){return new ();}}class ValueType extends ValueBase{function __construct($value=null){if(!empty($value)){$this->Value=$value->Xml();$this->Namespace=$value->Xml();if(mb_strtolower($this->Namespace)=="http://www.w3.org/2001/XMLSchema"){$this->Namespace=::XMLXmlSchema();}else if(mb_strtolower($this->Namespace)=="http://v8.1c.ru/data"){$this->Namespace=::XML1C();}}}public $Value;public $Namespace;public function GetValue($client=null){$ns=mb_strtolower($this->Namespace);if($ns==::XMLXmlSchema()){$ns="http://www.w3.org/2001/XMLSchema";}else if($ns==::XML1C()){$ns="http://v8.1c.ru/data";}return new ($this->Value,$ns);}}class ValueTypeDescription extends ValueBase{function __construct($value=null){$this->Item=array();if(!empty($value)){$=$value->();foreach($ as $){$this->Item[]=new ValueType($);}$this->NumberQualifiers=$value->()!=null?new NumberQualifiers($value->()):null;$this->StringQualifiers=$value->()!=null?new StringQualifiers($value->()):null;$this->DateQualifiers=$value->()!=null?new DateQualifiers($value->()):null;$this->BinaryDataQualifiers=$value->()!=null?new BinaryDataQualifiers($value->()):null;}}public $Item;public $NumberQualifiers;public $StringQualifiers;public $DateQualifiers;public $BinaryDataQualifiers;public function GetValue($client=null){$types=array();if(!empty($this->Item)){foreach($this->Item as $typeItem){$types[]=$typeItem->GetValue($client);}}return new ($types,$this->NumberQualifiers!=null?$this->NumberQualifiers->GetValue($client):null,this.StringQualifiers!=null?$this->StringQualifiers->GetValue():null,this.DateQualifiers!=null?$this->DateQualifiers->GetValue():null,this.BinaryDataQualifiers!=null?$this->BinaryDataQualifiers->GetValue():null);}}class ValuePointInTime extends ValueBase{function __construct($val=null){$this->Date=$val->()->format("c");$this->Ref=new ValueObjectRef($val->());}public $Date;public $Ref;public function GetValue($=null){return new (new ($this->Date),$this->Ref->GetValue($));}}class ValueBoundary extends ValueBase{function __construct($val=null){$this->Value=ValueBase::From($val->());$this->Type=$val->()->getName();}public $Value;public $Type;public function GetValue($=null){$curValue=$this->Value->GetValue($);$boundaryType=::($this->Type);return new ($curValue,$boundaryType);}}class StringQualifiers{function __construct($){$this->Length=$->();$this->AllowedLength=$->()->getName();}public $Length;public $AllowedLength;public function GetValue(){return new (intval($this->Length),::($this->AllowedLength));}}class NumberQualifiers{function __construct($){$this->Digits=$->();$this->FractionDigits=$->();$this->OnlyPositive=$->()==::();}public $Digits;public $FractionDigits;public $OnlyPositive;public function GetValue(){return new (intval($this->Digits),intval($this->FractionDigits),$this->OnlyPositive?::():::());}}class DateQualifiers{function __construct($){$this->DateFractions=$->()->getName();}public $DateFractions;public function GetValue(){return new (::($this->DateFractions));}}class BinaryDataQualifiers{function __construct($){$this->Length=$->();$this->AllowedLength=$->()->getName();}public $Length;public $AllowedLength;public function GetValue(){return new (intval($this->Length),::($this->AllowedLength));}}abstract class MetadataNode{function __construct(){}public $Name;public $FullName;public $Title;public function GetValue($){return null;}}class MetadataModule extends MetadataNode{function __construct(){}public function GetValue($){return new ($,$this);}}class MetadataCollection extends MetadataNode{function __construct(){}public $Item;public $TotalObjectsCount;public $RequestedObjectsCount;public $PackObjectsCount;public function GetValue($){return new ($,$this);}}class MetadataAttribute extends MetadataNode{function __construct(){}public function GetValue($){return new ($,$this);}}class MetadataTableSection extends MetadataNode{function __construct(){}public $Attribute;public function GetValue($){return new ($,$this);}}class MetadataObject extends MetadataNode{function __construct(){}public $CollectionType;public $Attribute;public $TableSection;public $Predefined;public function GetValue($){return new ($,$this);}}class MetadataApplication extends MetadataNode{function __construct(){}public $Collection;public $TotalObjectsCount;public $RequestedObjectsCount;public $PackSize;public $PackIndex;public function GetValue($){return new ($,$this);}}class PostObject_Settings{function __construct($,$,$,$){$this->AdditionalProperties=ValueBase::From($);$this->ExchangeLoadMode=boolval($);$this->DocumentWriteMode=$!=null?$->getName():null;$this->DocumentPostingMode=$!=null?$->getName():null;}public $AdditionalProperties;public $ExchangeLoadMode;public $DocumentWriteMode;public $DocumentPostingMode;}class extends DateTime{public function __toString(){return $this->format("c");}}class extends ArrayObject{function __construct(...$){foreach($ as $){$this->($);}$this->eventDispatcher=new ();}private $eventDispatcher;public function (){return $this->eventDispatcher;}public static function ($array){$result=new ();foreach($array as $val){$result->($val);}return $result;}public function (){$result=new ();foreach($this as $val){$result->($val);}return $result;}public function ToArray(){$result=array();foreach($this as $val){$result[]=$val;}return $result;}public function ($){$this->eventDispatcher->("");parent::append($);$this->eventDispatcher->("");}public function ($,$){if(gettype($)!="integer"){throw new InvalidArgumentException(". .");}$count=parent::count();if($<0||$>$count){throw new InvalidArgumentException(" .");}$this->eventDispatcher->("");for($i=$count;$i>$;$i--){parent::offsetSet($i,parent::offsetGet($i-1));}parent::offsetSet($,$);$this->eventDispatcher->("");}public function ($){$this->eventDispatcher->("");$this->offsetUnset($);$this->eventDispatcher->("");}public function (){$this->eventDispatcher->("");$iterator=parent::getIterator();foreach($iterator as $key=>$value){parent::offsetUnset($key);}$this->eventDispatcher->("");}public function ($){return $this->offsetGet($);}public function ($,$){$this->eventDispatcher->("");return $this->offsetSet($,$);$this->eventDispatcher->("");}public function (){return count($this);}public function ($){$iterator=parent::getIterator();foreach($iterator as $key=>$value){if($value===$){return $key;}}return null;}public function offsetGet($index){if(is_null($index)){return parent::offsetSet($index,$newVal);}if(gettype($index)!="integer"){throw new InvalidArgumentException(". .");}if($index<0||$index>=parent::count()){throw new InvalidArgumentException(" .");}return parent::offsetGet($index);}public function offsetSet($index,$newVal){if(is_null($index)){return parent::offsetSet($index,$newVal);}if(gettype($index)!="integer"){throw new InvalidArgumentException(". .");}if($index<0||$index>=parent::count()){throw new InvalidArgumentException(" .");}$this->eventDispatcher->("");parent::offsetSet($index,$newVal);$this->eventDispatcher->("");}public function offsetUnset($index){if(gettype($index)!="integer"||$index<0){throw new InvalidArgumentException(". . : {$index}");}$this->eventDispatcher->("");$count=$this->count();for($i=$index;$i<$count-1;$i++){parent::offsetSet($i,parent::offsetGet($i+1));}parent::offsetUnset($count-1);$this->eventDispatcher->("");}}class extends ArrayObject{function __construct($args=null){$argsCount=func_num_args();if($argsCount>=1){$strProps=func_get_arg(0);$props=explode(",",strval($strProps));$propsCount=count($props);for($i=0;$i<$propsCount;$i++){$this->(trim($props[$i]),$i+1<$argsCount?func_get_arg($i+1):null);}}}private static function isValidPropertyName($propName){return preg_match("/^[A-Za-z--_]{1}[A-Za-z--_0-9]*/",$propName);}public function ($,$=null){if(gettype($)!="string"||!::isValidPropertyName($)){throw new Exception(" . .");}$tempKey=mb_strtolower($);return parent::offsetSet($tempKey,array($,$));}public function ($,&$){$tempKey=mb_strtolower($);if(parent::offsetExists($tempKey)){$=$this->offsetGet($tempKey);return true;}return false;}public function ($){$tempKey=mb_strtolower($);parent::offsetUnset($tempKey);}public function (){$iterator=parent::getIterator();foreach($iterator as $key=>$value){parent::offsetUnset($key);}}public function (){return count($this);}public function offsetSet($key,$newVal){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);$tempVal=parent::offsetGet($tempKey);if(is_array($tempVal)){parent::offsetSet($tempKey,array($tempVal[0],$newVal));return;}throw new InvalidArgumentException(" '{$key}' .");}public function offsetGet($key){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);$tempVal=parent::offsetGet($tempKey);if(is_array($tempVal)){return $tempVal[1];}throw new InvalidArgumentException(" '{$key}' .");}public function offsetUnset($index){if(gettype($key)!="string"||!::isValidPropertyName($key)){throw new InvalidArgumentException(" . .");}$tempKey=mb_strtolower($key);parent::offsetUnset($tempKey);}public function getIterator(){$iterator=parent::getIterator();foreach($iterator as $key=>$value){yield $value[0]=>$value[1];}}public function __get($name){return $this->offsetGet($name);}public function __set($name,$val){return $this->offsetSet($name,$val);}public function __isset($name){return $this->($name);}}class implements IteratorAggregate,ArrayAccess,Serializable,Countable{function __construct(){$this->keyValues=array();}private $keyValues;public function ($){return $this->offsetGet($);}public function ($,$){$this->offsetSet($,$);}public function ($){$this->offsetUnset($);}public function (){$this->keyValues=array();}public function (){return $this->count();}public function getIterator(){foreach($this->keyValues as $key=>$val){yield $val->=>$val->;}}public function offsetGet($offset){foreach($this->keyValues as $key=>$val){if($val->===$offset){return $val->;}}return null;}public function offsetSet($offset,$value){$tempKey=null;foreach($this->keyValues as $key=>$val){if($val->===$offset){$tempKey=$key;break;}}if($tempKey!==null){$this->keyValues[$key]=new ($offset,$value);}else{$this->keyValues[]=new ($offset,$value);}}public function offsetUnset($offset){$tempKey=null;foreach($this->keyValues as $key=>$val){if($val->===$offset){$tempKey=$key;break;}}if($tempKey!==null){unset($this->keyValues[$tempKey]);}}public function offsetExists($offset){foreach($this->keyValues as $key=>$val){if($val->===$offset){return true;}}return false;}public function count(){return count($this->keyValues);}public function serialize(){return serialize($this->keyValues);}public function unserialize($data){$this->keyValues=unserialize($data);}public function ToArray(){$result=array();foreach($this->keyValues as $key=>$val){$result[$val->]=$val->;}return $result;}public static function ($){$result=new ();foreach($ as $=>$){$result->($,$);}return $result;}}class DBNull{public function __toString(){return "";}}class {function __construct($,$){$this->key=$;$this->value=$;}private $key;private $value;public function __get($name){$strName=mb_strtolower($name);switch($strName){case '':return $this->key;case 'key':return $this->key;case '':return $this->value;case 'value':return $this->value;}return null;}public function __isset($name){$strName=mb_strtolower($name);switch($strName){case '':return isset($this->key);case 'key':return isset($this->key);case '':return isset($this->value);case 'value':return isset($this->value);}return false;}}class {function __construct($=null){$this->value=$;}private $value;public function (){return $this->value;}public static function ($){return new ($);}public static function ($){$data=file_get_contents($);return new ($data);}public function ($){file_put_contents($,$this->value);}}class {function __construct($){$this->data=$;}private $data;public function (){return $this->data;}}class {function __construct($=null){if($===null){$this->value=$this->generateNewString();}else{$tempVal=strtolower($);if(preg_match("/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/",$tempVal)){$this->value=$?strtolower($):$this->generateNewString();}else{throw new InvalidArgumentException(" . .");}}}private $value;private function generateNewString(){if(function_exists('com_create_guid')===true){return trim(com_create_guid(),'{}');}$data=openssl_random_pseudo_bytes(16);$data[6]=chr(ord($data[6])&0x0f|0x40);$data[8]=chr(ord($data[8])&0x3f|0x80);return vsprintf('%s%s-%s-%s-%s-%s%s%s',str_split(bin2hex($data),4));}public function (){return $this->value=="00000000-0000-0000-0000-000000000000";}public function __toString(){return $this->value;}public function ($){return $this->__toString()==strval($);}public static function (){return $this->generateNewString();}public static function (){return new ("00000000-0000-0000-0000-000000000000");}}class {function __construct($,$){$this->date=$;$this->reference=$;}private $date;private $reference;public function __toString(){return $this->date->format('c')."; ".strval($this->reference);}public function (){return $this->date;}public function (){return $this->reference;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='date'){return $this->date;}if($tempName==''||$tempName=='ref'){return $this->reference;}return null;}}class {function __construct($,$=null){$this->value=$;$this->boundaryType=$ instanceof ?$:::();}private $value;private $boundaryType;public function (){return $this->value;}public function (){return $this->boundaryType;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='value'){return $this->value;}if($tempName==''||$tempName=='boundarytype'){return $this->boundaryType;}return null;}public function __toString(){return get_class($this);}}class {function __construct($xml,$xml){$this->name=$xml;$this->nameSpace=$xml;}private $name;private $nameSpace;public function (){return $this->data;}public function Xml(){return $this->name;}public function Xml(){return $this->nameSpace;}public function __toString(){return $this->name;}public static function XMLXmlSchema(){return "#xs";}public static function XML1C(){return "#1c";}public static function (){return new ("string",::XMLXmlSchema());}public static function (){return new ("decimal",::XMLXmlSchema());}public static function (){return new ("dateTime",::XMLXmlSchema());}public static function (){return new ("boolean",::XMLXmlSchema());}public static function (){return new ("base64Binary",::XMLXmlSchema());}public static function (){return new ("ValueStorage",::XML1C());}public static function (){return new ("UUID",::XML1C());}public static function (){return new ("AccumulationMovementType",::XML1C());}public static function (){return new ("AccountingMovementType",::XML1C());}public static function (){return new ("AccountType",::XML1C());}public static function ($){return new ("CatalogRef.{$}","");}public static function ($){return new ("DocumentRef.{$}","");}public static function ($){return new ("EnumRef.{$}","");}public static function ($){return new ("ChartOfCharacteristicTypesRef.{$}","");}public static function ($){return new ("ChartOfAccountsRef.{$}","");}public static function ($){return new ("ChartOfCalculationTypesRef.{$}","");}public static function ($){return new ("BusinessProcessRef.{$}","");}public static function ($){return new ("TaskRef.{$}","");}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($,$=null,$=null,$=null,$=null){$this->types=$;$this->numberQualifiers=$;$this->stringQualifiers=$;$this->dateQualifiers=$;$this->binaryDataQualifiers=$;}private $types;private $stringQualifiers;private $numberQualifiers;private $dateQualifiers;private $binaryDataQualifiers;public function (){return $this->numberQualifiers;}public function (){return $this->stringQualifiers;}public function (){return $this->dateQualifiers;}public function (){return $this->binaryDataQualifiers;}public function (){return $this->types;}public function __toString(){return implode(", ",$this->types);}public function getIterator(){foreach($this->types as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->types[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return isset($this->types[$offset]);}public function count(){return count($this->types[$offset]);}}class extends {protected function enumValues(){return array(array("","Variable"),array("","Fixed"));}}class extends {protected function enumValues(){return array(array("","Any"),array("","Nonnegative"));}}class extends {protected function enumValues(){return array(array("","Time"),array("","Date"),array("","DateTime"));}}class extends {protected function enumValues(){return array(array("","Receipt"),array("","Expense"));}}class extends {protected function enumValues(){return array(array("","Debit"),array("","Credit"));}}class extends {protected function enumValues(){return array(array("","ActivePassive"),array("","Active"),array("","Passive"));}}class {function __construct($,$,$=null){if(!::IsPropertyNameValid($)){throw new Exception(" .");}$this->columnCollection=$;$this->name=$;$this->title=empty($)?$:$;}private $columnCollection;private $name;private $title;private static function IsPropertyNameValid($name){return preg_match("/^[A-Za-z--_]{1}[A-Za-z--_0-9]*/",$name);}public function (){return $this->name;}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='name'){return $this->name;}}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='name'){$this->name=$value;}}public function __toString(){return $this->name;}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){$this->parentCollection=$;$this->columns=new ();}private $parentCollection;private $columns;public function ($,$=null){if($this->($)!=null){throw new Exception(" \"{$}\" .");}$column=new ($this,$,$);$this->columns->($column);}public function (){$=array();foreach($this->columns as $val){$[]=$val->();}return $;}public function OnColumnStartRename($column,$name){$this->parentCollection->OnColumnStartRename($column,$name);}public function OnColumnEndRename($column){$this->parentCollection->OnColumnEndRename($column,$name);}public function (){return $this->columns->();}public function ($,$,$=null){if($this->($)!=null){throw new Exception(" \"{$}\" .");}$column=new ($this,$,$);$this->columns->($,$column);}public function ($){$tempName=mb_strtolower($);foreach($this->columns as $column){if($tempName==mb_strtolower($column->())){return $column;}}return null;}public function ($){if(gettype($)=='integer'){$=$this->columns[$];$this->columns->($);$this->parentCollection->OnColumnDelete($);}elseif($ instanceof ){$=$this->columns->($);$this->($);}elseif(gettype($)=='string'){$=$this->($);if($!==null){$this->($);}}}public function getIterator(){foreach($this->columns as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->columns[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->columns->offsetExists($offset);}public function count(){return $this->columns->();}}abstract class implements ArrayAccess{function __construct($){$this->parentCollection=$;$this->values=new ();}private $parentCollection;private $values;public function commonGet($fieldName){$column=$this->parentCollection->->($fieldName);if($column!=null){return $this->values[$column];}return null;}private function commonSet($fieldName,$value){$column=$this->parentCollection->->($fieldName);if($column!=null){$this->values[$column]=$value;}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){return $this->commonSet($name,$value);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){return $this->commonSet($offset,$value);}public function offsetUnset($offset){}public function offsetExists($offset){return $this->parentCollection->->($offset)!==null;}public function OnColumnRemove($column){$this->values->($column);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);$this->rows=new ($);}private $rows;public function&(){return $this->rows;}}abstract class {function __construct(){$this->columns=new ($this);}private $columns;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='columns'){return $this->columns;}}public function OnColumnStartRename($column,$name){$tempColumn=$this->->($name);if($tempColumn!=null&&$tempColumn!=$column){throw new Exception(" \"{$tempColumn->()}\" .");}}public function OnColumnEndRename($column){}}class extends implements IteratorAggregate,ArrayAccess,Countable{function __construct(){parent::__construct();$this->rows=new ();}private $rows;public function (){return $this->rows->();}public function (){$newRow=new ($this);$this->rows->($newRow);return $newRow;}public function ($){$newRow=new ($this);$this->rows->($,$newRow);return $newRow;}public function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function (){$=$this->();for($i=$-1;$i>=0;$i--){$=$this->rows[$i];$this->($i);}}public function ($){return $this->rows[$];}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}public function OnColumnDelete($column){foreach($this->rows as $row){$row->OnColumnRemove($column);}}}class extends {function __construct(){parent::__construct();$this->rows=new ($this);}private $rows;public function&(){return $this->rows;}public function OnColumnDelete($column){$tempRows=&$this->();$this->UpdateRowsOnColumnDelete($tempRows,$column);}private function UpdateRowsOnColumnDelete(&$rows,$column){foreach($rows as $row){$row->OnColumnRemove($column);$tempRows=&$row->();$this->UpdateRowsOnColumnDelete($tempRows,$column);}}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){$this->parentCollection=$;$this->rows=new ();}private $parentCollection;private $rows;public function (){return $this->rows->();}public function (){$newRow=new ($this->parentCollection);$this->rows->($newRow);return $newRow;}public function ($){$newRow=new ($this->parentCollection);$this->rows->($,$newRow);return $newRow;}public function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function (){$=$this->();for($i=$-1;$i>=0;$i--){$=$this->rows[$i];$this->($i);}}public function ($){return $this->rows[$];}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}}abstract class {protected function __construct($,$,$){$this->bromClient=$;$this->collectionType=$;$this->collectionName=$;}protected $bromClient;protected $collectionType;protected $collectionName;public function (){return $this->collectionType;}public function (){return $this->collectionName;}public function (){return $this->bromClient;}public function (){return $this->collectionType->getName().".".$this->collectionName;}public function (){$=null;$this->bromClient->->($this->(),$);return $;}public abstract function ();public static function ($,$,$,$){if($==::()){return $->()->("{$->getName()}.{$}",$);}else{return $->()->("{$->getName()}.{$}",$);}}public static function ($,$,$){$=explode(".",$);return self::($,$[0],$[1],$);}}class extends {public function __construct($,$,$,$=""){parent::__construct($,::(),$);$this->name=$;$this->title=!empty($)?$:$this->name;}private $name;private $title;public function (){return $this->name;}public function (){return $this->title;}public function (){return empty($this->name);}public function __toString(){return $this->();}}class extends implements ArrayAccess{public function __construct($,$,$,$){parent::__construct($,$,$);$this->guid=$;}private $guid;public function (){return $this->guid;}public function (){return $this->guid->();}public function (){if($this->()){throw new Exception(" . \"\" .");}$=::($this);$->();return $;}public function __toString(){$=$this->bromClient->()->($this);return $!==null?$:"{$this->()}: ({$this->guid})";}public function ($){return $!=null&&$this->guid->($->guid)&&$this->()==$->()&&$this->()==$->();}private function commonGet($fieldName){$value=null;$this->bromClient->()->($this,$fieldName,$value);return $value;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){$metadata=$this->();return $metadata->->($offset)||$metadata->->($offset);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class extends {public function __construct($,$,$){parent::__construct($,::(),$,$);}}class {}class {function __construct($,$){$this->length=empty($)?0:$;$this->allowedLength=empty($)?::():$;}private $length;private $allowedLength;public function (){return $this->length;}public function (){return $this->allowedLength;}}class {function __construct($,$,$){$this->digits=empty($)?0:$;$this->fractionDigits=empty($)?0:$;$this->allowedSign=empty($)?::():$;}private $digits;private $fractionDigits;private $allowedSign;public function (){return $this->digits;}public function (){return $this->fractionDigits;}public function (){return $this->allowedSign;}}class {function __construct($){$this->dateFractions=empty($)?::():$;}private $dateFractions;public function (){return $this->dateFractions;}}class {function __construct($,$){$this->length=empty($)?0:$;$this->allowedLength=empty($)?::():$;}private $length;private $allowedLength;public function (){return $this->length;}public function (){return $this->allowedLength;}}class extends {protected function enumValues(){return array(array("","Including"),array("","Excluding"));}}interface {public function ($,&$);public function ($,$);public function ();public function ($);}class implements {function __construct($){$this->rootDirectoryPath=$;$this->dataDirectoryPath=$this->($this->rootDirectoryPath,"data");}private $rootDirectoryPath;private $dataDirectoryPath;private function (){$path='';$arguments=func_get_args();$args=array();foreach($arguments as $a)if($a!=='')$args[]=$a;$arg_count=count($args);for($i=0;$i<$arg_count;$i++){$folder=$args[$i];if($i!=0 and $folder[0]==DIRECTORY_SEPARATOR)$folder=substr($folder,1);if($i!=$arg_count-1 and substr($folder,-1)==DIRECTORY_SEPARATOR)$folder=substr($folder,0,-1);$path.=$folder;if($i!=$arg_count-1)$path.=DIRECTORY_SEPARATOR;}return $path;}private function ($dir){foreach(glob($dir.'/*')as $file){if(is_dir($file)){$this->($file);}else{unlink($file);}}rmdir($dir);}public function (){return $this->rootDirectoryPath;}public function ($key,&$value){$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);if(file_exists($path)){$value=file_get_contents($path);return true;}$value=null;return false;}public function ($key,$value){if(!file_exists($this->dataDirectoryPath)){mkdir($this->dataDirectoryPath,0777,true);}$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);file_put_contents($path,$value);}public function (){if(file_exists($this->dataDirectoryPath)){$this->($this->dataDirectoryPath);}}public function ($key){$hash=md5(mb_strtolower($key));$path=$this->($this->dataDirectoryPath,$hash);return file_exists($path);}}abstract class implements ArrayAccess,Countable,IteratorAggregate{function __construct($,$,$,$,$){$this->root=$;$this->name=$;$this->fullName=$;$this->title=$?$:$;$this->parentNode=$;$this->children=array();if($!==null){$->($this);}}private $name;private $fullName;private $title;private $parentNode;private $root;private $children;protected function (){foreach($this->children as $key=>$value){unset($this->children[$key]);}}protected function ($,&$){$=mb_strtolower($);if(isset($this->children[$])){$=$this->children[$][1];return true;}return false;}protected function ($){$=null;$this->($,$);return $;}public function (){return $this->name;}public function (){return $this->fullName;}public function (){return $this->title;}public function (){return $this->parentNode;}public function (){if(get_class($this)==""){return $this;}return $this->root;}public function (){if($this->()==null){return "";}if(!$this->()->()){return $this->();}return $this->()->().".".$this->();}public function (){return $this->()->();}public function ($){$tempName=mb_strtolower($->name);$this->children[$tempName]=array($->name,$);$this->()->($);}public function ($){$=null;$this->($,$);return $;}public function ($,&$){$=explode(".",$);$=$this;foreach($ as $){if(!$->($,$)){$=null;return false;}}$=$;return true;}public function ($){$temp=null;return $this->($,$temp);}public function __toString(){return $this->fullName;}public function __get($offset){return $this->($offset);}public function offsetGet($offset){return $this->($offset);}public function offsetSet($offset,$value){}public function offsetExists($offset){return $this->($offset);}public function offsetUnset($offset){}public function count(){return count($this->children);}public function getIterator(){$iterator=new ArrayIterator($this->children);foreach($iterator as $key=>$val){yield $val[0]=>$val[1];}}public function&(){$result=array();foreach($this->children as $key=>$val){$result[]=$val[0];}return $result;}protected static function ($,$,$attributesSOAP){$=new ($,$,"","{$->()}.","","MetadataAttribute");if($attributesSOAP!=null){foreach($attributesSOAP as $attribute){new ($,$attribute);}}}protected static function ($,$,$tablesSOAP){$=new ($,$,"","{$->()}.","","MetadataTableSection");if($tablesSOAP!=null){foreach($tablesSOAP as $table){new ($,$table);}}}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,$metadata->FullName,$metadata->Title);}}class extends {function __construct($,$,$,$,$,$Soap,$=false){parent::__construct($->(),$,$,$,$);$this->checkCache=$;$this->soapType=$Soap;}private $checkCache;private $soapType;private $childrenNames;public function&(){if(!$this->checkCache){return parent::();}if($this->childrenNames!=null){return $this->childrenNames;}$=$this->()->();if($!=null){$XML;if($->("#list.".$this->(),$XML)){$this->childrenNames=unserialize($XML);return $this->childrenNames;}}$=&$this->()->($this->());$=&$[$this->()];if($!=null){$=array();foreach($ as $){$[]=$;}$this->childrenNames=&$;if($!=null){$->("#list.".$this->(),serialize($));}return $this->childrenNames;}throw new Exception(" \"{$this->()}\".");}protected function ($,&$){if(parent::($,$)){return true;}if($this->checkCache){$=$this->()->();$xml;if($!=null&&$->($this->().".".$,$xml)){$=unserialize($xml)->GetValue($this);return true;}$=$this->();if(array_search($,$)!==false){$this->()->("{$this->()}.{$}");return $this->($,$);}}$=null;return false;}public function getIterator(){if($this->checkCache){$names=$this->();foreach($names as $name){$=null;if($this->($name,$)){yield $name=>$;}}}else{$iterator=parent::getIterator();foreach($iterator as $key=>$val){yield $key=>$val;}}}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,"{$->()}..{$metadata->Name}",$metadata->Title);}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,"{$->()}..{$metadata->Name}",$metadata->Title);::($->(),$this,$metadata->Attribute);}}class extends {function __construct($,$metadata){parent::__construct($->(),$,$metadata->Name,$metadata->FullName,$metadata->Title);$this->collectionType=::($metadata->CollectionType);$this->predefinedValues=new ();::($->(),$this,$metadata->Attribute);::($->(),$this,$metadata->TableSection);$=$metadata->Predefined!=null?$metadata->Predefined->GetValue($->()):null;if($!=null){foreach($ as $key=>$val){$this->predefinedValues->($key,$val);}}}private $collectionType;private $predefinedValues;public function (){return $this->collectionType;}public function (){return $this->predefinedValues;}public function __get($name){$tempName=mb_strtolower($name);switch($tempName){case "":case "predefined":return $this->predefinedValues;}return parent::__get($name);}}class extends {function __construct($){parent::__construct(null,null,"","","");$this->bromClient=$;$this->metadataMap=array();$this->Init();}private $bromClient;private $metadataMap;private $cache;private $fullNameToPathMap;private function Init(){$this->();foreach($this->metadataMap as $key=>$val){unset($this->metadataMap[$key]);}$this->fullNameToPathMap=array(""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",""=>"",);new ($this,$this,"","","","MetadataAttribute",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataAttribute",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"",""," ","MetadataObject",true);new ($this,$this,"","","-","MetadataObject",true);new ($this,$this,"","","","MetadataObject",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);new ($this,$this,"","","","MetadataModule",true);new ($this,$this,"",""," ","MetadataModule",true);}private function ($,$node){if($this->cache!=null){$this->cache->($->(),serialize($node));}}public function (){return $this->cache;}public function ($){$this->cache=$;}public function ($){if($this->metadataMap!=null){$=mb_strtolower($->());$this->metadataMap[$]=$;}}public function ($,$=0){$=0;while(true){$soapMetadataPack=$this->SOAP($,$,$);$this->SOAP($soapMetadataPack);$=$soapMetadataPack->RequestedObjectsCount;$=$soapMetadataPack->PackSize;$=$>0?(int)(($+$-1)/$):0;if($>=$-1){break;}$++;}}public function SOAP($soapMetadataPack){if($soapMetadataPack->Collection==null){return;}foreach($soapMetadataPack->Collection as $collection){$;if($this->($collection->Name,$)){if($collection->Item!=null){foreach($collection->Item as $node){$=$node->GetValue($);$this->($,$node);}}}}}public function (){return $this->bromClient;}private function SOAP($,$,$){return $this->bromClient->Soap()->GetMetadata(array('nodes'=>$,'pack_size'=>$,'pack_index'=>$))->return;}public function ($){$result=$this->bromClient->Soap()->GetMetadaChildrenNames(array('parents'=>$))->return;return $result->GetValue($this->bromClient);}public function ($,&$){if(isset($this->metadataMap[$])){$=$this->metadataMap[$];return true;}$=explode(".",$);if(count($)>=1){if(isset($this->fullNameToPathMap[$[0]])){$[0]=$this->fullNameToPathMap[$[0]];}}if(count($)>=3){if(isset($this->fullNameToPathMap[$[2]])){$[2]=$this->fullNameToPathMap[$[2]];}}$=implode(".",$);return $this->($,$);}public function __get($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='cache'){return $this->cache;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='cache'){$this->cache=$value instanceof ?$value:null;}return null;}}class implements ArrayAccess{function __construct($publication,$user,$password){$normalPublication=trim(strval($publication),"/");$wsdl_link="{$normalPublication}/ws/brom_api?wsdl";$service_link="{$normalPublication}/ws/brom_api";$this->soapClient=new SoapClient($wsdl_link,array('login'=>$user,'password'=>$password,'location'=>$service_link,'exceptions'=>1,'encoding'=>'UTF-8','classmap'=>$this->getClassMap(),'features'=>SOAP_SINGLE_ELEMENT_ARRAYS,'trace'=>1));$this->metadata=new ($this);$this->dataContext=new ($this);}private static $version="1.0.1-beta";private $soapClient;private $metadata;private $dataContext;private function getClassMap(){$types=array('MetadataModule','MetadataCollection','MetadataAttribute','MetadataTableSection','MetadataObject','MetadataApplication','ValueNull','ValueDBNull','ValueString','ValueNumber','ValueBoolean','ValueDate','ValueArray','ValueStruct','ValueMap','ValueTable','ValueTree','ValueKeyValue','ValueObjectRef','ValueEnumRef','ValueStorage','ValueBinaryData','ValueGuid','ValueType','ValueTypeDescription','ValuePointInTime','ValueBoundary','ValueAccountingRecordType','ValueAccumulationRecordType','ValueAccountType','ValueNonserializable','NumberQualifiers','StringQualifiers','DateQualifiers','BinaryDataQualifiers','PostObject_Settings',);$classMap=array();foreach($types as $type=>$val){$classMap[$val]=$val;}return $classMap;}private function ($,$=null,$=null,$=null,$=null,$=false,$=null,$=false){$parameters=array();if($ instanceof ){foreach($ as $key=>$val){$parameters[]=ValueBase::SoapValue("RequestParameter",array('Key'=>$key,'Value'=>ValueBase::From($val)));}}$filters=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$filters[]=ValueBase::SoapValue("RequestFilter",array('Key'=>$val->(),'Value'=>ValueBase::From($val->()),'ComparisonType'=>$val->()->getName()));}}$fields=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$val->(),'Name'=>$val->()));}}$sort=array();if($ instanceof ||is_array($)){foreach($ as $key=>$val){$sort[]=ValueBase::SoapValue("RequestSort",array('Key'=>$val->(),'Direction'=>$val->()==::()?"":""));}}$settings=ValueBase::SoapValue("ExecuteRequest_Settings",array('Parameter'=>$parameters,'Filter'=>$filters,'Field'=>$fields,'Sort'=>$sort,'QueryResultIteration'=>$ instanceof ?$->getName():::()->getName(),'IncludeTemporalData'=>boolval($)));if(!boolval($)){return $this->Soap()->ExecuteRequest(array('request'=>$,'settings'=>$settings))->return->GetValue($this);}else{return $this->Soap()->ExecuteRequestBatch(array('request'=>$,'settings'=>$settings))->return->GetValue($this);}}public function Soap(){return $this->soapClient;}public function (){return $this->dataContext;}public function ($="",$=0){$this->metadata->($,$);}public function ($){$result=$this->Soap()->GetSessionParameter(array('name'=>$))->return;return $result->GetValue($this);}public function ($){return $this->soapClient->GetConstant(array('name'=>$))->return->GetValue($this);}public function ($,$){$this->soapClient->SetConstant(array('name'=>$,'value'=>ValueBase::From($)));}public function ($,$,...$){return $this->($,$,$);}public function ($,$,&$=null){$=is_array($)?$:array();$result=$this->Soap()->ExecuteMethod(array('module'=>$,'method'=>$,'params'=>ValueBase::From(::($))))->return;return $result->GetValue($this);}public function ($,$=null){$result=$this->Soap()->ExecuteCode(array('code'=>$,'param'=>ValueBase::From($)))->return;return $result->GetValue($this);}public function ($,$=null,$=null,$=null,$=null,$=null){return $this->($,$,$,$,$,false,$);}public function ($,$=null,$=null,$=null,$=null,$=null,$=false){return $this->($,$,$,$,$,true,$,$);}public function Ping(){return $this->Soap()->GebugPing()->return;}public function ($value){$soapValue=ValueBase::From($value);$result=$this->Soap()->DebugEcho(array('param'=>$soapValue))->return;return $result->GetValue($this);}public function ($=""){return new ($this,$);}public function (){return new ($this);}public function (){return $this->soapClient->GetSystemInfo()->return->GetValue($this);}public function ($,$=null,$=null){$=empty($)?::():$;$fields=array();if($ instanceof ||is_array($)){foreach($ as $fieldName){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$fieldName));}}$settings=ValueBase::SoapValue("GetObject_Settings",array('Field'=>$fields,'AddSkippedProperties'=>true,'PropertiesHierarchyType'=>"Hierarchy",'FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>$->,'CustomFields'=>$->,'Tables'=>$->))));$soapValue=$this->soapClient->GetObject(array('reference'=>ValueBase::From($),'settings'=>$settings))->return;return $soapValue->ToTree($this);}private function commonGet($name){$tempName=mb_strtolower($name);if($tempName==""){return $this->metadata;}$=null;if($this->metadata->($name,$)){switch($->()){case "":return new ($this);case "":return new ($this);case "":return new ($this);case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$,::());case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return new ($this,$);case "":return null;}}else if($this->metadata->(".{$name}",$)){return new ($this,$);}return null;}public function __get($fieldName){return $this->commonGet($fieldName);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){$=null;$check=$this->->($offset,$)||$this->->(".{$offset}",$);return $check&&$->()!="";}public function __call($name,$args){return $this->("",$name,$args);}public static function (){return self::version;}public static function (){return " \"\". - ( \"\").";}}abstract class {function __construct($,$){if(!$){throw new Exception(" \"\" .");}if(!$){throw new Exception(" \"\" .");}$this->bromClient=$;$this->moduleMetadata=$;}protected $moduleMetadata;protected $bromClient;}class extends {function __construct($,$){parent::__construct($,$);}public function __call($name,$arguments){return $this->bromClient->($this->moduleMetadata->(),$name,$arguments);}public function __toString(){return"{base::__toString()}.{$this->moduleMetadata->()}";}}abstract class extends {function __construct($,$){parent::__construct($,$);}public function __call($name,$arguments){return $this->bromClient->($this->moduleMetadata->(),$name,$arguments);}}class extends {function __construct($,$){parent::__construct($,$);}}class extends {function __construct($,$){parent::__construct($,$);}public function (){$=new ($this->bromClient);$->(::(),$this->moduleMetadata->());return $;}public function ($){return ::($this->bromClient,::(),$this->moduleMetadata->(),$);}public function (){return ::($this->bromClient,::(),$this->moduleMetadata->());}public function __get($name){$predefined=$this->moduleMetadata->();$value=null;if($predefined->($name,$value)){return $value;}return null;}}abstract class extends {function __construct($,$,$){parent::__construct($,$);$this->=$;}protected $;public function (){$=new ($this->bromClient);$->($this->,$this->moduleMetadata->());return $;}public function ($){return ::($this->bromClient,$this->,$this->moduleMetadata->(),$);}public function (){return ::($this->bromClient,$this->,$this->moduleMetadata->());}protected function (){return ::(::($this->bromClient,$this->,$this->moduleMetadata->(),::()));}public function __get($name){$predefined=$this->moduleMetadata->();$value=null;if($predefined->($name,$value)){return $value;}return null;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=false;}return $;}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=true;}return $;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=false;}return $;}public function (){$=$this->();$=null;if($this->moduleMetadata->(".",$)){$->=true;}return $;}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends {function __construct($,$){parent::__construct($,$,::());}public function (){return $this->();}}class extends implements ArrayAccess{function __construct($,$){parent::__construct($,$);}private function commonGet($fieldName){$=null;if($this->moduleMetadata->($fieldName,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->moduleMetadata->($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return new ($this->bromClient,$);}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($){parent::__construct($,$->->(""));}private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){return $this->bromClient->($->());}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class extends {function __construct($,$,$){parent::__construct($,$);$this->=$;}protected $;private function commonGet($name){$=null;if($this->moduleMetadata->($name,$)){$=$this->->getName();switch($){case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);case "":return new ($this->bromClient,$);}}return null;}public function __get($name){return $this->commonGet($name);}public function offsetGet($offset){return $this->commonGet($offset);}}class {function __construct($){if(empty($)){throw new Exception(" .");}$this->bromClient=$;$this->data=array();$this->references=array();}private $bromClient;private $data;private $references;public function (){return $this->bromClient;}private function&($){$=::($);$node=$this->data[$];if(empty($node)){$this->data[$]=array();}return $this->data[$];}private function ($){$=::($);unset($this->data[$]);}private function ($){$=&$this->($);foreach($ as $key=>$val){unset($[$key]);}$=$->()->("");foreach($ as $key=>$val){$[$key]=null;}$["#"]=null;}private function ($,$){$=&$this->($);$=$[$->()];if(!($ instanceof )){$=new ($);$this->($,$->(),$);}return $;}public function ($,$,$){$tempName=mb_strtolower($);$=&$this->($);$[$tempName]=$;}public function ($,$){if($===null){return;}$=&$this->($);$["#"]=$;}public function SOAP($,$properties){if($properties===null){return;}$=$->()->("");$=$->()->("");foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$this->($,$->(),$);}else if($->($property->Name,$)){$=$property->GetValue($this->());if($ instanceof ){$=$this->($,$);$->($);}}}}public function ($){$=::($);if($ instanceof ){$this->($);}unset($this->references[$]);}public function ($,$,&$){if(empty($)){throw new Exception(" .");}$=mb_strtolower($);if($==""){$=$;return true;}$=null;if($->()->->($,$)){if($->()){$=null;return true;}$=$this->($);if(isset($[$])){$=$[$];return true;}$this->($);return $this->($,$,$);}if($->()->->($,$)){if($->()){$=$this->($,$);return true;}$=$this->($);if(isset($[$])){$=$[$];if(!($ instanceof )){$=$this->($,$);$[$]=$;}$=$;return true;}$this->($);return $this->($,$,$);}$=null;return false;}public function ($){if(empty($)){throw new Exception(" .");}if($->()){return "";}$=$this->($);if(isset($["#"])){return strval($["#"]);}$this->($);return $this->($);}public function ($){$this->($);}public function ($){$settings=ValueBase::SoapValue("GetObject_Settings",array('AddSkippedProperties'=>true,'FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>true,'CustomFields'=>true,'Tables'=>true,))));$refSoap=$this->bromClient->Soap()->GetObject(array('reference'=>ValueBase::From($),'settings'=>$settings))->return;$this->($);$this->($,$refSoap->Presentation);$this->SOAP($,$refSoap->Property);}public function ($,$){$=null;if(!$this->()->->($,$)){throw new Exception(" . \"{$}\".");}$=::($,strval($));$=$this->references[$];if(!empty($)){return $;}switch($->()->getName()){case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;case '':$=new ($this->bromClient,$->(),$);break;default:throw new Exception(" .");}$this->references[$]=$;return $;}public function ($,$,$=""){$=null;if(!$this->()->->($,$)){throw new Exception(" . \"{$}\".");}if($->()!=::()){throw new Exception(" .");}$=::($,$);$=$this->references[$];if(!empty($)){return $;}$=new ($this->bromClient,$->(),$,$);$this->references[$]=$;return $;}private static function ($,$){$representation=mb_strtolower($."#".$);return sha1($representation);}private static function ($){if($ instanceof ){return self::($->(),strval($->()));}else{return self::($->(),$->());}}}class implements IteratorAggregate,ArrayAccess,Countable{function __construct($){if(empty($)){throw new Exception(" .");}$this->metadata=$;$this->rows=new ();}private $metadata;protected $rows;public function (){return $this->metadata;}public function (){return $this->rows->();}protected function (){$=new ($this);$this->rows->($);return $;}protected function ($){$=$this->rows->($);if($!==null){$this->rows->($);}}public function ($){$=$this->metadata->;$=array();foreach($-> as $){if($->($->())){$[]=$->();}}$this->rows->();foreach($ as $){$=$this->();foreach($ as $){$->($,$[$]);}}}public function (){$=new ();$=$this->metadata->->();foreach($ as $){$->->($);}foreach($this->rows as $){$=$->();foreach($ as $){$[$]=$[$];}}return $;}public function getIterator(){foreach($this->rows as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->rows[$offset];}public function offsetSet($offset,$value){}public function offsetUnset($offset){}public function offsetExists($offset){return $this->rows->offsetExists($offset);}public function count(){return count($this->rows);}public function __toString(){return $this->metadata->();}}class extends {function __construct($,$){parent::__construct($);$this->objectContext=$;$this->isModified=false;}private $objectContext;private $isModified;public function ($value){if($this->isModified!=$value){$this->objectContext->($this->()->(),$value);$this->isModified=$value;}}public function (){$=$this->();$this->(true);return $;}public function ($){$this->($);$this->(true);}public function (){$this->rows->();$this->(true);}}class implements ArrayAccess{function __construct($){if(empty($)){throw new Exception(" .");}$this->tableSection=$;$this->values=array();}private $tableSection;private $values;public function ($,$){$this->values[$]=$;}private function commonGet($fieldName){$result=null;$=null;if($this->tableSection->()->(".{$fieldName}",$)){return $this->values[$->()];}return $result;}private function commonSet($fieldName,$value){$=null;if($this->tableSection->()->(".{$fieldName}",$)){if(get_class($this->tableSection)==''){$this->values[$->()]=$value;$this->tableSection->(true);}}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){$this->commonSet($name,$value);}public function offsetSet($key,$newVal){$this->offsetSet($key,$newVal);}public function offsetGet($key){return $this->commonGet($key);}public function offsetUnset($index){}public function offsetExists($key){return $this->tableSection->()->->($fieldName);}}class {function __construct($){$this->reference=$;$this->data=array();$this->modifiedFields=array();$this->additionalProperties=new ();$this->isExchangeLoadMode=false;}private $reference;private $data;private $additionalProperties;private $modifiedFields;private $isExchangeLoadMode;public function (){foreach($this->modifiedFields as $key=>$val){unset($this->modifiedField[$key]);}}public function ($,$value=true){$=$this->reference->();$=null;if($->->($,$)||$->->($,$)){if($value){$this->modifiedFields[$->()]=true;}else{unset($this->modifiedFields[$->()]);}}}private function ($){$=$this->data[$->()];if($===null){$=new ($this,$);$this->data[$->()]=$;}return $;}public function SOAP($properties){if($properties==null){return;}$=$this->reference->()->;foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$this->data[$->()]=$;}}$=$this->reference->()->;foreach($properties as $property){$=null;if($->($property->Name,$)){$=$property->GetValue($this->());$=$this->($);if($ instanceof ){$->($);}else{$->(new ());}$->(false);}}}protected function ($,$){$tempObject=new ValueObjectRef($this->reference);$tempObject->Property=array();foreach($this->modifiedFields as $key=>$none){$value=$this->data[$key];$property=ValueBase::From($value);$property->Name=$key;$tempObject->Property[]=$property;}$settings=new PostObject_Settings($this->,$,$,$this->isExchangeLoadMode);$returnObject=$this->()->Soap()->PostObject(array('object'=>$tempObject,'settings'=>$settings))->return;$=$returnObject->GetValue($this->());$this->($);$this->SOAP($returnObject->Property);$this->();}public function (){return $this->reference->();}public function (){return $this->reference->();}public function (){return $this->reference->();}public function ($){if($this->reference->($)){return;}if($->()!=$this->reference->()||$->()!=$this->reference->()){throw new Exception(" \"\" \"{$this->reference->()}\".");}$this->reference=$;}public function ($){$this->=$;}public function __toString(){return base::__toString().".".$this->reference->();}public function (){$settings=ValueBase::SoapValue("GetObject_Settings",array('FieldAutoinclusion'=>ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>true,'CustomFields'=>true,'Tables'=>true))));$refSoap=$this->()->Soap()->GetObject(array('reference'=>new ValueObjectRef($this->reference),'settings'=>$settings))->return;$this->()->()->($this->reference,$refSoap->Presentation);$this->()->()->SOAP($this->reference,$refSoap->Property);$this->SOAP($refSoap->Property);$this->();}public function (){$this->();}public function (){if($this->()){throw new Exception(" , .");}$this->()->Soap()->DeleteObject(array('object'=>new ValueObjectRef($this->reference)));$this->()->()->($this->reference);$this->();}private function commonGet($name){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='ref'){return $this->reference;}if($tempName==''||$tempName=='additionalproperties'){return $this->additionalProperties;}if($tempName==''||$tempName=='exchangemode'){return $this->isExchangeLoadMode;}$=$this->reference->();$=null;if($->->($name,$)){return $this->data[$->()];}else if($->->($name,$)){return $this->($);}return null;}private function commonset($name,$value){$tempName=mb_strtolower($name);if($tempName==''||$tempName=='exchangemode'){$this->isExchangeLoadMode=boolval($value);}$=$this->reference->();$=null;if($->->($name,$)){$this->data[$->()]=$value;$this->($->(),true);return $this->data[$->()];}}public function __get($name){return $this->commonGet($name);}public function __set($name,$value){$this->commonset($name,$value);}public static function ($){if($==null){throw new Exception(" .");}switch($->()->getName()){case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);case '':return new ($);default:throw new Exception(" .");}}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}public function ($=null,$=null){$this->($!=null?$:::(),$!=null?$:::());}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {function __construct($){parent::__construct($);}}class extends {protected function enumValues(){return array(array("","Write"),array("","UndoPosting"),array("","Posting"));}}class extends {protected function enumValues(){return array(array("","Regular"),array("","RealTime"));}}class extends {protected function enumValues(){return array(array("","Catalog"),array("","Document"),array("","Enum"),array("","ChartOfCharacteristicTypes"),array("","ChartOfAccounts"),array("","ChartOfCalculationTypes"),array("","BusinessProcess"),array("","Task"));}}class {function __construct($,$=""){$this->bromClient=$;$this->parameters=new ();$this->filters=new ();$this->fields=new ();$this->sort=new ();$this->text=$;}private $text;private $bromClient;private $parameters;private $filters;private $sort;private $fields;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->bromClient;}if($tempName==''){return $this->text;}if($tempName==''){return $this->parameters;}if($tempName==''){return $this->fields;}if($tempName==''){return $this->sort;}if($tempName==''){return $this->filters;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''){$this->text=$value;}}public function ($,$){$this->parameters->($,$);}public function ($,$,$=null){$=new ($,$,$);$this->filters->($);return ;}public function ($,$=null){$this->sort->(new ($,$));}public function ($,$=null){$this->fields->(new ($,$));}public function ($=null){return $this->bromClient->($this->text,$this->parameters,$this->filters,$this->fields,$this->sort,$);}public function ($=null,$=false){return $this->bromClient->($this->text,$this->parameters,$this->filters,$this->fields,$this->sort,$,$);}}class implements IteratorAggregate,ArrayAccess,Countable,{function __construct($){$this->bromClient=$;$this->fields=new ();$this->filters=new ();$this->sort=new ();$this->fieldsAutoloadSettings=::();$this->items=new ();$this->isModified=false;$this->fields->()->($this);$this->filters->()->($this);$this->sort->()->($this);}private $bromClient;private $items;private $collectionType;private $collectionName;private $collectionMetadata;private $fieldsAutoloadSettings;private $limit;private $isModified;private $fields;private $filters;private $sort;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->bromClient;}if($tempName==''){return $this->collectionType;}if($tempName==''){return $this->collectionName;}if($tempName==''){return $this->limit;}if($tempName==''){return $this->collectionMetadata;}if($tempName==''){return $this->fieldsAutoloadSettings;}if($tempName==''){return $this->fields;}if($tempName==''){return $this->filters;}if($tempName==''){return $this->sort;}return null;}public function __set($name,$value){$tempName=mb_strtolower($name);if($tempName==''){$this->limit=$value;$this->isModified=true;}if($tempName==''){$this->fieldsAutoloadSettings=$value;$this->isModified=true;}}public function (){return count($this->items);}public function (){if($this->isModified){$this->();}return $this->items->ToArray();}private function ($,$){if(!($ instanceof )){throw new Exception(" \"{$}\" .");}$=null;if(!$this->bromClient->->("{$}.{$}",$)||!($ instanceof )){throw new Exception(" \"{$}.{$}\" .");}$this->collectionType=$;$this->collectionName=$->();$this->collectionMetadata=$;$this->isModified=true;}private function ($){if(empty($)){throw new Exception(" .");}$=explode(".",$);if(count($)!=2){throw new Exception(" .");}$=::($[0]);if($==null){throw new Exception(" \"{$[0]}\" .");}$=null;if(!$this->bromClient->->($,$)||!($ instanceof )){throw new Exception(" \"{$}\" .");}$this->collectionType=$;$this->collectionName=$->();$this->collectionMetadata=$;$this->isModified=true;}public function (...$args){$numargs=count($args);if($numargs>=2){return $this->($args[0],$args[1]);}elseif($numargs==1){return $this->($args[0]);}throw new Exception(" .");}public function (...$){foreach($ as $){$=explode(",",$);foreach($ as $){$=trim($);if(!empty($)){$this->fields->($);}}}$this->isModified=true;}public function ($,$=null){$this->(new ($,$));}public function (...$){foreach($ as $){$this->sort->($);}$this->isModified=true;}public function ($,$,$=null){$this->(new ($,$,$));}public function (...$){foreach($ as $){$this->filters->($);}$this->isModified=true;}public function (){if(empty($this->collectionMetadata)){throw new Exception(" .");}$fields=array();foreach($this->fields as $fieldName){$fields[]=ValueBase::SoapValue("RequestField",array('Key'=>$fieldName));}$filters=array();foreach($this->filters as $element){$filters[]=ValueBase::SoapValue("RequestFilter",array('Key'=>$element->(),'Value'=>ValueBase::From($element->()),'ComparisonType'=>$element->()->getName()));}$sort=array();foreach($this->sort as $element){$sort[]=ValueBase::SoapValue("RequestSort",array('Key'=>$element->(),'Direction'=>$element->()==::()?"":""));}$autoinclusion=$this->fieldsAutoloadSettings instanceof ?ValueBase::SoapValue("RequestFieldAutoinclusionSettings",array('DefaultFields'=>$this->fieldsAutoloadSettings->,'CustomFields'=>$this->fieldsAutoloadSettings->,'Tables'=>$this->fieldsAutoloadSettings->)):null;$settings=ValueBase::SoapValue("GetObjectList_Settings",array('Filter'=>$filters,'Field'=>$fields,'Sort'=>$sort,'Limit'=>$this->limit>0?intval($this->limit):0,'FieldAutoinclusion'=>$autoinclusion,'AddSkippedProperties'=>true,'PropertiesHierarchyType'=>"Hierarchy"));$soapItems=$this->bromClient->Soap()->GetObjectList(array('type'=>$this->->getName(),'name'=>$this->,'settings'=>$settings))->return;$this->items->();if($soapItems->Item!=null){foreach($soapItems->Item as $item){$this->items->($item->GetValue($this->bromClient));}}$this->isModified=false;return $this;}public function (){$this->items->();$this->fields.();$this->filters.();$this->sort.();$this->limit=0;$this->collectionMetadata=null;$this->collectionName=null;$this->isModified=false;return $this;}public function (...$){call_user_func_array(array($this,''),$);return $this;}public function ($){$this->=intval($);return $this;}public function ($){$this->($);return $this;}public function ($,$,$=null){$this->($,$,$);return $this;}public function ($,$=null){$this->($,$);return $this;}public function getIterator(){if($this->isModified){$this->();}foreach($this->items as $key=>$val){yield $key=>$val;}}public function offsetGet($offset){return $this->items->offsetGet($offset);}public function offsetSet($offset,$value){throw new Exception(" .");}public function offsetUnset($offset){throw new Exception(" .");}public function offsetExists($offset){return $this->items->offsetExists($offset);}public function count(){return $this->items->count();}public function ($,$,...$){if($==""){$this->isModified=true;}}}class {function __construct($,$){$this->key=$;$this->name=$;}private $key;private $name;public function (){return $this->key;}public function (){return $this->name;}}class {function __construct($,$,$=null){$this->key=$;$this->value=$;$this->comparationType=$ instanceof ?$:::();}private $key;private $value;private $comparationType;public function (){return $this->key;}public function (){return $this->value;}public function (){return $this->comparationType;}}class {function __construct($,$=null){$this->key=$;$this->sortDirection=$ instanceof ?$:::();}private $key;private $sortDirection;public function (){return $this->key;}public function (){return $this->sortDirection;}}class extends {protected function enumValues(){return array(array("","Equal"),array("","NotEqual"),array("","Greater"),array("","GreaterOrEqual"),array("","Less"),array("","LessOrEqual"),array("","Contains"),array("","NotContains"),array("","InList"),array("","NotInList"),array("","InHierarchy"),array("","NotInHierarchy"));}}class extends {protected function enumValues(){return array(array("","","Ascending","Asc"),array("","","Descending","Desc"));}}class extends {protected function enumValues(){return array(array("","Linear"),array("","ByGroups"),array("","ByGroupsWithHierarchy"));}}class {function __construct($=false,$=false,$=false){$this->loadDefaultAttributes=boolval($);$this->loadCustomAttributes=boolval($);$this->loadTableSections=boolval($);}private $loadDefaultAttributes;private $loadCustomAttributes;private $loadTableSections;public function __get($name){$tempName=mb_strtolower($name);if($tempName==''){return $this->loadDefaultAttributes;}if($tempName==''){return $this->loadCustomAttributes;}if($tempName==''){return $this->loadTableSections;}return null;}public static function (){return new (false,false,false);}public static function (){return new (true,true,true);}public static function (){return new (true,false,false);}public static function (){return new (false,true,false);}public static function (){return new (true,true,false);}public static function (){return new (false,false,true);}} ?>
Function Calls
None |
Stats
MD5 | 264b3df0d7f4414bbe1aeda827e3ffd2 |
Eval Count | 0 |
Decode Time | 120 ms |