diff --git a/.gitignore b/.gitignore index 2945e5b..5a8ca85 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ wheels/ # OS-X files .DS_Store + +# Docker image tarballs +*.tar diff --git a/codesys-hde2e/Dockerfile_codesyscontrol_virtuallinux_4.18.0.0 b/codesys-hde2e/Dockerfile_codesyscontrol_virtuallinux_4.18.0.0 new file mode 100644 index 0000000..5bcdd51 --- /dev/null +++ b/codesys-hde2e/Dockerfile_codesyscontrol_virtuallinux_4.18.0.0 @@ -0,0 +1,37 @@ +############################################################################### +# Copyright CODESYS Development GmbH +############################################################################### + +# The referenced base image in this file can be downloaded from the Homepage of OSADL. The base image is a binary-only image for delayed source code delivery. +# https://www.osadl.org/OSADL-Container-Base-Image.osadl-container-base-image.0.html?&no_cache=1&sword_list%5B0%5D=docker +# Add it to your own registry and replace the FROM statement with your URL. +# Alteratively you can directly pull the base image for immediate source code delivery with all sources directly from docker-hub. +# To do that replace the FROM statement with: +FROM osadl/debian-docker-base-image:bookworm-amd64-latest + +#FROM repoman.codesys.com:50000/config/standard/osadl-bin/debian/amd64/bookworm:develop + +ENV CONTAINER=true + +USER root +ENV USER=root + +EXPOSE 443 +EXPOSE 4840 +EXPOSE 8080 +EXPOSE 11740 + +RUN apt-get update && apt-get install -y procps libcap2-bin libpciaccess0 \ + intel-cmt-cat python3 python3-pip python3-yaml \ + && apt-get source --download-only libcap2 procps libpciaccess 2>/dev/null \ + && rm -rf /var/lib/apt/lists/* + +ARG CODESYSCONTROL_DEB=codesyscontrol_virtuallinux_4.18.0.0*_amd64.deb +ADD ${CODESYSCONTROL_DEB} /tmp/ +ADD Docker_copyright_* / + +RUN cd /tmp; cd /tmp; dpkg -i ${CODESYSCONTROL_DEB}; rm ${CODESYSCONTROL_DEB}; + +WORKDIR /var/opt/codesys/ +ENTRYPOINT [ "/opt/codesys/scripts/startup.sh" ] +CMD [] diff --git a/codesys-hde2e/codesyscontrol_virtuallinux_4.18.0.0_amd64.deb b/codesys-hde2e/codesyscontrol_virtuallinux_4.18.0.0_amd64.deb new file mode 100644 index 0000000..e1ad0e5 Binary files /dev/null and b/codesys-hde2e/codesyscontrol_virtuallinux_4.18.0.0_amd64.deb differ diff --git a/codesys-hde2e/configs/control/CODESYSControl_User.cfg b/codesys-hde2e/configs/control/CODESYSControl_User.cfg new file mode 100644 index 0000000..e621357 --- /dev/null +++ b/codesys-hde2e/configs/control/CODESYSControl_User.cfg @@ -0,0 +1,28 @@ +;virtuallinux +[CmpLog] +Logger.0.Filter=0x0000000F + +[ComponentManager] +Component.1=CmpBACnet +Component.2=CmpBACnet2 +Component.3=CmpPLCHandler +Component.4=CmpGwClient +Component.5=CmpXMLParser +Component.6=CmpGwClientCommDrvTcp +Component.7=CmpRetain +;Component.8=CmpGwClientCommDrvShm ; enable only if necessary, can result in higher cpu load +;Component.9=SysPci ; enable when using Hilscher CIFX +;Component.10=CmpHilscherCIFX ; enable when using Hilscher CIFX + +[CmpApp] +Bootproject.RetainMismatch.Init=1 +;RetainType.Applications=InSRAM +Application.1=Control + +[CmpRedundancyConnectionIP] + +[CmpRedundancy] + +[CmpSrv] + +[IoDrvEtherCAT] \ No newline at end of file diff --git a/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_01.json b/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_01.json new file mode 100644 index 0000000..f776ee2 --- /dev/null +++ b/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_01.json @@ -0,0 +1,46 @@ +{ + "plcName": "Control_PLC_01", + "controller": [ + { + "name": "Controller_01", + "pub": [ + { + "ip": "192.168.10.15", + "pubId": 11, + "wrGroupId": 13, + "dataSetId": 110, + "task": { + "Name": "PubSubTask", + "Interval": 500, + "Priority": 1 + } + } + ], + "sub": [ + { + "ip": "192.168.10.15", + "pubId": 12, + "wrGroupId": 14, + "dataSetId": 100, + "task": null + } + ], + "processing": { + "iterations": 10, + "task": { + "Name": "ProcessingTask", + "Interval": 5000, + "Priority": 2 + } + }, + "logging": { + "enabled": true, + "task": { + "Name": "FileLoggingTask", + "Interval": 50000, + "Priority": 5 + } + } + } + ] +} diff --git a/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_02.json b/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_02.json new file mode 100644 index 0000000..df5ae50 --- /dev/null +++ b/codesys-hde2e/configs/control/hdE2ELatencyConfig_Control_PLC_02.json @@ -0,0 +1,46 @@ +{ + "plcName": "Control_PLC_02", + "controller": [ + { + "name": "Controller_02", + "pub": [ + { + "ip": "192.168.10.16", + "pubId": 21, + "wrGroupId": 23, + "dataSetId": 110, + "task": { + "Name": "PubSubTask", + "Interval": 500, + "Priority": 1 + } + } + ], + "sub": [ + { + "ip": "192.168.10.16", + "pubId": 22, + "wrGroupId": 24, + "dataSetId": 100, + "task": null + } + ], + "processing": { + "iterations": 10, + "task": { + "Name": "ProcessingTask", + "Interval": 5000, + "Priority": 2 + } + }, + "logging": { + "enabled": true, + "task": { + "Name": "FileLoggingTask", + "Interval": 50000, + "Priority": 5 + } + } + } + ] +} diff --git a/codesys-hde2e/configs/io/CODESYSControl_User.cfg b/codesys-hde2e/configs/io/CODESYSControl_User.cfg new file mode 100644 index 0000000..17893ef --- /dev/null +++ b/codesys-hde2e/configs/io/CODESYSControl_User.cfg @@ -0,0 +1,28 @@ +;virtuallinux +[CmpLog] +Logger.0.Filter=0x0000000F + +[ComponentManager] +Component.1=CmpBACnet +Component.2=CmpBACnet2 +Component.3=CmpPLCHandler +Component.4=CmpGwClient +Component.5=CmpXMLParser +Component.6=CmpGwClientCommDrvTcp +Component.7=CmpRetain +;Component.8=CmpGwClientCommDrvShm ; enable only if necessary, can result in higher cpu load +;Component.9=SysPci ; enable when using Hilscher CIFX +;Component.10=CmpHilscherCIFX ; enable when using Hilscher CIFX + +[CmpApp] +Bootproject.RetainMismatch.Init=1 +;RetainType.Applications=InSRAM +Application.1=IO + +[CmpRedundancyConnectionIP] + +[CmpRedundancy] + +[CmpSrv] + +[IoDrvEtherCAT] \ No newline at end of file diff --git a/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_01.json b/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_01.json new file mode 100644 index 0000000..f11764f --- /dev/null +++ b/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_01.json @@ -0,0 +1,45 @@ +{ + "plcName": "IO_PLC_01", + "io": [ + { + "name": "IO_01", + "pub": [ + { + "ip": "192.168.10.12", + "pubId": 12, + "wrGroupId": 14, + "dataSetId": 100, + "task": { + "Name": "PubSubTask", + "Interval": 500, + "Priority": 1 + } + } + ], + "sub": [ + { + "ip": "192.168.10.12", + "pubId": 11, + "wrGroupId": 13, + "dataSetId": 110, + "task": null + } + ], + "benchmarking": { + "task": { + "Name": "BenchmarkingTask", + "Interval": 500, + "Priority": 2 + } + }, + "logging": { + "enabled": true, + "task": { + "Name": "FileLoggingTask", + "Interval": 50000, + "Priority": 5 + } + } + } + ] +} diff --git a/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_02.json b/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_02.json new file mode 100644 index 0000000..05130c4 --- /dev/null +++ b/codesys-hde2e/configs/io/hdE2ELatencyConfig_IO_PLC_02.json @@ -0,0 +1,45 @@ +{ + "plcName": "IO_PLC_02", + "io": [ + { + "name": "IO_02", + "pub": [ + { + "ip": "192.168.10.13", + "pubId": 22, + "wrGroupId": 24, + "dataSetId": 100, + "task": { + "Name": "PubSubTask", + "Interval": 500, + "Priority": 1 + } + } + ], + "sub": [ + { + "ip": "192.168.10.13", + "pubId": 21, + "wrGroupId": 23, + "dataSetId": 110, + "task": null + } + ], + "benchmarking": { + "task": { + "Name": "BenchmarkingTask", + "Interval": 500, + "Priority": 2 + } + }, + "logging": { + "enabled": true, + "task": { + "Name": "FileLoggingTask", + "Interval": 50000, + "Priority": 5 + } + } + } + ] +} diff --git a/codesys-hde2e/configs/rdt_config_control.yaml b/codesys-hde2e/configs/rdt_config_control.yaml new file mode 100644 index 0000000..e17e22b --- /dev/null +++ b/codesys-hde2e/configs/rdt_config_control.yaml @@ -0,0 +1,78 @@ +# RDT/CAT Configuration for Control PLCs +# Based on Intel Cache Allocation Technology (CAT) / Resource Director Technology (RDT) + +# Global RDT Settings +rdt: + enabled: true + interface: "os" # Use OS interface (resctrl) - required for PID assignment + reset_before_apply: true # Reset RDT configuration before applying new settings + +# Class of Service (COS) Definitions +# Class 0 is default, Classes 1-15 can be configured (hardware dependent) +classes: + # Class 1: Real-time Control PLC cores with dedicated L3 cache + - id: 1 + name: "RT_Control_Cores" + description: "Real-time cores for Control PLC with dedicated cache allocation" + # L3 cache mask (hex): 0x0f = lower 4 ways of L3 cache (bits 0-3) + # Adjust based on your processor's cache configuration + l3_mask: "0x0f" + # L2 cache mask (optional, if supported by hardware) + # l2_mask: "0xf" + # Memory Bandwidth Allocation (percentage, optional) + mba: 100 + # CPU cores assigned to this class + cores: [3, 5, 7, 9] + # PIDs will be assigned dynamically based on container + pids: [] + + # Class 2: Non-real-time cores with shared cache + - id: 2 + name: "Non_RT_Cores" + description: "Non-real-time cores with shared cache" + # L3 cache mask: 0xf0 = upper 4 ways of L3 cache (bits 4-7) + l3_mask: "0xf0" + mba: 50 + cores: [0, 1, 2, 4, 6, 8] + pids: [] + +# IRQ Affinity Configuration +irq_affinity: + enabled: true + # Cores for handling interrupts (non-RT cores to avoid RT interference) + irq_cores: "0,1,2" + # Move RCU tasks to non-RT cores + rcu_cores: "0,1,2" + +# Core Isolation Settings +core_isolation: + # RT cores that should be isolated + isolated_cores: [3, 5, 7, 9] + # Kernel parameters that should be set (add to kernel cmdline): + # isolcpus=3,5,7,9 + # nohz_full=3,5,7,9 + # rcu_nocbs=3,5,7,9 + # irqaffinity=0,1,2 + +# Instance-specific settings for Control PLCs +instances: + Control_PLC_01: + class_id: 1 + cpu_affinity: "3,5" # Specific cores for this instance + priority: 95 # RT priority (1-99, higher = more priority) + enable_rdtset: true # Use rdtset wrapper when starting CODESYS + + Control_PLC_02: + class_id: 1 + cpu_affinity: "7,9" # Different cores for second instance + priority: 95 + enable_rdtset: true + +# Monitoring Configuration +monitoring: + enabled: false + interval: 1 # seconds + metrics: + - llc_occupancy # Last Level Cache occupancy + - mbm_local # Memory Bandwidth Monitoring - local + - mbm_total # Memory Bandwidth Monitoring - total diff --git a/codesys-hde2e/configs/rdt_config_io.yaml b/codesys-hde2e/configs/rdt_config_io.yaml new file mode 100644 index 0000000..4e19c08 --- /dev/null +++ b/codesys-hde2e/configs/rdt_config_io.yaml @@ -0,0 +1,66 @@ +# RDT/CAT Configuration for IO PLCs +# Based on Intel Cache Allocation Technology (CAT) / Resource Director Technology (RDT) + +# Global RDT Settings +rdt: + enabled: true + interface: "os" # Use OS interface (resctrl) - required for PID assignment + reset_before_apply: true # Reset RDT configuration before applying new settings + +# Class of Service (COS) Definitions +classes: + # Class 1: Real-time IO PLC cores with dedicated L3 cache + - id: 1 + name: "RT_IO_Cores" + description: "Real-time cores for IO PLC with dedicated cache allocation" + # L3 cache mask (hex): 0x0f = lower 4 ways of L3 cache + l3_mask: "0x0f" + # Memory Bandwidth Allocation + mba: 100 + # CPU cores assigned to this class + cores: [3, 5, 7, 9] + pids: [] + + # Class 2: Non-real-time cores with shared cache + - id: 2 + name: "Non_RT_Cores" + description: "Non-real-time cores with shared cache" + l3_mask: "0xf0" + mba: 50 + cores: [0, 1, 2, 4, 6, 8] + pids: [] + +# IRQ Affinity Configuration +irq_affinity: + enabled: true + # Cores for handling interrupts + irq_cores: "0,1,2" + # Move RCU tasks to non-RT cores + rcu_cores: "0,1,2" + +# Core Isolation Settings +core_isolation: + isolated_cores: [3, 5, 7, 9] + +# Instance-specific settings for IO PLCs +instances: + IO_PLC_01: + class_id: 1 + cpu_affinity: "3,5" # Specific cores for this instance + priority: 90 # Slightly lower priority than Control PLCs + enable_rdtset: true + + IO_PLC_02: + class_id: 1 + cpu_affinity: "7,9" + priority: 90 + enable_rdtset: true + +# Monitoring Configuration +monitoring: + enabled: false + interval: 1 + metrics: + - llc_occupancy + - mbm_local + - mbm_total diff --git a/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/.docker_initialized b/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/.docker_initialized new file mode 100644 index 0000000..e69de29 diff --git a/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl.cfg b/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl.cfg new file mode 100644 index 0000000..d90ce46 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl.cfg @@ -0,0 +1,49 @@ +;virtuallinux +[SysFile] +FilePath.1=/etc/codesyscontrol/, 3S.dat +PlcLogicPrefix=1 + +[SysTarget] +TargetVersionMask=0 +TargetVersionCompatibilityMask=0xFFFF0000 + +[CmpSocketCanDrv] +ScriptPath=/opt/codesys/scripts/ +ScriptName=rts_set_baud.sh +AsyncSend=1 + +[CmpSettings] +IsWriteProtected=1 +FileReference.0=SysFileMap.cfg, SysFileMap +FileReference.1=/conf/codesyscontrol/CODESYSControl_User.cfg + +[SysExcept] +Linux.DisableFpuOverflowException=1 +Linux.DisableFpuUnderflowException=1 +Linux.DisableFpuInvalidOperationException=1 + +[CmpLog] +Logger.0.Name=codesyscontrol.log +;Logger.0.Filter=0x0000000F ; moved to CODESYSControl_User.cfg to allow changes by PLCShell command +Logger.0.Enable=1 +Logger.0.MaxEntries=10000 +Logger.0.MaxFileSize=1000000 +Logger.0.MaxFiles=3 +Logger.0.Backend.0.ClassId=0x0000010B ;sends logger messages to SysOut +Logger.0.Backend.1.ClassId=0x00000104 ;writes logger messages in a file + +[SysEthernet] +Linux.ProtocolFilter=3 + +[CmpSchedule] +SchedulerInterval=4000 +ProcessorLoad.Enable=1 +ProcessorLoad.Maximum=95 +ProcessorLoad.Interval=5000 +DisableOmittedCycleWatchdog=1 + +[CmpCodeMeter] +EnableNetLicenses=1 +InstallCmActContainer=-1 +InstallLegacyCmActContainer=-1 + diff --git a/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl_User.cfg b/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl_User.cfg new file mode 100644 index 0000000..e621357 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/conf/codesyscontrol/CODESYSControl_User.cfg @@ -0,0 +1,28 @@ +;virtuallinux +[CmpLog] +Logger.0.Filter=0x0000000F + +[ComponentManager] +Component.1=CmpBACnet +Component.2=CmpBACnet2 +Component.3=CmpPLCHandler +Component.4=CmpGwClient +Component.5=CmpXMLParser +Component.6=CmpGwClientCommDrvTcp +Component.7=CmpRetain +;Component.8=CmpGwClientCommDrvShm ; enable only if necessary, can result in higher cpu load +;Component.9=SysPci ; enable when using Hilscher CIFX +;Component.10=CmpHilscherCIFX ; enable when using Hilscher CIFX + +[CmpApp] +Bootproject.RetainMismatch.Init=1 +;RetainType.Applications=InSRAM +Application.1=Control + +[CmpRedundancyConnectionIP] + +[CmpRedundancy] + +[CmpSrv] + +[IoDrvEtherCAT] \ No newline at end of file diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.Audit.log b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.Audit.log new file mode 100644 index 0000000..b12ed1d --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.Audit.log @@ -0,0 +1,169 @@ +;**************************************************************** +;.Audit.log +; +; 1 +; normal +; rtc high resolution +; 0 +; always +; 0x7fffffff +; 500 +; 3 +; 100000 +; +; +;Timestamp, CmpId, ClassId, ErrorId, InfoId, InfoText +;ClassId: LOG_INFO =1 +;ClassId: LOG_WARNING =2 +;ClassId: LOG_ERROR =4 +;ClassId: LOG_EXCEPTION =8 +;ClassId: LOG_DEBUG =16 +;ClassId: LOG_PRINTF =32 +;ClassId: LOG_COM =64 +; +;**************************************************************** +2026-01-30T00:00:55.574Z, 0x000000a1, 1, 0, 0, System, Startup +2026-01-30T00:00:55.574Z, 0x00000061, 1, 0, 0, System, Add object 'Device.CodeMeter' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.RemoteConnections.OPCUAServer' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ImportCertificate' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ExportCertificate' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.DeleteCertificate' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.MoveCertificate' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ListCertificates' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ListUseCases' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.CreateSelfSignedCertificate' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.CreateCertificateSigningRequest' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.GetStatus' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ImportPkcs12Keystore' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ExportPkcs12Keystore' successful +2026-01-30T00:00:55.575Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcShell' successful +2026-01-30T00:00:55.579Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement' successful +2026-01-30T00:00:55.579Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Groups' successful +2026-01-30T00:00:55.579Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Users' successful +2026-01-30T00:00:55.579Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Access Rights' successful +2026-01-30T00:01:06.803Z, 0x00000061, 1, 0, 0, System, Remove object 'Logger' successful +2026-01-30T00:01:06.803Z, 0x00000061, 1, 0, 0, System, Remove object 'Settings' successful +2026-01-30T00:01:06.803Z, 0x00000061, 4, 2, 0, **** ERROR: System, Remove object '' failed, result=ERR_PARAMETER +2026-01-30T00:01:06.803Z, 0x00000061, 1, 0, 0, System, Remove object 'PlcLogic' successful +2026-01-30T00:01:06.803Z, 0x000000a1, 1, 0, 1, System, Shutdown +;**************************************************************** +;.Audit.log +; +; 1 +; normal +; rtc high resolution +; 0 +; always +; 0x7fffffff +; 500 +; 3 +; 100000 +; +; +;Timestamp, CmpId, ClassId, ErrorId, InfoId, InfoText +;ClassId: LOG_INFO =1 +;ClassId: LOG_WARNING =2 +;ClassId: LOG_ERROR =4 +;ClassId: LOG_EXCEPTION =8 +;ClassId: LOG_DEBUG =16 +;ClassId: LOG_PRINTF =32 +;ClassId: LOG_COM =64 +; +;**************************************************************** +2026-01-30T00:01:08.029Z, 0x000000a1, 1, 0, 0, System, Startup +2026-01-30T00:01:08.029Z, 0x00000061, 1, 0, 0, System, Add object 'Device.CodeMeter' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.RemoteConnections.OPCUAServer' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ImportCertificate' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ExportCertificate' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.DeleteCertificate' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.MoveCertificate' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ListCertificates' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ListUseCases' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.CreateSelfSignedCertificate' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.CreateCertificateSigningRequest' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.GetStatus' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ImportPkcs12Keystore' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.X509.ExportPkcs12Keystore' successful +2026-01-30T00:01:08.030Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcShell' successful +2026-01-30T00:01:08.034Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement' successful +2026-01-30T00:01:08.034Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Groups' successful +2026-01-30T00:01:08.034Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Users' successful +2026-01-30T00:01:08.034Z, 0x00000061, 1, 0, 0, System, Add object 'Device.UserManagement.Access Rights' successful +2026-01-30T00:01:08.093Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcLogic.Control' successful +2026-01-30T00:01:08.093Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcLogic.Control.__C-ModuleIntegration__' successful +2026-01-30T00:01:08.093Z, 0x00000002, 1, 0, 0, System, App [Control] Create for Download successful +2026-01-30T00:01:08.093Z, 0x00000002, 1, 0, 0, System, App [Control] Download started ... +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.095Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.096Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.097Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.098Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.099Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.100Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.101Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.102Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.111Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcLogic.Control.__SymbolSets' successful +2026-01-30T00:01:08.111Z, 0x00000061, 1, 0, 0, System, Add object 'Device.PlcLogic.Control.CommunicationManager' successful +2026-01-30T00:01:08.111Z, 0x00000061, 1, 0, 0, System, Remove object 'CommunicationManager' successful +2026-01-30T00:01:08.117Z, 0x00000002, 1, 0, 0, System, App [Control] Download successful, create bootproject: 0 +2026-01-30T00:01:08.117Z, 0x00000002, 1, 0, 0, System, App CodeGUID: 90bc3e8f-0000-0000-0000-000000000000, DataGUID: 9dc28b40-0000-0000-0000-000000000000 +2026-01-30T00:01:08.126Z, 0x00000002, 1, 0, 10, System, App [Control] started diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv new file mode 100644 index 0000000..dea641a --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv @@ -0,0 +1,42 @@ +ObjectDB,FileVersion,1 +o,Device,0x00000000 +o,Device.PlcLogic,0x00000000 +o,Device.PlcLogic.__Backup&Restore,0x00000000 +o,/,0x00000000 +o,/cert,0x00000000 +o,/cert/export,0x00000000 +o,/cert/import,0x00000000 +o,/PlcLogic,0x00000000 +o,/PlcLogic/_cnc,0x00000000 +o,/PlcLogic/ac_persistence,0x00000000 +o,/PlcLogic/Control,0x00000000 +o,/PlcLogic/visu,0x00000000 +o,/PlcLogic/alarms,0x00000000 +o,/PlcLogic/Config,0x00000000 +o,/PlcLogic/trend,0x00000000 +o,/OPCUAServer,0x00000000 +o,/OPCUAServer/Intermediate,0x00000000 +o,Device.Logger,0x00000000 +o,Device.Settings,0x00000000 +o,Device.Settings.SecuritySettings,0x00000000 +o,Device.CodeMeter,0x00000000 +o,Device.RemoteConnections,0x00000000 +o,Device.RemoteConnections.OPCUAServer,0x00000000 +o,Device.X509,0x00000000 +o,Device.X509.ImportCertificate,0x00000000 +o,Device.X509.ExportCertificate,0x00000000 +o,Device.X509.DeleteCertificate,0x00000000 +o,Device.X509.MoveCertificate,0x00000000 +o,Device.X509.ListCertificates,0x00000000 +o,Device.X509.ListUseCases,0x00000000 +o,Device.X509.CreateSelfSignedCertificate,0x00000000 +o,Device.X509.CreateCertificateSigningRequest,0x00000000 +o,Device.X509.GetStatus,0x00000000 +o,Device.X509.ImportPkcs12Keystore,0x00000000 +o,Device.X509.ExportPkcs12Keystore,0x00000000 +o,Device.PlcShell,0x00000000 +o,Device.UserManagement,0x00000000 +o,Device.UserManagement.Groups,0x00000000 +o,Device.UserManagement.Users,0x00000000 +o,Device.UserManagement.Access Rights,0x00000000 +Checksum,0x2eb36ee7 \ No newline at end of file diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv_ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv_ new file mode 100644 index 0000000..ddd5610 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.ObjectDatabase.csv_ @@ -0,0 +1,37 @@ +ObjectDB,FileVersion,1 +o,Device,0x00000000 +o,Device.PlcLogic,0x00000000 +o,Device.PlcLogic.__Backup&Restore,0x00000000 +o,/,0x00000000 +o,/PlcLogic,0x00000000 +o,/PlcLogic/_cnc,0x00000000 +o,/PlcLogic/ac_persistence,0x00000000 +o,/PlcLogic/Control,0x00000000 +o,/PlcLogic/visu,0x00000000 +o,/PlcLogic/alarms,0x00000000 +o,/PlcLogic/Config,0x00000000 +o,/PlcLogic/trend,0x00000000 +o,Device.Logger,0x00000000 +o,Device.Settings,0x00000000 +o,Device.Settings.SecuritySettings,0x00000000 +o,Device.CodeMeter,0x00000000 +o,Device.RemoteConnections,0x00000000 +o,Device.RemoteConnections.OPCUAServer,0x00000000 +o,Device.X509,0x00000000 +o,Device.X509.ImportCertificate,0x00000000 +o,Device.X509.ExportCertificate,0x00000000 +o,Device.X509.DeleteCertificate,0x00000000 +o,Device.X509.MoveCertificate,0x00000000 +o,Device.X509.ListCertificates,0x00000000 +o,Device.X509.ListUseCases,0x00000000 +o,Device.X509.CreateSelfSignedCertificate,0x00000000 +o,Device.X509.CreateCertificateSigningRequest,0x00000000 +o,Device.X509.GetStatus,0x00000000 +o,Device.X509.ImportPkcs12Keystore,0x00000000 +o,Device.X509.ExportPkcs12Keystore,0x00000000 +o,Device.PlcShell,0x00000000 +o,Device.UserManagement,0x00000000 +o,Device.UserManagement.Groups,0x00000000 +o,Device.UserManagement.Users,0x00000000 +o,Device.UserManagement.Access Rights,0x00000000 +Checksum,0xd6e95874 \ No newline at end of file diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.SoftContainer_CmRuntime.wbb b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.SoftContainer_CmRuntime.wbb new file mode 100644 index 0000000..f82e510 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.SoftContainer_CmRuntime.wbb differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.UFC_SoftContainer_CmRuntime.WibuCmLif b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.UFC_SoftContainer_CmRuntime.WibuCmLif new file mode 100644 index 0000000..20dbd2e --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.UFC_SoftContainer_CmRuntime.WibuCmLif @@ -0,0 +1,42 @@ +[WIBU-SYSTEMS Control File] +Guid={00070001-0000-1100-8005-0000C06B5161} +Description=CodeMeter License Transfer Generation Information +Version=1.00 +Encoding=UTF-8 + + + +[Info] +CreationTime=2022-11-23 16:16:52 +TimeStamp=1669216612 +LifInfoSize=30 +LicenseInformationSize=1220 + + + +[LifInfo] +FirmCode=6000437 +CmActId=2001 + + + +[LicenseInformation] +xLt6o2E/YVTkelwH3s5JYPbwTK9VkGCrvWkGt38EYvfkpxilIjLenM1WPc25eIF2lQQ042yO9Cl8tyGFrtCBHltQlVj4pRSur3fo +h9L2NGrG9FO79J+ggpkP0sB7o1oAO8grl9hB7OsNzMn3fy1jjNFwYPB3IRtlDnRvL+9kXJbmiT/3x/SOWyxV8RQ7L5SYxtEYRUe1 +oFm9YoXK5GImF/vvmf/zj9EITJsKIT+Vm50UUuvxNxB94lxdlT+v12/0JCQrLae/BLhs3Ot6H7Lb8zSB+P8XC514fKrQZI/0K89x +BaoHobV0soj5JWLO4Mb2VLHkTPeTs2qODOgTYbYpf2RaVKtlKPJErC2KnF41aIv1btFICOoW50MZr5N/ZizY/LIpK29Iy3fN1c9p +DUnadaSLW/id5DvU4cOsfx+dd3KUYWjdcp/NbeCelm/KVx2158HrzsRgtrb3GzFvC5vhopZFWe03WKuVPTFzHE/iXW3kQVWjLS+9 +sSmNRDLe3iNc3Z/dCNfZxeQclf/iCqAaAfhC7bcCOjNEb/b6RpyIhp0S9diSw4AzYxs557sSvZaJcPdvIV6BNs0S4N6rqNSCzOo+ +/JmhE8GMaGLJoiWuHGQDa5C1txgBeJ7OoU6cqQjN9RlXetXWfOUE+RnxH/K11IUrZxOAhqXccTgN2ZYfmwiA+x2HV9Zdx7lexPO3 +zoOoA0RdyIAuL6L08Q1XiX+UQIR3GHOyvDXUlY4aseH7j45gZ7r3gFq728hoYK4slzfwpRKlQi8i6qPthYe0nlGwsLx8KX5ZleHd +/u0A3j9kv8T2OSbDz8yPr8ZDQNLPeQQI/NA4mT+Mvl4OMEs57WhJEEtQzlcYr2bg9H77Sytg/ywvrb+8+nfalY3DEqd/MBRaWvTB +YsY4qUT+EbGZDx4KsT6FaB0KgfEabFArm58WPvNxoAgDq9oEBjk+ZEBMwfYkZ0bi3QES8SF4FLCl2OtyzmnsreTjre4t5cJrbOGa +1Qxhg+Pnxqp2lKwlCBR4er6zVa4IdFUoj8iZtmVb/8+4i3qxycnTE/KIimvgdnvXq/2IdHLrRAOkJsC6Kk/015y4hIWDtzHYaAXe +6ED6BEioloW3TZsjOt4OPo+TG9WFXluixkNjJuhaO0z04HrqlIOr+uG/Z26ukZF9W6X5osdKWCsMKsI29el8jjRGOp97EOpwTDTv +xFYAyepD2DdkwReJkVX/V9XQUbR2i2wRtC7ekqyvtFO2WUG29fgtI20LQScbgiZFKg9Lf6P2ciysDQhCFEo/F/IZILttO9MXHH+s +uzQIijQdQH9XeOmhIMpKDA1FYsCoeHlPXv6dY2zKy00WizVpwghu7IKd2WVxMP/aaG671grhWhVeqMMWIZ9l6Xt25L7bGPSmsdCe +AZWWkVGdSLVlVos5RwZG4bxiyjxFQpSu9zzzDqKWytQPyYTk/7CQydgv06ujXzMayhONHtmzx9oHsBVCJgIzCIH7ZpgXOd4jut6v +vk08xgoQWnnB1jKcdUXLc3+Jcxbp6a5pyaNB4A4BRNj9J9IxGWVAbtg+S808PTwrHNbpZL9vaqmbHTTlmIOCs41+dW8JbwL+PdpL +XsFRzi6cj4q7jcFsC46/2sYMMR8 + + diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.docker_initialized b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.docker_initialized new file mode 100644 index 0000000..e69de29 diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/3d5beedd44bb7d769d70df5dd3b333f9822967c8.der b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/3d5beedd44bb7d769d70df5dd3b333f9822967c8.der new file mode 100644 index 0000000..813cc44 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/3d5beedd44bb7d769d70df5dd3b333f9822967c8.der differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/c5e1e282b5221f207c2fb7997e269e6a7cbe7ccf.der b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/c5e1e282b5221f207c2fb7997e269e6a7cbe7ccf.der new file mode 100644 index 0000000..438cbf2 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/cert/c5e1e282b5221f207c2fb7997e269e6a7cbe7ccf.der differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/223c96d102afd4feb88b0216c3bc280b6f3529b4.key b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/223c96d102afd4feb88b0216c3bc280b6f3529b4.key new file mode 100644 index 0000000..b373444 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/223c96d102afd4feb88b0216c3bc280b6f3529b4.key differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/510d043ebcd2467c9609b64a60a1d13b98fe4a71.key b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/510d043ebcd2467c9609b64a60a1d13b98fe4a71.key new file mode 100644 index 0000000..97cf94f Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/510d043ebcd2467c9609b64a60a1d13b98fe4a71.key differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/7d8b63ec3b14db3ec70068eff3bb2a74a62c4eb6.key b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/7d8b63ec3b14db3ec70068eff3bb2a74a62c4eb6.key new file mode 100644 index 0000000..86f0b3f Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/7d8b63ec3b14db3ec70068eff3bb2a74a62c4eb6.key differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/a801f406d6565bae301dde49f635b963a8e46a76.key b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/a801f406d6565bae301dde49f635b963a8e46a76.key new file mode 100644 index 0000000..46d52cb Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/.pki/own/key/a801f406d6565bae301dde49f635b963a8e46a76.key differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Config/hdE2ELatencyConfig.json b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Config/hdE2ELatencyConfig.json new file mode 100644 index 0000000..f776ee2 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Config/hdE2ELatencyConfig.json @@ -0,0 +1,46 @@ +{ + "plcName": "Control_PLC_01", + "controller": [ + { + "name": "Controller_01", + "pub": [ + { + "ip": "192.168.10.15", + "pubId": 11, + "wrGroupId": 13, + "dataSetId": 110, + "task": { + "Name": "PubSubTask", + "Interval": 500, + "Priority": 1 + } + } + ], + "sub": [ + { + "ip": "192.168.10.15", + "pubId": 12, + "wrGroupId": 14, + "dataSetId": 100, + "task": null + } + ], + "processing": { + "iterations": 10, + "task": { + "Name": "ProcessingTask", + "Interval": 5000, + "Priority": 2 + } + }, + "logging": { + "enabled": true, + "task": { + "Name": "FileLoggingTask", + "Interval": 50000, + "Priority": 5 + } + } + } + ] +} diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.app b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.app new file mode 100644 index 0000000..9f48db3 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.app differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.crc b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.crc new file mode 100644 index 0000000..a37bc35 Binary files /dev/null and b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Control/Control.crc differ diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Results/Codesys-Control_PLC_01-Controller_01-PubSub_Jitter.csv b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Results/Codesys-Control_PLC_01-Controller_01-PubSub_Jitter.csv new file mode 100644 index 0000000..57314ce --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/Results/Codesys-Control_PLC_01-Controller_01-PubSub_Jitter.csv @@ -0,0 +1,40507 @@ +TaskName;CycleTime;Priority +PubSubTask;500;1 +ProcessingTask;5000;2 +FileLoggingTask;50000;5 +MainTask;500000;16 +VISU_TASK;200000;18 +PubSubCycleTime +503 +496 +500 +501 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +500 +501 +499 +501 +499 +499 +501 +500 +501 +498 +501 +502 +498 +499 +501 +500 +501 +499 +501 +501 +498 +502 +498 +500 +501 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +501 +499 +502 +500 +499 +500 +500 +500 +499 +501 +500 +501 +498 +501 +501 +500 +500 +499 +500 +501 +499 +501 +500 +499 +500 +499 +501 +501 +499 +499 +502 +499 +500 +499 +501 +501 +499 +500 +501 +500 +499 +501 +500 +500 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +500 +501 +500 +499 +500 +501 +499 +499 +502 +500 +499 +499 +501 +501 +499 +499 +502 +500 +499 +499 +501 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +500 +499 +500 +500 +501 +499 +500 +501 +498 +502 +498 +501 +501 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +501 +498 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +502 +498 +500 +501 +498 +501 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +502 +498 +502 +500 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +499 +502 +498 +501 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +503 +498 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +498 +501 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +502 +498 +501 +498 +501 +501 +499 +500 +502 +499 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +499 +502 +499 +500 +499 +502 +498 +501 +499 +501 +501 +499 +500 +500 +500 +501 +500 +499 +500 +499 +501 +501 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +500 +500 +501 +500 +499 +501 +498 +502 +498 +502 +500 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +500 +501 +499 +500 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +502 +498 +501 +501 +500 +499 +502 +497 +501 +500 +501 +500 +500 +499 +501 +498 +501 +501 +498 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +507 +496 +499 +498 +501 +499 +502 +499 +500 +501 +498 +502 +498 +502 +500 +499 +500 +501 +500 +500 +498 +502 +500 +499 +499 +501 +500 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +498 +502 +500 +498 +501 +499 +501 +501 +499 +500 +500 +499 +501 +500 +500 +501 +499 +501 +499 +500 +500 +500 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +500 +498 +502 +498 +501 +499 +502 +500 +500 +500 +500 +498 +501 +499 +502 +500 +500 +499 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +499 +501 +500 +500 +500 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +500 +498 +501 +501 +500 +499 +501 +499 +500 +500 +502 +498 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +502 +499 +499 +501 +500 +500 +499 +500 +500 +501 +499 +499 +501 +501 +500 +498 +503 +498 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +498 +501 +501 +500 +501 +498 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +501 +501 +500 +498 +501 +501 +500 +500 +499 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +498 +502 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +498 +501 +499 +501 +501 +500 +498 +501 +499 +502 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +502 +497 +501 +499 +502 +500 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +502 +498 +499 +500 +500 +502 +500 +498 +502 +499 +500 +499 +501 +501 +499 +500 +500 +499 +502 +498 +501 +501 +498 +501 +501 +500 +498 +501 +499 +502 +498 +502 +499 +501 +499 +500 +501 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +500 +499 +501 +501 +500 +500 +500 +500 +499 +500 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +505 +495 +516 +484 +502 +501 +498 +500 +502 +498 +499 +501 +499 +502 +498 +501 +501 +499 +501 +499 +501 +500 +499 +501 +500 +500 +500 +499 +500 +501 +499 +499 +501 +499 +501 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +499 +503 +500 +498 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +500 +499 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +502 +498 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +499 +502 +500 +500 +498 +503 +497 +502 +498 +501 +500 +501 +499 +501 +499 +500 +501 +500 +500 +498 +502 +500 +499 +501 +500 +498 +502 +498 +501 +501 +499 +501 +499 +500 +501 +499 +499 +503 +497 +501 +499 +501 +500 +501 +498 +502 +500 +500 +498 +502 +500 +499 +501 +500 +499 +499 +502 +498 +502 +498 +501 +502 +499 +498 +502 +498 +502 +498 +501 +501 +498 +502 +500 +500 +500 +499 +499 +502 +498 +502 +498 +501 +501 +500 +499 +501 +498 +501 +501 +499 +501 +499 +500 +502 +498 +499 +502 +498 +502 +498 +502 +500 +500 +499 +501 +499 +501 +499 +501 +499 +499 +502 +499 +500 +501 +499 +499 +501 +499 +502 +500 +500 +499 +500 +500 +501 +499 +499 +501 +499 +502 +500 +499 +501 +499 +500 +501 +499 +501 +499 +501 +500 +500 +499 +502 +499 +500 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +499 +501 +501 +499 +499 +502 +498 +502 +499 +500 +502 +499 +499 +501 +499 +501 +500 +499 +501 +500 +499 +500 +501 +500 +499 +499 +502 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +499 +502 +500 +499 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +503 +499 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +499 +500 +501 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +501 +498 +500 +504 +497 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +502 +498 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +499 +502 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +498 +501 +500 +501 +500 +500 +498 +502 +501 +498 +500 +500 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +500 +500 +499 +500 +501 +500 +500 +500 +498 +501 +499 +502 +500 +500 +498 +502 +498 +502 +499 +501 +500 +499 +500 +501 +500 +499 +500 +499 +502 +499 +500 +502 +498 +499 +501 +499 +502 +498 +501 +501 +499 +501 +499 +501 +500 +499 +499 +502 +498 +501 +499 +502 +500 +500 +498 +502 +499 +501 +498 +501 +501 +500 +499 +500 +500 +499 +502 +498 +502 +499 +500 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +501 +500 +500 +501 +499 +499 +502 +498 +501 +499 +501 +500 +501 +498 +502 +498 +500 +501 +501 +500 +498 +502 +500 +500 +498 +501 +499 +502 +498 +501 +501 +500 +498 +502 +498 +502 +498 +500 +502 +500 +500 +499 +501 +500 +499 +499 +502 +498 +502 +499 +500 +501 +499 +499 +502 +498 +500 +501 +500 +501 +498 +502 +500 +500 +498 +502 +498 +501 +500 +500 +501 +500 +499 +499 +501 +501 +499 +499 +502 +498 +501 +501 +499 +501 +499 +499 +502 +500 +500 +499 +500 +501 +498 +501 +501 +499 +501 +499 +500 +501 +498 +501 +501 +499 +499 +501 +501 +500 +499 +500 +501 +500 +499 +499 +501 +501 +499 +499 +502 +499 +500 +500 +501 +500 +499 +500 +502 +499 +500 +499 +501 +500 +499 +500 +500 +500 +499 +501 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +502 +498 +500 +501 +498 +502 +499 +500 +501 +500 +500 +499 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +499 +501 +500 +498 +501 +499 +501 +501 +499 +506 +495 +499 +500 +500 +501 +500 +499 +500 +501 +498 +501 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +499 +502 +499 +500 +501 +500 +501 +498 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +502 +500 +499 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +498 +501 +499 +501 +500 +500 +501 +499 +500 +501 +500 +500 +499 +499 +502 +500 +500 +498 +501 +501 +499 +499 +501 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +498 +501 +501 +499 +499 +502 +499 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +499 +502 +500 +499 +499 +502 +500 +500 +499 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +499 +502 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +499 +502 +498 +502 +499 +501 +500 +499 +499 +502 +498 +502 +498 +501 +501 +499 +501 +500 +500 +498 +502 +499 +501 +498 +501 +502 +499 +498 +502 +498 +502 +500 +499 +502 +498 +500 +499 +501 +500 +501 +498 +502 +499 +500 +501 +500 +500 +499 +499 +502 +498 +502 +500 +499 +501 +498 +501 +501 +499 +500 +501 +498 +502 +498 +502 +501 +498 +499 +502 +499 +501 +499 +499 +502 +500 +500 +498 +502 +500 +499 +499 +501 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +500 +501 +498 +501 +501 +499 +501 +499 +499 +502 +498 +501 +502 +499 +499 +501 +499 +500 +500 +500 +500 +500 +501 +498 +501 +501 +500 +498 +502 +500 +499 +499 +501 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +501 +500 +500 +498 +501 +499 +501 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +500 +499 +500 +500 +502 +498 +501 +500 +498 +501 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +498 +503 +497 +501 +500 +501 +500 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +500 +498 +502 +498 +501 +500 +500 +501 +500 +499 +501 +500 +500 +499 +500 +502 +500 +499 +498 +502 +500 +499 +499 +505 +496 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +501 +500 +500 +500 +499 +499 +501 +499 +502 +500 +500 +500 +500 +500 +499 +501 +500 +499 +500 +501 +500 +500 +499 +501 +500 +499 +499 +503 +498 +500 +500 +500 +501 +499 +501 +500 +500 +500 +500 +499 +501 +498 +501 +501 +500 +498 +502 +499 +501 +500 +499 +500 +500 +500 +499 +502 +500 +500 +498 +503 +497 +501 +501 +499 +501 +499 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +498 +502 +499 +501 +498 +502 +500 +499 +500 +500 +501 +500 +500 +499 +500 +500 +500 +499 +502 +500 +499 +499 +502 +498 +501 +500 +501 +500 +499 +501 +499 +501 +500 +499 +499 +502 +498 +501 +501 +500 +498 +502 +499 +501 +498 +501 +502 +497 +502 +498 +501 +501 +499 +501 +500 +499 +501 +498 +502 +500 +499 +499 +501 +499 +501 +501 +498 +501 +499 +502 +500 +500 +498 +502 +498 +502 +499 +500 +501 +499 +499 +501 +500 +501 +499 +500 +501 +498 +502 +498 +502 +500 +499 +500 +501 +498 +502 +499 +501 +500 +499 +499 +501 +500 +500 +500 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +499 +501 +501 +500 +498 +501 +499 +501 +499 +501 +501 +500 +499 +501 +498 +502 +498 +500 +502 +499 +500 +501 +499 +499 +501 +500 +500 +500 +500 +501 +499 +499 +502 +498 +502 +499 +501 +501 +497 +502 +498 +502 +500 +499 +499 +502 +499 +501 +498 +502 +499 +500 +500 +501 +500 +500 +499 +499 +502 +499 +500 +501 +499 +499 +501 +500 +501 +499 +500 +503 +498 +499 +500 +501 +500 +500 +498 +502 +499 +500 +499 +502 +500 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +499 +502 +499 +500 +502 +498 +499 +501 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +498 +502 +498 +502 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +499 +499 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +499 +501 +501 +500 +500 +500 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +499 +501 +498 +501 +502 +498 +499 +502 +500 +500 +499 +501 +499 +501 +499 +501 +499 +501 +499 +500 +501 +500 +500 +498 +502 +500 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +502 +498 +500 +499 +501 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +501 +498 +500 +499 +502 +498 +501 +501 +500 +499 +501 +499 +501 +500 +500 +501 +498 +500 +500 +500 +501 +499 +499 +503 +498 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +501 +500 +499 +501 +498 +502 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +498 +502 +498 +501 +501 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +498 +501 +502 +498 +499 +501 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +499 +499 +503 +497 +502 +498 +502 +500 +499 +499 +501 +501 +502 +497 +501 +500 +499 +501 +500 +500 +499 +501 +500 +500 +498 +501 +501 +499 +499 +500 +500 +502 +500 +498 +503 +499 +500 +498 +501 +501 +499 +499 +502 +499 +501 +499 +500 +501 +498 +502 +501 +498 +502 +499 +498 +502 +499 +500 +501 +500 +499 +500 +501 +500 +500 +499 +502 +500 +499 +498 +502 +500 +499 +500 +501 +498 +502 +498 +501 +501 +499 +500 +502 +498 +501 +500 +500 +499 +499 +501 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +498 +502 +498 +501 +500 +501 +498 +502 +498 +501 +500 +500 +501 +499 +501 +500 +500 +499 +500 +499 +502 +498 +501 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +498 +501 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +501 +498 +499 +503 +499 +500 +499 +500 +501 +500 +499 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +500 +499 +502 +499 +500 +502 +498 +501 +500 +499 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +500 +501 +500 +498 +501 +501 +499 +500 +501 +498 +501 +500 +501 +500 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +501 +499 +500 +501 +499 +499 +502 +498 +502 +499 +500 +501 +499 +500 +500 +499 +501 +500 +500 +501 +499 +501 +500 +500 +499 +501 +498 +502 +498 +501 +501 +499 +499 +502 +499 +501 +498 +501 +501 +499 +500 +499 +501 +501 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +500 +500 +501 +498 +500 +500 +499 +502 +498 +501 +501 +500 +499 +501 +499 +501 +498 +500 +502 +500 +500 +499 +501 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +502 +498 +499 +501 +500 +501 +498 +501 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +499 +501 +501 +499 +499 +501 +499 +502 +500 +499 +501 +499 +500 +501 +499 +501 +499 +501 +500 +498 +501 +501 +499 +499 +501 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +499 +501 +500 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +500 +498 +501 +502 +498 +499 +502 +499 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +498 +500 +500 +500 +501 +499 +500 +501 +500 +498 +502 +500 +499 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +499 +502 +499 +500 +501 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +499 +501 +501 +500 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +501 +500 +499 +502 +498 +501 +499 +501 +500 +500 +500 +500 +500 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +498 +502 +500 +500 +498 +501 +499 +501 +500 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +501 +498 +501 +501 +500 +498 +502 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +501 +498 +502 +498 +501 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +500 +498 +502 +500 +499 +499 +501 +501 +500 +498 +501 +501 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +504 +497 +499 +500 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +502 +500 +500 +498 +502 +500 +499 +499 +502 +499 +501 +498 +501 +501 +500 +499 +501 +499 +499 +502 +499 +501 +499 +500 +500 +500 +501 +500 +498 +502 +498 +500 +503 +497 +502 +498 +502 +500 +499 +500 +501 +500 +499 +499 +501 +501 +500 +498 +502 +498 +500 +500 +501 +501 +498 +501 +501 +500 +499 +500 +499 +502 +499 +500 +502 +498 +500 +500 +499 +502 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +503 +497 +501 +499 +501 +501 +500 +499 +501 +498 +501 +501 +498 +502 +498 +501 +501 +500 +498 +501 +499 +501 +500 +500 +501 +499 +501 +500 +498 +502 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +500 +499 +500 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +500 +500 +500 +499 +500 +501 +500 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +499 +502 +499 +500 +500 +500 +501 +498 +501 +501 +500 +499 +501 +498 +502 +498 +501 +501 +500 +499 +501 +499 +501 +499 +500 +501 +498 +502 +500 +500 +500 +499 +499 +502 +498 +502 +498 +501 +501 +500 +500 +501 +498 +500 +500 +500 +501 +498 +501 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +498 +502 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +502 +498 +500 +502 +499 +499 +500 +499 +502 +498 +501 +502 +498 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +498 +502 +500 +499 +501 +500 +499 +502 +499 +499 +500 +500 +501 +500 +498 +502 +498 +502 +500 +499 +501 +499 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +500 +500 +499 +500 +501 +499 +501 +501 +498 +501 +500 +499 +501 +500 +499 +501 +498 +502 +498 +501 +501 +500 +498 +502 +499 +500 +500 +500 +501 +500 +499 +500 +500 +499 +501 +499 +502 +498 +501 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +498 +502 +498 +502 +500 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +502 +499 +499 +501 +498 +502 +498 +501 +501 +499 +501 +498 +501 +501 +499 +501 +500 +498 +501 +499 +501 +501 +500 +499 +501 +498 +501 +499 +501 +501 +500 +499 +501 +499 +499 +501 +499 +502 +498 +501 +501 +500 +499 +500 +500 +501 +499 +499 +502 +501 +499 +498 +501 +501 +499 +500 +501 +499 +500 +499 +502 +500 +499 +500 +501 +499 +501 +499 +499 +502 +498 +502 +500 +500 +498 +501 +501 +500 +498 +501 +501 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +500 +501 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +502 +498 +499 +501 +499 +502 +498 +501 +501 +500 +498 +502 +500 +500 +499 +500 +501 +499 +501 +500 +500 +500 +500 +498 +502 +498 +501 +500 +500 +501 +499 +499 +501 +500 +501 +498 +501 +501 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +500 +500 +500 +501 +499 +500 +500 +499 +502 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +500 +499 +500 +501 +500 +500 +499 +499 +503 +499 +500 +498 +502 +500 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +501 +499 +502 +498 +499 +502 +498 +501 +502 +498 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +499 +501 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +499 +502 +499 +501 +501 +499 +499 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +500 +498 +502 +500 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +500 +498 +501 +501 +500 +499 +500 +501 +500 +499 +501 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +500 +502 +498 +500 +499 +501 +501 +499 +499 +502 +500 +499 +500 +500 +501 +499 +507 +494 +499 +500 +500 +500 +501 +498 +501 +502 +498 +500 +500 +501 +499 +500 +500 +501 +499 +500 +499 +501 +501 +499 +499 +503 +497 +502 +498 +501 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +501 +498 +502 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +500 +498 +502 +498 +502 +498 +501 +501 +500 +500 +500 +499 +501 +500 +499 +501 +498 +501 +500 +503 +498 +499 +499 +502 +498 +501 +500 +501 +500 +499 +501 +500 +499 +500 +500 +499 +502 +499 +501 +501 +499 +500 +500 +498 +502 +499 +500 +501 +500 +500 +498 +501 +501 +500 +498 +502 +498 +502 +499 +501 +500 +499 +500 +501 +499 +500 +501 +498 +502 +498 +501 +502 +498 +501 +500 +498 +502 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +500 +498 +502 +500 +500 +498 +501 +499 +502 +499 +501 +500 +499 +500 +501 +499 +502 +498 +499 +502 +500 +500 +500 +500 +499 +500 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +500 +500 +499 +501 +499 +502 +500 +499 +501 +499 +501 +499 +499 +502 +498 +502 +500 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +502 +499 +500 +501 +498 +502 +498 +501 +501 +499 +499 +501 +499 +502 +499 +500 +501 +499 +501 +500 +498 +502 +498 +500 +502 +498 +502 +500 +500 +500 +499 +499 +501 +499 +502 +498 +502 +500 +499 +499 +502 +498 +500 +501 +501 +500 +498 +501 +502 +498 +499 +502 +499 +501 +499 +500 +501 +499 +501 +501 +497 +502 +499 +499 +502 +498 +502 +498 +502 +500 +500 +498 +502 +499 +500 +499 +501 +501 +502 +496 +503 +499 +499 +501 +499 +501 +498 +501 +501 +499 +499 +501 +500 +501 +499 +501 +501 +498 +500 +501 +499 +501 +499 +499 +501 +499 +501 +499 +501 +501 +500 +498 +502 +499 +500 +501 +500 +500 +500 +499 +502 +498 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +499 +501 +500 +500 +499 +501 +501 +499 +499 +502 +499 +500 +501 +499 +501 +498 +502 +500 +499 +499 +501 +500 +501 +499 +500 +502 +499 +500 +499 +500 +501 +499 +501 +504 +496 +500 +499 +500 +501 +499 +499 +502 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +502 +499 +500 +500 +501 +499 +499 +501 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +501 +498 +501 +502 +498 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +500 +500 +498 +502 +500 +499 +500 +501 +499 +501 +499 +499 +502 +498 +501 +501 +499 +499 +501 +500 +501 +500 +499 +501 +499 +500 +500 +501 +500 +499 +499 +502 +498 +501 +499 +501 +500 +500 +500 +502 +498 +501 +500 +500 +500 +499 +500 +501 +500 +498 +501 +499 +502 +498 +501 +501 +500 +499 +506 +495 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +500 +502 +498 +500 +500 +500 +501 +500 +498 +502 +499 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +502 +498 +501 +500 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +502 +497 +501 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +502 +500 +500 +500 +499 +500 +501 +499 +500 +501 +498 +501 +499 +502 +500 +499 +499 +502 +500 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +499 +502 +498 +502 +500 +499 +499 +502 +498 +502 +500 +499 +501 +499 +500 +499 +502 +500 +499 +500 +501 +498 +501 +499 +501 +501 +500 +499 +501 +500 +500 +499 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +501 +500 +501 +500 +499 +501 +499 +501 +498 +502 +500 +499 +500 +501 +498 +501 +499 +502 +500 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +498 +501 +499 +501 +501 +500 +499 +501 +500 +500 +498 +501 +501 +499 +500 +500 +502 +499 +498 +500 +502 +498 +501 +501 +499 +501 +500 +498 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +500 +503 +497 +502 +498 +502 +500 +499 +500 +501 +499 +500 +499 +501 +501 +499 +500 +500 +499 +501 +499 +500 +502 +498 +502 +500 +499 +501 +499 +501 +500 +500 +499 +501 +500 +500 +499 +501 +500 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +501 +498 +502 +499 +500 +501 +499 +500 +502 +498 +499 +501 +499 +502 +498 +502 +500 +499 +501 +499 +500 +501 +500 +499 +501 +499 +500 +499 +502 +500 +500 +498 +502 +498 +501 +499 +501 +501 +500 +498 +503 +499 +500 +499 +501 +500 +498 +501 +501 +500 +500 +499 +499 +502 +499 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +498 +501 +499 +502 +500 +499 +499 +502 +500 +500 +500 +499 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +500 +500 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +499 +501 +500 +500 +499 +501 +501 +500 +499 +502 +498 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +498 +501 +501 +499 +500 +500 +500 +501 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +501 +498 +501 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +499 +500 +501 +499 +500 +501 +498 +502 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +501 +498 +501 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +498 +502 +499 +500 +501 +500 +498 +502 +500 +500 +499 +507 +494 +499 +500 +500 +501 +500 +499 +500 +502 +497 +502 +498 +502 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +501 +499 +501 +498 +502 +498 +502 +499 +500 +502 +499 +500 +500 +499 +501 +499 +499 +502 +498 +502 +498 +502 +500 +500 +499 +501 +498 +502 +498 +501 +501 +499 +500 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +502 +500 +499 +501 +499 +500 +500 +501 +500 +499 +499 +502 +498 +502 +498 +502 +499 +501 +498 +501 +499 +502 +500 +499 +501 +500 +500 +500 +500 +498 +501 +499 +501 +499 +501 +502 +498 +501 +499 +500 +501 +500 +498 +502 +499 +500 +499 +502 +500 +500 +498 +502 +498 +502 +498 +502 +500 +500 +498 +502 +500 +498 +501 +499 +502 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +499 +502 +500 +499 +499 +503 +497 +502 +499 +501 +500 +499 +499 +503 +497 +501 +500 +502 +499 +499 +500 +502 +498 +499 +501 +499 +502 +498 +502 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +498 +502 +500 +500 +498 +502 +498 +502 +498 +502 +500 +499 +501 +501 +498 +500 +500 +499 +502 +500 +499 +502 +499 +499 +500 +499 +502 +499 +500 +501 +500 +500 +500 +499 +501 +499 +499 +503 +497 +501 +499 +502 +499 +501 +499 +501 +498 +501 +499 +501 +501 +499 +501 +501 +498 +500 +500 +499 +502 +498 +502 +500 +499 +500 +500 +500 +501 +498 +502 +500 +499 +501 +500 +499 +501 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +501 +498 +502 +498 +501 +501 +499 +500 +502 +498 +500 +500 +499 +502 +498 +501 +502 +499 +499 +500 +500 +501 +499 +500 +501 +500 +499 +499 +502 +500 +499 +499 +502 +498 +502 +499 +500 +501 +500 +499 +501 +499 +501 +499 +499 +502 +499 +500 +500 +501 +499 +501 +498 +502 +498 +502 +501 +498 +500 +501 +500 +500 +499 +501 +500 +498 +501 +501 +499 +501 +499 +499 +501 +499 +501 +501 +499 +501 +500 +499 +501 +499 +500 +501 +498 +502 +499 +501 +499 +501 +499 +501 +500 +500 +500 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +499 +502 +499 +501 +499 +500 +500 +501 +499 +501 +500 +499 +501 +499 +501 +500 +499 +499 +502 +498 +502 +500 +499 +502 +499 +500 +499 +500 +501 +499 +501 +500 +500 +500 +500 +499 +501 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +505 +495 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +499 +502 +500 +499 +500 +501 +499 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +502 +498 +501 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +499 +501 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +501 +498 +501 +502 +498 +502 +498 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +499 +502 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +499 +499 +502 +499 +500 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +498 +502 +500 +500 +498 +501 +500 +501 +499 +500 +502 +499 +500 +499 +501 +500 +499 +500 +501 +498 +502 +500 +500 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +499 +501 +498 +502 +498 +501 +501 +500 +499 +500 +500 +501 +500 +499 +501 +499 +500 +501 +500 +500 +499 +500 +501 +498 +501 +499 +502 +500 +499 +500 +501 +499 +500 +501 +498 +502 +498 +501 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +502 +499 +500 +500 +501 +500 +499 +499 +502 +498 +501 +500 +501 +500 +499 +500 +500 +500 +499 +501 +499 +502 +498 +501 +500 +500 +499 +501 +499 +502 +499 +499 +502 +500 +500 +498 +501 +501 +500 +498 +501 +500 +500 +501 +500 +500 +499 +499 +501 +499 +500 +502 +499 +500 +499 +501 +501 +499 +500 +500 +499 +502 +499 +500 +501 +499 +499 +501 +499 +502 +500 +498 +503 +498 +501 +499 +501 +500 +499 +499 +501 +499 +501 +500 +501 +500 +499 +499 +502 +499 +499 +501 +501 +500 +498 +501 +501 +500 +498 +502 +498 +502 +499 +500 +501 +500 +499 +499 +502 +500 +500 +498 +502 +500 +499 +499 +502 +500 +500 +498 +502 +499 +500 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +501 +498 +502 +500 +500 +498 +501 +499 +502 +499 +501 +500 +498 +501 +499 +501 +501 +499 +500 +501 +500 +499 +500 +500 +501 +500 +498 +503 +498 +500 +500 +501 +499 +499 +501 +502 +498 +499 +501 +499 +502 +498 +501 +501 +501 +497 +501 +500 +501 +499 +499 +501 +499 +501 +499 +501 +501 +500 +498 +501 +501 +499 +499 +502 +500 +500 +499 +501 +499 +500 +500 +501 +500 +498 +501 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +501 +498 +502 +498 +502 +500 +500 +498 +502 +500 +499 +501 +499 +501 +499 +500 +502 +498 +499 +502 +500 +500 +498 +501 +501 +499 +499 +501 +500 +501 +499 +500 +501 +499 +500 +499 +501 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +502 +498 +501 +499 +500 +501 +501 +499 +499 +501 +498 +502 +500 +499 +499 +501 +501 +500 +499 +500 +501 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +499 +501 +498 +502 +500 +500 +499 +502 +498 +500 +500 +499 +502 +498 +501 +501 +500 +499 +501 +499 +501 +499 +500 +500 +501 +500 +499 +502 +500 +498 +499 +501 +499 +501 +499 +501 +501 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +498 +501 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +501 +500 +499 +502 +497 +501 +501 +500 +499 +501 +500 +501 +498 +501 +499 +500 +501 +499 +499 +502 +498 +502 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +498 +502 +498 +502 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +499 +502 +499 +501 +500 +500 +500 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +501 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +507 +494 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +503 +499 +500 +498 +502 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +502 +498 +499 +501 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +498 +502 +501 +498 +500 +500 +499 +502 +500 +499 +501 +499 +500 +499 +501 +501 +500 +500 +500 +498 +502 +498 +502 +500 +499 +499 +501 +500 +501 +499 +501 +500 +498 +502 +500 +500 +498 +502 +498 +502 +498 +502 +501 +498 +499 +502 +499 +501 +499 +500 +501 +498 +502 +498 +502 +500 +500 +498 +502 +499 +500 +499 +501 +501 +500 +499 +501 +500 +499 +501 +498 +502 +498 +501 +501 +500 +498 +501 +500 +501 +498 +501 +500 +499 +502 +498 +502 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +502 +498 +502 +498 +500 +502 +498 +501 +501 +500 +499 +501 +498 +502 +498 +501 +501 +499 +499 +501 +501 +500 +498 +502 +500 +498 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +498 +502 +498 +500 +502 +498 +502 +498 +501 +501 +499 +500 +501 +498 +502 +498 +502 +501 +499 +500 +499 +501 +500 +499 +499 +501 +499 +502 +499 +500 +501 +499 +500 +501 +498 +501 +500 +500 +501 +500 +499 +501 +500 +498 +501 +499 +502 +498 +501 +501 +500 +499 +501 +498 +502 +499 +501 +500 +500 +500 +499 +501 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +500 +499 +502 +498 +501 +500 +498 +502 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +498 +502 +500 +499 +499 +501 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +499 +500 +502 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +498 +503 +497 +501 +500 +500 +501 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +501 +498 +500 +499 +501 +501 +499 +501 +500 +499 +501 +500 +500 +500 +499 +501 +504 +496 +500 +500 +500 +500 +498 +501 +501 +499 +500 +501 +499 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +501 +500 +498 +501 +500 +500 +501 +499 +501 +499 +500 +501 +500 +500 +500 +499 +500 +501 +500 +500 +498 +501 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +502 +497 +502 +498 +501 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +499 +502 +498 +501 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +500 +500 +500 +501 +500 +498 +503 +497 +502 +498 +501 +501 +500 +499 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +501 +500 +498 +502 +498 +501 +501 +499 +500 +501 +500 +500 +499 +499 +503 +497 +501 +499 +502 +500 +500 +498 +502 +498 +502 +499 +500 +501 +499 +500 +500 +500 +499 +502 +498 +501 +499 +502 +500 +499 +501 +499 +499 +501 +500 +500 +501 +499 +500 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +500 +499 +500 +499 +502 +499 +500 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +499 +499 +502 +498 +502 +500 +500 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +503 +497 +499 +502 +498 +502 +499 +500 +501 +500 +499 +500 +499 +502 +498 +502 +500 +499 +499 +502 +500 +500 +499 +499 +501 +499 +501 +501 +499 +501 +499 +499 +502 +498 +502 +498 +501 +501 +498 +502 +500 +500 +499 +500 +499 +502 +498 +501 +501 +500 +498 +501 +499 +502 +499 +500 +501 +498 +502 +499 +500 +501 +500 +498 +502 +499 +500 +500 +500 +501 +499 +499 +502 +500 +499 +500 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +502 +498 +500 +500 +500 +501 +499 +499 +501 +499 +501 +501 +499 +501 +500 +499 +501 +498 +502 +499 +501 +500 +500 +499 +500 +500 +500 +500 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +501 +500 +500 +500 +500 +500 +499 +499 +502 +498 +501 +501 +500 +500 +499 +499 +502 +498 +501 +500 +501 +500 +500 +499 +501 +499 +499 +501 +500 +501 +498 +501 +502 +499 +498 +502 +500 +500 +499 +501 +501 +499 +499 +501 +499 +501 +499 +499 +502 +498 +502 +500 +501 +498 +499 +500 +504 +498 +499 +502 +499 +501 +498 +501 +500 +499 +499 +501 +499 +502 +498 +502 +500 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +499 +501 +501 +500 +498 +502 +502 +497 +499 +501 +501 +499 +500 +502 +498 +500 +501 +500 +500 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +498 +500 +501 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +501 +499 +499 +503 +499 +500 +499 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +498 +502 +498 +501 +501 +499 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +500 +498 +502 +498 +502 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +502 +497 +500 +502 +499 +499 +503 +497 +502 +499 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +499 +502 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +498 +501 +498 +502 +500 +499 +499 +502 +500 +500 +500 +500 +500 +499 +500 +501 +499 +500 +500 +500 +501 +498 +501 +501 +500 +499 +500 +500 +501 +499 +501 +500 +499 +501 +500 +500 +500 +500 +499 +502 +497 +501 +499 +501 +501 +499 +500 +501 +500 +499 +501 +499 +502 +497 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +501 +499 +500 +501 +499 +500 +501 +498 +502 +499 +501 +499 +501 +498 +502 +498 +502 +498 +502 +500 +500 +499 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +501 +498 +501 +501 +499 +499 +502 +499 +501 +500 +499 +501 +499 +499 +501 +499 +501 +501 +500 +500 +499 +500 +501 +499 +499 +501 +500 +501 +499 +500 +501 +499 +500 +500 +499 +501 +499 +502 +500 +500 +499 +501 +499 +501 +499 +499 +502 +498 +501 +500 +501 +500 +499 +499 +501 +499 +501 +500 +499 +502 +498 +502 +501 +499 +498 +502 +499 +501 +499 +500 +501 +499 +499 +502 +500 +500 +499 +500 +502 +497 +502 +499 +500 +501 +500 +498 +502 +498 +502 +500 +499 +501 +500 +498 +502 +499 +499 +501 +499 +501 +500 +500 +501 +499 +499 +502 +498 +502 +499 +501 +500 +500 +499 +499 +501 +501 +500 +498 +501 +499 +501 +501 +499 +501 +499 +501 +499 +499 +501 +501 +500 +500 +498 +501 +501 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +500 +499 +502 +498 +501 +500 +499 +502 +498 +501 +501 +499 +499 +502 +498 +501 +501 +499 +501 +499 +499 +503 +497 +502 +500 +500 +500 +498 +501 +500 +501 +498 +501 +499 +502 +500 +500 +501 +499 +499 +500 +500 +501 +499 +500 +500 +499 +501 +499 +502 +500 +500 +498 +502 +499 +501 +499 +501 +500 +499 +500 +501 +500 +498 +502 +499 +501 +498 +501 +501 +499 +500 +500 +500 +501 +500 +500 +500 +500 +500 +500 +500 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +499 +500 +501 +499 +499 +501 +501 +499 +501 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +500 +498 +501 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +498 +502 +498 +502 +500 +499 +500 +502 +498 +500 +500 +501 +500 +499 +500 +502 +497 +502 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +499 +500 +500 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +502 +499 +501 +498 +502 +500 +500 +498 +502 +498 +501 +500 +501 +500 +499 +501 +499 +501 +498 +502 +499 +501 +498 +501 +501 +499 +500 +500 +500 +501 +498 +501 +501 +500 +499 +500 +500 +501 +499 +499 +502 +499 +500 +499 +502 +500 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +500 +501 +498 +501 +500 +501 +498 +501 +501 +499 +499 +501 +499 +501 +501 +499 +500 +500 +500 +499 +501 +501 +499 +499 +502 +499 +501 +498 +501 +501 +499 +499 +502 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +501 +500 +501 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +506 +496 +499 +499 +502 +500 +499 +499 +502 +499 +500 +499 +502 +500 +498 +501 +501 +500 +498 +501 +501 +500 +498 +501 +501 +499 +499 +502 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +498 +502 +500 +500 +498 +502 +499 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +499 +500 +499 +502 +499 +501 +498 +501 +501 +500 +499 +501 +500 +500 +499 +500 +501 +499 +501 +501 +499 +499 +500 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +501 +500 +500 +500 +500 +500 +499 +501 +500 +499 +500 +501 +499 +501 +500 +499 +501 +500 +499 +500 +501 +500 +500 +498 +502 +499 +501 +498 +501 +501 +500 +499 +501 +500 +499 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +501 +500 +500 +501 +499 +499 +501 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +502 +498 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +498 +502 +501 +499 +499 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +502 +498 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +498 +502 +499 +500 +502 +499 +499 +501 +499 +501 +500 +499 +500 +501 +500 +499 +500 +502 +498 +500 +501 +500 +500 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +498 +503 +498 +501 +500 +500 +500 +500 +499 +501 +500 +500 +499 +500 +501 +500 +500 +500 +500 +498 +502 +498 +502 +498 +502 +500 +499 +500 +501 +499 +500 +501 +500 +501 +498 +501 +498 +501 +501 +499 +499 +502 +499 +500 +501 +500 +500 +500 +499 +501 +500 +500 +499 +500 +501 +498 +502 +501 +498 +499 +502 +498 +502 +499 +501 +500 +500 +500 +498 +502 +500 +500 +499 +501 +498 +502 +498 +501 +501 +500 +498 +501 +502 +498 +500 +500 +501 +498 +501 +501 +500 +499 +501 +498 +502 +498 +502 +500 +499 +499 +501 +501 +500 +499 +501 +501 +497 +501 +499 +501 +501 +500 +500 +499 +499 +502 +498 +502 +500 +500 +498 +502 +499 +500 +500 +500 +501 +498 +501 +501 +499 +499 +502 +500 +500 +498 +501 +501 +499 +499 +502 +499 +501 +499 +500 +502 +498 +500 +499 +502 +500 +499 +499 +502 +502 +498 +498 +502 +500 +499 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +498 +501 +500 +501 +498 +500 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +500 +500 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +498 +501 +502 +498 +500 +500 +501 +500 +498 +501 +501 +500 +498 +501 +501 +500 +498 +501 +500 +499 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +499 +501 +499 +500 +501 +498 +501 +501 +500 +499 +500 +500 +501 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +500 +499 +501 +499 +499 +502 +498 +502 +499 +500 +502 +498 +500 +500 +499 +502 +498 +501 +502 +499 +499 +500 +500 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +500 +500 +500 +500 +499 +501 +502 +498 +499 +501 +499 +502 +499 +500 +501 +499 +500 +501 +499 +502 +498 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +502 +498 +499 +502 +499 +501 +499 +500 +502 +499 +499 +501 +499 +502 +498 +499 +503 +497 +502 +498 +501 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +497 +502 +498 +501 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +501 +499 +501 +499 +499 +502 +498 +501 +502 +498 +500 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +499 +499 +503 +497 +501 +499 +501 +501 +499 +500 +501 +500 +500 +499 +500 +501 +499 +501 +500 +499 +500 +501 +498 +502 +498 +502 +501 +498 +500 +500 +500 +500 +501 +498 +502 +498 +502 +498 +502 +500 +500 +498 +503 +497 +501 +500 +500 +501 +499 +500 +501 +499 +501 +500 +498 +501 +499 +502 +500 +500 +499 +500 +499 +502 +499 +500 +502 +498 +500 +500 +501 +500 +499 +499 +503 +497 +501 +499 +502 +501 +498 +499 +502 +498 +501 +500 +500 +500 +500 +501 +499 +501 +500 +499 +499 +502 +500 +500 +500 +499 +499 +501 +499 +502 +499 +499 +502 +498 +502 +499 +500 +501 +499 +501 +500 +498 +502 +498 +501 +501 +500 +499 +501 +500 +498 +502 +498 +502 +498 +502 +501 +499 +498 +502 +498 +502 +498 +501 +501 +500 +498 +501 +500 +501 +499 +499 +502 +498 +501 +499 +502 +499 +500 +500 +500 +499 +501 +499 +501 +501 +498 +501 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +499 +502 +499 +502 +498 +500 +501 +498 +501 +501 +499 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +501 +500 +500 +499 +500 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +501 +499 +501 +499 +499 +501 +499 +501 +501 +500 +500 +499 +499 +502 +498 +501 +499 +501 +501 +500 +500 +499 +500 +499 +501 +499 +502 +498 +501 +501 +500 +498 +501 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +501 +499 +500 +501 +500 +500 +501 +498 +499 +502 +498 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +498 +501 +499 +501 +501 +500 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +499 +502 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +499 +501 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +499 +502 +500 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +502 +499 +498 +501 +500 +500 +500 +500 +501 +500 +499 +499 +500 +502 +499 +500 +506 +493 +502 +498 +501 +500 +500 +500 +501 +500 +499 +501 +499 +501 +498 +502 +500 +500 +499 +501 +498 +502 +498 +502 +501 +498 +500 +499 +502 +500 +500 +498 +503 +497 +501 +499 +502 +500 +499 +499 +502 +499 +501 +498 +502 +500 +500 +499 +501 +499 +499 +502 +498 +502 +498 +501 +502 +499 +498 +501 +500 +501 +498 +501 +502 +497 +501 +499 +501 +501 +500 +498 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +501 +501 +498 +502 +499 +500 +501 +499 +499 +501 +499 +502 +498 +502 +500 +500 +500 +500 +499 +501 +499 +499 +501 +500 +501 +498 +501 +501 +499 +499 +501 +499 +501 +500 +501 +500 +499 +500 +501 +499 +500 +500 +499 +502 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +502 +498 +501 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +498 +501 +501 +499 +500 +500 +499 +502 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +498 +501 +501 +500 +498 +502 +500 +500 +499 +501 +500 +499 +500 +501 +500 +500 +498 +500 +502 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +499 +501 +499 +501 +498 +500 +502 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +501 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +501 +499 +500 +501 +498 +502 +499 +500 +501 +500 +498 +503 +497 +501 +501 +500 +500 +499 +500 +501 +499 +500 +502 +497 +501 +500 +500 +501 +500 +498 +502 +498 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +502 +499 +500 +501 +500 +500 +500 +498 +502 +499 +499 +502 +499 +501 +498 +502 +500 +500 +498 +502 +499 +501 +500 +500 +500 +500 +498 +502 +499 +500 +501 +498 +502 +499 +500 +501 +500 +498 +501 +499 +502 +498 +502 +500 +499 +500 +499 +502 +500 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +502 +498 +502 +500 +499 +501 +498 +500 +503 +498 +499 +501 +500 +500 +501 +499 +501 +500 +499 +501 +498 +502 +499 +500 +502 +497 +502 +500 +499 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +499 +500 +500 +501 +498 +502 +499 +500 +500 +500 +499 +502 +499 +500 +501 +499 +500 +500 +500 +501 +500 +498 +502 +498 +502 +500 +499 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +499 +501 +501 +500 +499 +500 +501 +502 +497 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +500 +499 +500 +503 +497 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +500 +502 +499 +499 +499 +501 +501 +499 +501 +501 +498 +500 +501 +500 +500 +499 +499 +502 +498 +502 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +499 +502 +498 +502 +500 +499 +500 +500 +501 +500 +500 +498 +502 +498 +501 +499 +502 +500 +500 +498 +502 +498 +502 +500 +499 +501 +499 +501 +500 +499 +499 +502 +498 +502 +498 +501 +501 +500 +499 +501 +498 +502 +498 +502 +500 +500 +499 +500 +501 +500 +499 +499 +502 +499 +500 +500 +501 +500 +500 +498 +502 +498 +501 +500 +501 +500 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +500 +500 +499 +502 +499 +501 +499 +499 +502 +498 +502 +500 +499 +499 +501 +500 +500 +500 +500 +501 +500 +498 +502 +499 +499 +501 +500 +501 +498 +501 +502 +498 +500 +501 +499 +501 +499 +500 +501 +499 +500 +499 +501 +501 +500 +498 +502 +499 +501 +499 +500 +501 +500 +499 +501 +500 +499 +500 +501 +500 +498 +501 +501 +499 +499 +502 +500 +500 +499 +501 +501 +499 +499 +500 +501 +500 +499 +500 +501 +499 +501 +498 +502 +500 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +502 +498 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +498 +501 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +502 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +499 +502 +499 +501 +500 +499 +503 +498 +499 +501 +500 +500 +500 +499 +500 +501 +500 +499 +500 +501 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +498 +502 +498 +502 +500 +500 +500 +499 +500 +499 +501 +501 +499 +499 +503 +498 +500 +499 +502 +500 +499 +499 +501 +500 +500 +500 +500 +501 +498 +500 +502 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +502 +500 +499 +499 +501 +501 +498 +501 +500 +500 +501 +499 +499 +502 +500 +499 +501 +500 +498 +501 +499 +502 +498 +502 +501 +498 +501 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +500 +499 +499 +503 +498 +500 +499 +500 +502 +498 +501 +502 +498 +501 +499 +499 +502 +500 +499 +501 +499 +500 +500 +501 +500 +499 +499 +502 +499 +500 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +500 +500 +500 +501 +499 +500 +499 +500 +502 +498 +501 +501 +499 +501 +500 +499 +501 +499 +500 +501 +500 +499 +500 +500 +501 +498 +500 +501 +499 +501 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +502 +497 +502 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +499 +502 +500 +499 +499 +503 +499 +499 +501 +499 +501 +499 +500 +502 +498 +501 +498 +501 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +500 +499 +500 +500 +501 +498 +502 +500 +499 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +502 +497 +501 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +498 +502 +500 +499 +499 +501 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +498 +502 +498 +502 +500 +500 +500 +500 +498 +501 +500 +500 +501 +499 +500 +501 +499 +501 +499 +499 +502 +498 +502 +499 +500 +499 +501 +500 +501 +499 +500 +501 +498 +501 +499 +502 +500 +499 +500 +501 +498 +502 +498 +501 +501 +499 +500 +501 +498 +502 +500 +498 +502 +498 +501 +501 +500 +500 +499 +499 +501 +499 +502 +500 +500 +498 +501 +500 +501 +499 +500 +501 +498 +501 +499 +501 +501 +500 +500 +500 +498 +502 +499 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +498 +501 +506 +494 +500 +500 +499 +502 +498 +501 +502 +497 +501 +499 +501 +501 +499 +500 +501 +498 +502 +498 +502 +500 +499 +501 +499 +499 +502 +499 +499 +502 +498 +501 +502 +498 +499 +501 +501 +500 +498 +501 +500 +500 +499 +502 +498 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +501 +500 +500 +498 +501 +500 +500 +500 +501 +500 +500 +498 +501 +501 +500 +499 +500 +502 +499 +500 +500 +500 +500 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +499 +500 +500 +500 +500 +501 +500 +501 +499 +498 +502 +498 +502 +498 +501 +501 +499 +499 +501 +501 +500 +499 +501 +500 +500 +499 +501 +499 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +499 +502 +499 +500 +501 +499 +501 +499 +500 +501 +500 +500 +499 +501 +500 +498 +500 +502 +500 +498 +501 +501 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +501 +501 +498 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +499 +502 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +499 +502 +499 +500 +499 +501 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +498 +501 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +499 +502 +498 +502 +500 +500 +500 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +499 +503 +499 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +499 +501 +499 +502 +499 +500 +501 +500 +499 +500 +501 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +499 +502 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +498 +502 +501 +499 +498 +501 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +501 +500 +500 +499 +499 +502 +498 +502 +499 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +500 +500 +499 +499 +502 +498 +501 +501 +503 +497 +498 +502 +500 +500 +498 +502 +498 +502 +498 +502 +500 +500 +498 +502 +498 +502 +499 +500 +501 +498 +501 +502 +498 +500 +500 +499 +502 +499 +500 +501 +500 +499 +500 +499 +502 +499 +500 +501 +498 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +498 +503 +498 +500 +500 +499 +502 +500 +499 +501 +499 +500 +500 +499 +502 +498 +502 +500 +499 +500 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +501 +501 +497 +502 +499 +500 +501 +499 +500 +502 +499 +499 +500 +499 +502 +499 +500 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +501 +498 +502 +501 +498 +500 +500 +500 +501 +498 +501 +501 +499 +501 +500 +498 +501 +501 +498 +502 +499 +500 +502 +498 +499 +501 +500 +502 +498 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +499 +501 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +500 +501 +499 +501 +499 +499 +502 +499 +500 +501 +500 +498 +501 +499 +502 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +498 +501 +500 +500 +501 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +501 +499 +499 +502 +498 +502 +499 +500 +501 +499 +500 +501 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +498 +502 +499 +499 +502 +500 +499 +501 +499 +500 +502 +498 +500 +500 +501 +500 +499 +500 +502 +497 +500 +502 +500 +500 +500 +499 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +500 +499 +502 +499 +499 +503 +498 +501 +500 +500 +500 +500 +499 +501 +499 +500 +500 +500 +501 +500 +498 +503 +498 +500 +500 +501 +500 +500 +500 +500 +499 +500 +501 +499 +501 +500 +499 +501 +499 +499 +501 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +499 +502 +498 +501 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +498 +501 +499 +502 +498 +502 +500 +500 +499 +500 +501 +499 +500 +500 +501 +499 +501 +498 +502 +500 +500 +498 +502 +498 +501 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +501 +500 +499 +501 +500 +498 +502 +498 +502 +500 +500 +501 +498 +501 +499 +500 +501 +499 +500 +502 +498 +500 +499 +502 +500 +500 +498 +502 +500 +500 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +499 +502 +497 +502 +498 +502 +500 +500 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +498 +502 +500 +500 +498 +501 +501 +500 +500 +500 +499 +501 +500 +499 +501 +499 +503 +497 +501 +499 +501 +500 +500 +498 +502 +500 +499 +501 +499 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +499 +502 +500 +500 +498 +502 +500 +500 +500 +500 +499 +501 +499 +501 +500 +499 +500 +499 +502 +500 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +498 +501 +501 +499 +501 +500 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +499 +500 +501 +498 +501 +499 +502 +500 +500 +500 +500 +500 +499 +500 +500 +501 +500 +499 +502 +498 +501 +499 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +499 +502 +499 +501 +500 +500 +499 +501 +499 +501 +499 +499 +502 +499 +500 +501 +500 +500 +499 +500 +499 +501 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +501 +498 +500 +501 +499 +501 +499 +501 +500 +499 +501 +500 +500 +500 +499 +500 +501 +499 +500 +501 +498 +501 +500 +500 +500 +501 +500 +500 +500 +500 +499 +500 +501 +499 +500 +506 +494 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +499 +500 +501 +499 +501 +498 +501 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +500 +499 +502 +499 +500 +499 +501 +500 +499 +499 +501 +500 +500 +499 +502 +500 +499 +501 +500 +500 +500 +500 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +499 +502 +498 +502 +499 +501 +500 +500 +498 +502 +499 +500 +500 +500 +501 +499 +500 +501 +500 +498 +501 +499 +502 +499 +500 +501 +500 +498 +502 +498 +502 +499 +501 +500 +499 +500 +500 +501 +500 +499 +501 +501 +497 +501 +500 +500 +501 +500 +498 +502 +499 +501 +499 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +498 +502 +500 +500 +498 +502 +498 +501 +500 +499 +503 +497 +501 +499 +501 +501 +499 +500 +501 +498 +502 +500 +499 +501 +499 +500 +501 +498 +502 +499 +499 +502 +498 +501 +501 +500 +500 +499 +499 +502 +498 +501 +501 +500 +498 +502 +498 +502 +499 +500 +501 +498 +501 +499 +502 +500 +500 +499 +501 +498 +502 +499 +500 +501 +499 +499 +502 +499 +500 +500 +499 +502 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +500 +499 +500 +499 +501 +501 +499 +499 +503 +497 +501 +499 +502 +500 +499 +500 +501 +498 +501 +499 +501 +501 +498 +501 +500 +500 +501 +499 +499 +502 +498 +501 +501 +499 +499 +501 +500 +501 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +500 +501 +499 +500 +500 +500 +501 +498 +501 +502 +498 +501 +499 +499 +502 +499 +500 +502 +499 +499 +501 +500 +500 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +502 +500 +499 +500 +501 +500 +498 +501 +501 +500 +498 +501 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +499 +501 +500 +501 +498 +501 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +499 +502 +500 +500 +499 +501 +498 +502 +500 +500 +500 +500 +499 +501 +499 +500 +500 +500 +501 +498 +501 +502 +498 +501 +500 +500 +500 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +502 +502 +496 +501 +499 +501 +500 +499 +502 +498 +500 +500 +499 +504 +496 +502 +500 +500 +499 +501 +499 +501 +500 +500 +500 +499 +500 +500 +501 +500 +499 +499 +502 +503 +497 +500 +500 +500 +500 +500 +501 +499 +499 +500 +499 +502 +500 +500 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +501 +500 +499 +501 +499 +498 +502 +500 +499 +499 +502 +500 +500 +498 +502 +498 +501 +501 +500 +500 +500 +499 +501 +499 +499 +501 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +498 +502 +501 +498 +501 +498 +502 +500 +500 +501 +499 +500 +499 +499 +501 +501 +500 +498 +502 +499 +501 +500 +499 +501 +501 +499 +501 +499 +498 +502 +498 +502 +500 +499 +501 +499 +499 +501 +501 +500 +500 +499 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +499 +499 +502 +500 +500 +500 +499 +501 +500 +499 +499 +502 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +498 +501 +500 +501 +500 +500 +500 +499 +501 +500 +499 +501 +499 +503 +498 +498 +502 +500 +500 +499 +500 +499 +502 +498 +502 +499 +500 +500 +501 +499 +502 +500 +500 +499 +498 +502 +499 +501 +500 +500 +499 +500 +500 +501 +500 +500 +500 +500 +498 +502 +499 +501 +500 +499 +501 +499 +501 +500 +500 +498 +502 +498 +502 +499 +502 +500 +499 +500 +500 +500 +501 +499 +498 +502 +499 +501 +499 +501 +500 +499 +500 +501 +498 +502 +500 +501 +498 +501 +501 +499 +500 +502 +498 +499 +501 +498 +501 +501 +500 +499 +500 +499 +502 +498 +502 +500 +499 +501 +500 +500 +501 +498 +501 +499 +500 +501 +500 +500 +500 +500 +498 +502 +498 +502 +500 +499 +501 +499 +500 +501 +499 +499 +501 +499 +502 +499 +501 +501 +499 +499 +501 +498 +502 +499 +501 +500 +500 +499 +501 +499 +501 +499 +501 +499 +499 +501 +499 +501 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +501 +500 +500 +499 +500 +499 +502 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +500 +499 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +500 +499 +499 +502 +499 +501 +499 +501 +500 +500 +500 +501 +499 +500 +500 +500 +499 +499 +502 +498 +502 +501 +499 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +502 +498 +501 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +500 +499 +501 +500 +499 +502 +499 +500 +500 +500 +501 +498 +500 +501 +499 +500 +501 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +499 +503 +497 +501 +499 +501 +501 +499 +500 +501 +498 +502 +498 +501 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +498 +501 +498 +503 +500 +499 +501 +499 +500 +500 +500 +500 +501 +497 +502 +499 +499 +502 +500 +500 +500 +500 +500 +499 +501 +501 +500 +499 +500 +500 +500 +501 +499 +500 +499 +501 +498 +502 +500 +499 +500 +501 +500 +500 +498 +502 +500 +500 +500 +499 +501 +500 +503 +497 +501 +499 +499 +500 +502 +499 +500 +500 +500 +499 +501 +500 +499 +501 +500 +499 +501 +500 +500 +500 +500 +501 +498 +500 +501 +500 +500 +500 +499 +501 +498 +502 +502 +498 +500 +500 +500 +501 +499 +498 +502 +499 +501 +499 +501 +500 +500 +498 +502 +499 +502 +499 +500 +501 +499 +500 +500 +499 +500 +500 +499 +502 +498 +501 +501 +499 +501 +499 +499 +502 +499 +500 +502 +499 +500 +498 +502 +500 +500 +498 +502 +499 +503 +500 +500 +498 +500 +499 +501 +501 +499 +500 +499 +501 +500 +500 +500 +500 +499 +501 +500 +500 +498 +502 +500 +500 +499 +501 +500 +500 +500 +499 +501 +499 +503 +497 +501 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +498 +502 +500 +499 +501 +499 +499 +502 +498 +502 +499 +500 +506 +493 +501 +500 +501 +500 +500 +499 +502 +497 +502 +499 +501 +501 +499 +498 +502 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +500 +502 +498 +499 +500 +500 +501 +501 +498 +502 +497 +502 +500 +500 +500 +500 +499 +500 +499 +501 +499 +502 +500 +499 +501 +500 +499 +500 +499 +500 +502 +500 +500 +500 +499 +500 +501 +500 +500 +500 +499 +502 +499 +500 +500 +499 +501 +500 +499 +500 +499 +502 +500 +499 +501 +500 +500 +501 +499 +500 +500 +499 +501 +499 +500 +501 +499 +499 +501 +500 +501 +500 +500 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +499 +499 +502 +500 +499 +499 +502 +498 +502 +500 +500 +500 +499 +502 +499 +499 +500 +501 +500 +500 +498 +501 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +498 +501 +499 +502 +500 +499 +500 +502 +498 +501 +500 +500 +500 +499 +501 +500 +499 +500 +500 +499 +502 +498 +501 +502 +498 +501 +499 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +501 +498 +501 +501 +499 +501 +499 +500 +502 +499 +499 +501 +500 +500 +498 +500 +503 +497 +502 +499 +500 +501 +499 +499 +501 +499 +502 +499 +500 +501 +499 +499 +502 +499 +501 +499 +499 +502 +498 +502 +501 +499 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +501 +499 +499 +502 +498 +501 +500 +501 +499 +500 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +499 +501 +499 +502 +498 +501 +502 +499 +498 +502 +498 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +499 +501 +499 +501 +500 +500 +499 +502 +498 +501 +498 +502 +500 +499 +501 +499 +501 +499 +500 +500 +501 +498 +502 +501 +499 +498 +501 +500 +501 +500 +499 +501 +498 +501 +499 +503 +499 +499 +499 +502 +498 +501 +499 +501 +501 +498 +501 +502 +499 +499 +500 +500 +501 +498 +501 +501 +500 +498 +500 +501 +501 +499 +500 +502 +497 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +501 +500 +500 +498 +502 +500 +500 +498 +502 +501 +499 +500 +501 +499 +499 +499 +502 +499 +501 +500 +498 +501 +501 +499 +501 +500 +499 +501 +498 +502 +500 +500 +499 +501 +499 +501 +498 +500 +502 +498 +501 +501 +499 +499 +501 +501 +500 +498 +500 +503 +498 +500 +501 +501 +499 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +503 +497 +500 +500 +501 +497 +502 +500 +500 +499 +501 +500 +500 +499 +503 +499 +498 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +498 +503 +499 +500 +500 +498 +502 +499 +501 +500 +500 +498 +502 +500 +500 +499 +501 +500 +499 +500 +501 +500 +498 +502 +499 +501 +498 +501 +501 +500 +498 +501 +499 +502 +498 +501 +501 +498 +501 +499 +502 +499 +500 +499 +502 +498 +502 +498 +502 +500 +499 +499 +502 +500 +499 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +501 +499 +502 +500 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +502 +500 +500 +499 +500 +501 +499 +499 +501 +499 +502 +498 +500 +502 +499 +500 +499 +502 +500 +500 +498 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +500 +501 +499 +501 +499 +501 +501 +499 +500 +501 +498 +502 +499 +501 +500 +499 +499 +501 +499 +502 +499 +500 +502 +497 +501 +499 +501 +501 +499 +499 +501 +500 +501 +498 +502 +500 +499 +499 +502 +500 +499 +500 +499 +502 +499 +500 +502 +499 +500 +500 +499 +501 +500 +499 +501 +499 +501 +498 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +500 +499 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +500 +501 +499 +501 +500 +498 +501 +500 +501 +498 +502 +500 +500 +498 +502 +498 +501 +500 +500 +501 +500 +500 +500 +499 +499 +501 +499 +502 +498 +501 +503 +498 +498 +500 +502 +500 +499 +499 +503 +497 +502 +498 +502 +500 +499 +499 +501 +499 +501 +500 +500 +501 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +500 +500 +498 +502 +498 +502 +498 +501 +502 +497 +501 +499 +501 +501 +500 +498 +503 +497 +501 +501 +499 +501 +499 +499 +501 +499 +502 +498 +500 +501 +499 +502 +500 +499 +499 +501 +500 +501 +498 +502 +500 +498 +502 +498 +502 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +501 +500 +500 +500 +499 +502 +500 +500 +501 +499 +498 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +501 +499 +502 +500 +499 +501 +498 +502 +500 +499 +499 +502 +498 +501 +500 +500 +501 +499 +499 +502 +499 +499 +502 +498 +502 +500 +499 +502 +499 +498 +501 +500 +501 +498 +500 +503 +497 +501 +499 +502 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +503 +499 +498 +502 +498 +501 +502 +499 +498 +502 +498 +502 +499 +500 +502 +498 +499 +501 +499 +502 +499 +500 +501 +498 +502 +499 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +501 +500 +500 +501 +498 +502 +498 +502 +498 +501 +501 +499 +500 +501 +498 +502 +498 +501 +500 +500 +501 +501 +498 +500 +500 +499 +502 +498 +501 +501 +499 +500 +499 +502 +499 +500 +499 +502 +498 +501 +499 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +498 +500 +502 +500 +498 +501 +500 +501 +498 +501 +501 +499 +499 +502 +499 +501 +498 +501 +501 +498 +501 +499 +502 +500 +500 +498 +502 +499 +500 +499 +502 +499 +500 +501 +500 +499 +501 +498 +500 +502 +498 +501 +501 +500 +498 +501 +499 +502 +498 +500 +503 +498 +501 +500 +499 +501 +500 +499 +501 +498 +502 +499 +500 +501 +499 +499 +503 +497 +502 +498 +501 +501 +498 +501 +501 +500 +498 +502 +498 +502 +498 +502 +500 +499 +499 +501 +499 +502 +498 +500 +501 +501 +499 +500 +500 +501 +499 +499 +501 +500 +500 +499 +501 +501 +499 +499 +501 +499 +500 +502 +498 +502 +499 +501 +501 +498 +499 +501 +499 +502 +498 +500 +503 +497 +502 +498 +501 +501 +499 +499 +502 +499 +500 +501 +499 +500 +500 +499 +502 +498 +500 +502 +498 +502 +498 +501 +501 +500 +498 +502 +498 +502 +499 +500 +501 +500 +498 +501 +499 +502 +499 +500 +501 +499 +500 +499 +501 +501 +499 +499 +502 +500 +499 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +499 +499 +507 +493 +501 +499 +502 +500 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +501 +499 +499 +501 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +503 +498 +501 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +498 +501 +501 +499 +501 +500 +500 +500 +499 +500 +502 +498 +499 +501 +499 +502 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +500 +497 +502 +498 +502 +498 +501 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +499 +500 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +501 +499 +502 +501 +498 +501 +499 +502 +499 +499 +501 +501 +498 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +500 +498 +502 +498 +502 +498 +500 +502 +498 +501 +502 +499 +502 +498 +499 +501 +499 +501 +501 +498 +501 +499 +501 +500 +500 +499 +500 +500 +501 +498 +501 +501 +499 +499 +502 +498 +501 +499 +500 +502 +498 +502 +501 +499 +499 +502 +498 +501 +498 +502 +501 +498 +499 +502 +498 +502 +499 +499 +502 +498 +501 +500 +500 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +501 +500 +499 +502 +498 +502 +498 +501 +502 +499 +498 +501 +500 +502 +497 +501 +501 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +501 +500 +500 +499 +500 +500 +499 +500 +501 +500 +501 +499 +501 +500 +500 +499 +500 +499 +502 +498 +502 +500 +500 +498 +502 +498 +502 +500 +498 +503 +497 +501 +499 +501 +500 +500 +499 +502 +498 +502 +499 +500 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +501 +500 +501 +501 +499 +499 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +498 +499 +501 +499 +502 +498 +501 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +498 +501 +501 +499 +500 +500 +501 +500 +500 +499 +501 +499 +499 +500 +501 +501 +499 +499 +503 +498 +500 +499 +502 +500 +499 +499 +502 +498 +502 +498 +501 +501 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +501 +499 +498 +501 +501 +500 +500 +499 +501 +498 +501 +500 +501 +500 +499 +499 +502 +503 +496 +499 +501 +500 +500 +499 +502 +498 +501 +499 +500 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +501 +500 +500 +501 +500 +498 +501 +500 +500 +501 +498 +502 +499 +500 +502 +498 +501 +499 +499 +502 +498 +500 +502 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +498 +500 +502 +499 +501 +499 +500 +501 +499 +499 +502 +498 +502 +499 +500 +501 +499 +500 +500 +499 +502 +499 +499 +502 +498 +501 +499 +502 +500 +500 +498 +502 +498 +501 +500 +500 +500 +500 +500 +501 +500 +499 +501 +498 +502 +498 +501 +501 +499 +499 +500 +500 +502 +499 +499 +502 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +500 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +499 +501 +500 +499 +501 +498 +501 +501 +500 +498 +501 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +501 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +500 +500 +499 +502 +500 +500 +500 +499 +501 +498 +501 +501 +500 +499 +500 +499 +502 +498 +500 +503 +498 +500 +499 +501 +501 +499 +501 +500 +498 +501 +500 +500 +501 +499 +500 +501 +499 +499 +500 +500 +502 +499 +500 +501 +499 +500 +500 +499 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +500 +500 +500 +500 +499 +501 +501 +499 +500 +501 +498 +500 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +500 +500 +501 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +500 +498 +501 +499 +502 +498 +501 +500 +500 +499 +501 +499 +502 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +498 +501 +502 +499 +499 +501 +498 +502 +500 +499 +500 +500 +499 +500 +502 +500 +499 +499 +502 +498 +501 +499 +502 +499 +500 +499 +502 +499 +500 +499 +501 +501 +499 +499 +503 +498 +500 +500 +499 +501 +499 +501 +501 +499 +499 +501 +499 +502 +500 +499 +500 +499 +500 +500 +500 +502 +499 +499 +502 +498 +501 +499 +501 +500 +501 +498 +502 +498 +501 +501 +500 +500 +498 +501 +502 +498 +499 +501 +499 +502 +499 +499 +503 +497 +502 +498 +502 +500 +499 +500 +500 +499 +503 +498 +500 +501 +499 +499 +502 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +501 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +501 +499 +499 +501 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +502 +498 +502 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +500 +501 +500 +498 +502 +498 +502 +498 +502 +500 +499 +499 +500 +500 +502 +499 +499 +502 +499 +500 +500 +500 +502 +498 +499 +502 +498 +502 +499 +500 +501 +498 +500 +502 +499 +500 +501 +498 +502 +498 +502 +501 +498 +499 +500 +502 +500 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +498 +502 +499 +500 +501 +498 +501 +500 +500 +500 +500 +499 +502 +498 +501 +501 +499 +499 +501 +500 +501 +498 +502 +500 +499 +500 +499 +502 +500 +499 +499 +502 +499 +501 +498 +502 +499 +500 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +500 +498 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +501 +501 +499 +501 +500 +499 +500 +500 +500 +500 +499 +500 +500 +502 +498 +501 +501 +499 +499 +501 +501 +500 +499 +500 +501 +498 +502 +498 +502 +500 +500 +499 +501 +498 +501 +499 +502 +500 +499 +500 +501 +499 +501 +499 +500 +501 +498 +501 +500 +500 +499 +502 +498 +502 +498 +502 +500 +499 +499 +501 +501 +500 +499 +499 +502 +498 +502 +498 +501 +500 +500 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +498 +500 +500 +499 +502 +498 +501 +501 +499 +499 +500 +500 +502 +499 +499 +508 +492 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +500 +499 +499 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +500 +500 +501 +498 +499 +501 +499 +502 +499 +501 +501 +498 +499 +501 +499 +502 +499 +500 +502 +499 +500 +498 +501 +501 +499 +500 +500 +501 +500 +500 +498 +502 +499 +499 +501 +499 +501 +499 +500 +502 +498 +502 +500 +500 +499 +500 +499 +502 +498 +502 +500 +498 +501 +500 +500 +501 +499 +499 +502 +500 +499 +500 +500 +501 +500 +499 +501 +498 +501 +500 +500 +501 +498 +500 +501 +500 +500 +500 +500 +501 +498 +501 +500 +500 +499 +501 +499 +502 +499 +501 +500 +498 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +498 +502 +498 +501 +499 +501 +500 +499 +501 +501 +499 +499 +501 +499 +501 +501 +499 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +500 +500 +499 +501 +499 +500 +502 +500 +500 +498 +501 +501 +499 +499 +502 +498 +502 +500 +498 +502 +498 +501 +499 +501 +500 +501 +498 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +499 +499 +502 +498 +501 +500 +500 +499 +501 +501 +499 +499 +501 +501 +499 +499 +501 +499 +502 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +501 +499 +502 +500 +500 +500 +498 +502 +500 +499 +499 +502 +500 +500 +498 +500 +502 +498 +501 +499 +502 +500 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +500 +501 +499 +502 +498 +501 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +499 +500 +502 +500 +500 +498 +502 +498 +501 +499 +501 +501 +499 +501 +499 +499 +502 +498 +501 +501 +499 +499 +503 +497 +500 +500 +500 +502 +498 +501 +501 +500 +499 +501 +499 +500 +499 +501 +501 +500 +498 +500 +501 +501 +499 +499 +503 +497 +502 +498 +501 +501 +499 +501 +500 +498 +501 +499 +501 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +501 +500 +500 +499 +499 +502 +503 +497 +498 +502 +500 +499 +499 +501 +499 +502 +499 +500 +501 +498 +502 +500 +499 +499 +502 +499 +500 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +502 +500 +499 +501 +500 +499 +501 +498 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +499 +500 +499 +501 +501 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +500 +500 +499 +502 +500 +499 +499 +501 +501 +499 +499 +501 +499 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +499 +499 +502 +500 +499 +500 +501 +499 +499 +501 +500 +501 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +502 +498 +499 +502 +498 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +502 +500 +498 +501 +500 +501 +498 +501 +502 +498 +500 +499 +500 +502 +500 +498 +502 +498 +502 +498 +502 +500 +500 +498 +502 +498 +501 +499 +501 +501 +499 +501 +500 +500 +500 +499 +499 +502 +498 +501 +501 +499 +499 +501 +501 +500 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +501 +500 +499 +500 +500 +501 +498 +501 +501 +500 +500 +500 +499 +501 +498 +502 +500 +500 +498 +501 +500 +501 +499 +500 +501 +498 +502 +498 +502 +499 +500 +499 +502 +498 +502 +498 +501 +501 +498 +502 +500 +500 +498 +501 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +499 +499 +502 +498 +502 +499 +501 +500 +500 +500 +500 +500 +498 +504 +498 +500 +500 +499 +502 +499 +498 +502 +498 +502 +499 +499 +502 +500 +500 +498 +502 +501 +499 +498 +502 +498 +502 +499 +500 +501 +499 +500 +500 +499 +500 +502 +498 +502 +498 +502 +500 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +501 +499 +502 +499 +499 +502 +500 +500 +498 +501 +501 +499 +499 +502 +498 +502 +500 +500 +499 +502 +497 +502 +500 +498 +501 +500 +501 +498 +501 +501 +499 +499 +501 +501 +499 +500 +501 +501 +497 +502 +498 +502 +500 +500 +498 +501 +499 +501 +499 +501 +501 +500 +498 +502 +498 +500 +502 +498 +502 +498 +503 +499 +499 +499 +502 +500 +499 +501 +499 +502 +499 +498 +500 +502 +500 +499 +500 +501 +499 +500 +499 +501 +500 +500 +499 +501 +499 +502 +498 +500 +502 +498 +502 +500 +500 +498 +502 +498 +502 +498 +501 +501 +499 +502 +497 +501 +501 +500 +498 +502 +498 +502 +498 +501 +500 +500 +500 +501 +498 +502 +498 +501 +501 +498 +501 +502 +498 +501 +499 +499 +502 +498 +502 +500 +499 +499 +502 +498 +502 +498 +502 +500 +498 +501 +499 +501 +501 +500 +499 +501 +498 +502 +498 +502 +500 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +501 +500 +499 +500 +499 +501 +499 +501 +501 +498 +500 +501 +500 +501 +500 +498 +501 +499 +501 +499 +502 +500 +500 +498 +502 +498 +502 +498 +501 +501 +498 +502 +500 +500 +498 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +500 +502 +498 +501 +499 +502 +499 +501 +498 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +501 +499 +500 +502 +498 +501 +502 +499 +498 +502 +498 +502 +498 +502 +500 +500 +498 +501 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +500 +498 +502 +498 +501 +499 +501 +501 +499 +500 +501 +499 +499 +501 +499 +502 +499 +500 +502 +498 +499 +502 +499 +501 +501 +498 +500 +499 +502 +500 +500 +500 +500 +498 +503 +498 +501 +498 +502 +501 +499 +498 +502 +499 +499 +501 +500 +501 +499 +501 +500 +499 +500 +501 +498 +501 +499 +501 +502 +498 +499 +502 +499 +501 +500 +499 +501 +499 +501 +500 +499 +501 +499 +499 +501 +500 +500 +499 +502 +500 +501 +497 +502 +500 +498 +501 +500 +501 +498 +501 +501 +499 +501 +499 +499 +502 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +501 +499 +502 +498 +502 +500 +499 +499 +502 +499 +499 +501 +500 +500 +499 +502 +500 +500 +498 +502 +498 +502 +498 +501 +500 +500 +499 +500 +502 +500 +499 +499 +508 +494 +500 +498 +502 +500 +499 +499 +502 +498 +501 +499 +502 +500 +498 +502 +500 +500 +498 +501 +499 +502 +498 +501 +501 +500 +498 +500 +502 +499 +500 +499 +501 +499 +502 +498 +501 +500 +500 +499 +501 +501 +499 +499 +502 +500 +498 +501 +502 +498 +499 +501 +501 +500 +498 +501 +502 +498 +499 +502 +498 +502 +498 +501 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +499 +499 +501 +500 +500 +499 +500 +502 +498 +501 +501 +500 +499 +500 +501 +500 +498 +501 +502 +497 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +500 +498 +501 +500 +500 +499 +500 +502 +498 +501 +501 +500 +498 +502 +498 +502 +499 +500 +501 +499 +499 +501 +499 +502 +498 +500 +503 +497 +501 +500 +501 +500 +499 +499 +501 +499 +501 +500 +500 +501 +500 +499 +500 +501 +500 +498 +500 +502 +498 +501 +501 +500 +498 +501 +499 +502 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +500 +501 +499 +502 +498 +501 +501 +500 +498 +501 +499 +502 +498 +501 +503 +497 +501 +499 +499 +502 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +500 +500 +499 +502 +500 +499 +500 +499 +502 +498 +501 +501 +500 +498 +500 +500 +502 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +499 +500 +499 +502 +500 +499 +499 +503 +498 +499 +502 +498 +501 +500 +501 +500 +499 +500 +499 +502 +500 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +502 +500 +499 +500 +500 +499 +501 +499 +502 +499 +500 +501 +499 +501 +498 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +499 +499 +501 +499 +502 +500 +499 +499 +501 +499 +502 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +502 +498 +502 +500 +498 +501 +501 +500 +498 +502 +498 +502 +498 +500 +502 +498 +501 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +500 +501 +498 +500 +501 +499 +502 +499 +500 +502 +499 +500 +499 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +500 +498 +502 +498 +501 +500 +501 +500 +500 +498 +502 +498 +501 +499 +501 +501 +500 +499 +501 +500 +499 +500 +499 +502 +499 +500 +501 +504 +495 +499 +500 +502 +499 +499 +502 +498 +501 +500 +500 +501 +499 +499 +502 +499 +500 +499 +501 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +500 +498 +502 +498 +502 +500 +500 +500 +499 +499 +502 +498 +501 +501 +499 +501 +498 +501 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +498 +501 +499 +501 +501 +500 +498 +502 +498 +501 +501 +499 +501 +500 +498 +502 +498 +501 +500 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +502 +497 +501 +499 +502 +499 +500 +499 +502 +499 +500 +500 +501 +499 +500 +499 +502 +499 +500 +499 +500 +501 +499 +501 +501 +499 +500 +501 +500 +500 +499 +499 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +501 +499 +502 +500 +500 +498 +502 +498 +500 +501 +499 +502 +499 +501 +500 +500 +498 +501 +499 +502 +498 +502 +500 +499 +499 +501 +501 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +500 +499 +500 +499 +502 +499 +500 +502 +498 +499 +500 +502 +500 +499 +499 +501 +499 +501 +499 +502 +500 +499 +499 +501 +499 +501 +499 +501 +501 +498 +501 +502 +498 +499 +502 +498 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +502 +499 +500 +499 +502 +500 +499 +499 +501 +499 +501 +499 +502 +500 +498 +502 +500 +499 +499 +501 +499 +502 +498 +502 +501 +498 +499 +501 +500 +501 +498 +501 +501 +498 +501 +499 +502 +500 +499 +500 +500 +500 +501 +498 +502 +499 +500 +499 +502 +499 +500 +499 +500 +502 +498 +501 +501 +500 +499 +500 +500 +501 +498 +500 +502 +498 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +498 +501 +499 +500 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +500 +498 +502 +499 +500 +499 +502 +500 +499 +499 +502 +500 +498 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +499 +501 +499 +501 +500 +499 +502 +498 +502 +499 +500 +501 +499 +499 +502 +500 +499 +499 +501 +500 +500 +499 +502 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +500 +500 +501 +501 +498 +504 +496 +502 +499 +500 +501 +499 +500 +501 +498 +501 +499 +501 +501 +498 +500 +502 +500 +499 +501 +498 +502 +498 +502 +500 +499 +503 +496 +501 +501 +499 +500 +501 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +498 +502 +501 +498 +499 +501 +499 +501 +499 +502 +502 +497 +499 +501 +499 +502 +498 +501 +501 +498 +501 +499 +501 +501 +500 +499 +501 +498 +501 +499 +502 +499 +501 +498 +502 +498 +501 +500 +499 +502 +500 +499 +502 +498 +499 +501 +499 +502 +498 +500 +502 +499 +501 +498 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +500 +499 +501 +498 +502 +500 +500 +499 +501 +499 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +501 +500 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +500 +501 +500 +501 +498 +501 +501 +499 +499 +502 +500 +500 +498 +501 +501 +500 +498 +501 +499 +502 +500 +498 +503 +497 +501 +500 +500 +500 +500 +499 +502 +498 +501 +501 +499 +500 +501 +499 +501 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +500 +502 +500 +499 +500 +501 +498 +501 +499 +502 +501 +498 +499 +502 +498 +501 +499 +501 +501 +498 +502 +501 +498 +499 +502 +498 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +501 +499 +501 +499 +502 +499 +500 +501 +500 +498 +501 +499 +501 +501 +499 +500 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +500 +499 +501 +500 +500 +501 +499 +499 +501 +499 +500 +502 +498 +502 +500 +499 +499 +501 +499 +503 +497 +500 +502 +500 +499 +501 +499 +501 +499 +500 +501 +498 +501 +499 +502 +500 +499 +500 +501 +499 +500 +499 +500 +502 +499 +500 +507 +494 +498 +501 +499 +502 +498 +500 +502 +498 +501 +499 +502 +500 +500 +498 +502 +499 +501 +498 +502 +500 +499 +499 +501 +499 +500 +501 +499 +502 +498 +501 +500 +501 +498 +502 +498 +502 +498 +501 +502 +498 +499 +501 +500 +501 +500 +498 +503 +497 +501 +499 +501 +501 +499 +499 +502 +500 +499 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +502 +498 +501 +501 +499 +499 +500 +500 +502 +500 +498 +502 +499 +500 +499 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +499 +500 +501 +501 +499 +499 +501 +500 +500 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +498 +501 +500 +501 +498 +501 +499 +501 +499 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +498 +501 +499 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +500 +499 +499 +500 +502 +499 +500 +501 +499 +499 +502 +499 +501 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +503 +499 +500 +500 +498 +502 +500 +499 +501 +499 +499 +501 +499 +502 +498 +500 +503 +497 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +500 +501 +499 +502 +498 +501 +501 +500 +498 +501 +499 +501 +500 +500 +501 +499 +499 +501 +499 +502 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +501 +500 +501 +498 +501 +501 +499 +499 +500 +500 +502 +500 +498 +502 +500 +500 +498 +501 +501 +499 +499 +502 +499 +500 +499 +501 +501 +498 +500 +502 +499 +501 +500 +498 +501 +500 +500 +501 +499 +499 +500 +501 +501 +499 +499 +502 +500 +499 +499 +501 +501 +499 +501 +500 +498 +501 +499 +501 +501 +498 +501 +500 +501 +498 +501 +499 +502 +498 +501 +500 +500 +499 +501 +499 +502 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +501 +500 +501 +498 +501 +501 +500 +499 +501 +498 +502 +498 +500 +502 +499 +500 +500 +500 +499 +501 +499 +502 +498 +501 +501 +498 +501 +501 +500 +500 +500 +499 +501 +498 +501 +499 +502 +500 +499 +499 +502 +499 +499 +501 +499 +501 +501 +499 +501 +500 +499 +500 +499 +502 +498 +501 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +500 +500 +500 +501 +500 +498 +502 +498 +502 +498 +500 +502 +498 +501 +501 +504 +494 +501 +499 +501 +499 +502 +500 +499 +500 +500 +499 +502 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +501 +501 +499 +500 +500 +501 +499 +500 +499 +502 +498 +502 +498 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +500 +498 +501 +500 +501 +499 +499 +502 +498 +501 +499 +502 +499 +501 +498 +501 +499 +501 +499 +502 +499 +500 +501 +500 +500 +498 +501 +499 +502 +498 +501 +501 +499 +501 +499 +499 +502 +499 +500 +502 +497 +501 +500 +500 +500 +500 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +499 +501 +500 +501 +499 +501 +500 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +499 +501 +500 +500 +500 +501 +498 +501 +500 +500 +501 +500 +498 +502 +498 +501 +499 +502 +500 +498 +501 +501 +499 +499 +501 +501 +500 +498 +501 +501 +500 +498 +500 +501 +501 +499 +499 +502 +498 +501 +501 +499 +501 +499 +500 +501 +498 +501 +501 +499 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +500 +501 +498 +501 +501 +498 +501 +499 +502 +500 +500 +498 +502 +499 +500 +499 +502 +500 +499 +499 +502 +498 +502 +499 +501 +500 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +501 +500 +501 +500 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +499 +500 +499 +500 +502 +498 +502 +500 +500 +498 +502 +499 +501 +498 +501 +500 +500 +500 +500 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +502 +498 +501 +502 +498 +499 +501 +501 +500 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +500 +501 +499 +501 +499 +501 +501 +500 +499 +500 +499 +501 +499 +502 +500 +500 +498 +502 +500 +500 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +502 +499 +500 +501 +500 +499 +501 +498 +502 +499 +500 +501 +500 +499 +499 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +499 +501 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +501 +499 +501 +499 +499 +502 +499 +500 +499 +501 +501 +499 +499 +503 +497 +501 +499 +501 +501 +498 +502 +500 +499 +499 +502 +498 +502 +499 +500 +501 +500 +502 +496 +501 +501 +499 +499 +502 +498 +501 +501 +499 +501 +499 +499 +502 +498 +502 +498 +501 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +499 +500 +501 +499 +500 +499 +501 +501 +499 +499 +502 +498 +502 +500 +499 +500 +500 +499 +501 +499 +501 +499 +500 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +501 +500 +499 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +499 +499 +501 +500 +500 +501 +499 +500 +501 +498 +502 +500 +499 +500 +500 +499 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +499 +502 +498 +502 +500 +499 +500 +500 +499 +502 +499 +499 +503 +497 +502 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +500 +500 +499 +501 +500 +499 +502 +498 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +500 +498 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +501 +499 +501 +501 +500 +499 +501 +500 +500 +499 +499 +502 +498 +501 +500 +500 +499 +500 +500 +502 +499 +499 +502 +498 +502 +499 +500 +501 +499 +499 +501 +499 +501 +499 +502 +500 +498 +501 +501 +500 +498 +501 +499 +502 +498 +502 +500 +499 +499 +502 +499 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +498 +502 +501 +498 +500 +500 +499 +502 +499 +501 +500 +499 +499 +501 +499 +502 +499 +500 +501 +498 +501 +501 +499 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +508 +493 +500 +501 +498 +502 +499 +501 +500 +499 +500 +501 +499 +501 +498 +500 +502 +498 +501 +499 +501 +501 +499 +500 +501 +498 +501 +500 +501 +500 +499 +500 +501 +499 +499 +502 +499 +501 +498 +501 +501 +500 +498 +502 +498 +502 +499 +501 +500 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +501 +499 +500 +502 +498 +502 +498 +502 +501 +498 +499 +501 +500 +500 +499 +501 +501 +499 +499 +501 +500 +501 +500 +500 +500 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +501 +500 +500 +499 +502 +500 +498 +501 +501 +500 +498 +501 +501 +499 +499 +500 +501 +501 +499 +500 +501 +498 +501 +499 +501 +500 +500 +499 +502 +499 +501 +498 +501 +501 +514 +484 +502 +499 +499 +502 +498 +502 +498 +501 +501 +501 +497 +500 +502 +500 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +501 +500 +500 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +498 +502 +499 +501 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +499 +502 +499 +501 +498 +502 +500 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +499 +499 +501 +499 +502 +498 +502 +500 +499 +499 +502 +500 +500 +500 +499 +501 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +500 +502 +498 +502 +498 +501 +501 +499 +499 +502 +500 +499 +500 +501 +500 +499 +499 +502 +498 +500 +502 +498 +503 +497 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +499 +501 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +501 +498 +501 +499 +501 +499 +502 +500 +499 +499 +502 +498 +502 +498 +501 +500 +500 +499 +501 +499 +502 +499 +499 +502 +499 +500 +500 +501 +500 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +502 +498 +502 +498 +501 +502 +498 +499 +501 +499 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +500 +501 +498 +502 +500 +499 +499 +502 +500 +498 +502 +498 +502 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +500 +501 +501 +499 +499 +502 +498 +502 +498 +502 +501 +499 +498 +502 +499 +500 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +499 +502 +500 +500 +498 +502 +504 +496 +499 +501 +499 +500 +499 +502 +498 +502 +498 +501 +501 +500 +499 +501 +500 +499 +500 +499 +502 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +500 +499 +502 +499 +500 +501 +499 +500 +501 +498 +501 +500 +500 +500 +500 +500 +501 +498 +501 +499 +500 +502 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +498 +501 +499 +501 +500 +500 +499 +502 +498 +502 +498 +501 +501 +500 +498 +502 +498 +501 +499 +500 +502 +498 +501 +501 +499 +499 +501 +499 +502 +499 +500 +501 +499 +500 +500 +499 +502 +498 +500 +502 +498 +501 +499 +502 +499 +500 +499 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +500 +500 +500 +502 +498 +501 +501 +500 +498 +501 +500 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +499 +502 +500 +498 +502 +498 +501 +500 +500 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +503 +499 +499 +501 +498 +501 +500 +500 +501 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +501 +501 +500 +500 +498 +502 +499 +500 +501 +499 +501 +500 +498 +502 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +501 +499 +501 +501 +499 +501 +499 +499 +502 +499 +499 +501 +499 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +500 +500 +501 +500 +500 +499 +501 +498 +501 +499 +502 +500 +499 +499 +502 +498 +502 +499 +500 +501 +499 +499 +503 +498 +499 +501 +499 +501 +500 +500 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +499 +499 +502 +498 +501 +500 +500 +501 +499 +499 +501 +499 +501 +500 +500 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +502 +501 +498 +500 +499 +501 +500 +500 +499 +502 +498 +502 +499 +501 +500 +499 +500 +501 +498 +501 +499 +501 +501 +498 +501 +501 +499 +499 +501 +501 +500 +498 +502 +501 +498 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +500 +498 +502 +498 +501 +500 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +498 +502 +501 +498 +499 +501 +501 +500 +498 +501 +500 +500 +499 +501 +499 +502 +498 +502 +501 +497 +501 +499 +501 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +499 +502 +498 +501 +499 +500 +502 +498 +501 +501 +499 +499 +501 +500 +500 +499 +501 +501 +499 +499 +500 +501 +501 +499 +500 +501 +498 +504 +496 +501 +501 +500 +498 +502 +498 +501 +501 +499 +501 +499 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +499 +501 +500 +501 +498 +502 +500 +498 +501 +499 +501 +500 +500 +500 +501 +499 +501 +498 +501 +501 +499 +499 +501 +501 +499 +499 +502 +499 +500 +501 +500 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +500 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +499 +500 +499 +501 +501 +499 +499 +502 +499 +499 +500 +501 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +500 +502 +498 +501 +501 +500 +498 +501 +501 +499 +499 +501 +501 +499 +499 +502 +498 +502 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +501 +500 +500 +501 +500 +498 +501 +501 +500 +499 +500 +501 +498 +501 +499 +502 +499 +500 +499 +502 +498 +501 +500 +501 +500 +499 +499 +503 +498 +499 +501 +500 +500 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +500 +500 +501 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +500 +499 +502 +498 +499 +501 +499 +501 +499 +501 +501 +499 +499 +500 +501 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +501 +499 +499 +502 +498 +501 +501 +499 +499 +503 +498 +500 +500 +499 +502 +500 +499 +501 +499 +499 +501 +499 +502 +499 +500 +501 +498 +501 +500 +500 +501 +499 +499 +502 +498 +502 +498 +501 +500 +501 +500 +507 +491 +502 +498 +500 +502 +498 +501 +502 +499 +498 +501 +500 +500 +500 +500 +501 +499 +500 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +500 +501 +498 +500 +501 +499 +502 +499 +500 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +499 +499 +503 +498 +500 +499 +501 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +499 +502 +500 +500 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +503 +497 +501 +500 +500 +501 +499 +500 +501 +499 +500 +499 +501 +501 +499 +499 +501 +499 +500 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +500 +500 +500 +499 +499 +501 +499 +502 +499 +499 +503 +497 +501 +499 +501 +501 +499 +501 +500 +498 +502 +500 +499 +501 +499 +499 +502 +500 +499 +500 +499 +502 +498 +501 +501 +499 +500 +501 +498 +502 +500 +499 +501 +498 +501 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +498 +502 +500 +499 +501 +499 +499 +502 +498 +501 +503 +497 +499 +500 +502 +500 +499 +499 +501 +499 +501 +500 +500 +501 +500 +498 +502 +498 +501 +499 +501 +500 +499 +502 +500 +499 +499 +501 +499 +502 +498 +502 +501 +498 +500 +501 +498 +502 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +502 +499 +500 +499 +502 +498 +501 +499 +500 +502 +498 +501 +501 +500 +498 +501 +499 +502 +498 +500 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +500 +501 +499 +499 +502 +500 +500 +499 +500 +501 +500 +498 +501 +499 +502 +498 +500 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +501 +500 +500 +501 +499 +499 +502 +498 +500 +500 +500 +502 +498 +501 +502 +498 +499 +501 +500 +500 +499 +502 +499 +500 +499 +501 +499 +502 +498 +500 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +501 +499 +500 +499 +502 +499 +499 +500 +500 +502 +498 +501 +501 +499 +499 +500 +502 +500 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +501 +500 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +502 +498 +501 +499 +502 +499 +500 +500 +501 +498 +501 +500 +501 +500 +499 +499 +502 +499 +499 +501 +500 +500 +499 +502 +500 +499 +499 +502 +498 +502 +498 +501 +502 +498 +499 +501 +500 +500 +500 +499 +502 +504 +495 +499 +501 +501 +499 +501 +500 +498 +501 +499 +501 +501 +499 +499 +502 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +498 +501 +499 +501 +500 +500 +500 +501 +499 +500 +499 +501 +501 +499 +500 +501 +500 +499 +499 +500 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +499 +499 +499 +502 +500 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +503 +499 +498 +502 +499 +500 +499 +501 +499 +502 +498 +501 +502 +499 +498 +501 +499 +502 +498 +503 +499 +499 +500 +499 +501 +500 +500 +499 +501 +500 +501 +498 +501 +501 +499 +500 +500 +499 +503 +497 +500 +501 +499 +501 +502 +499 +498 +501 +499 +502 +498 +501 +502 +498 +500 +500 +499 +502 +498 +500 +502 +498 +501 +499 +502 +500 +499 +499 +501 +499 +501 +500 +500 +500 +500 +499 +502 +498 +500 +502 +498 +502 +500 +499 +501 +499 +499 +502 +498 +502 +498 +500 +502 +498 +501 +499 +502 +500 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +500 +501 +499 +501 +499 +501 +501 +499 +499 +501 +499 +502 +500 +499 +501 +499 +499 +501 +499 +502 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +501 +498 +502 +500 +499 +499 +502 +499 +499 +501 +499 +502 +499 +500 +501 +499 +500 +501 +500 +501 +498 +499 +502 +499 +500 +499 +501 +501 +499 +500 +501 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +499 +502 +499 +500 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +502 +501 +497 +503 +498 +501 +498 +502 +499 +500 +499 +502 +499 +500 +499 +502 +500 +500 +499 +501 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +501 +499 +501 +499 +502 +501 +498 +499 +500 +500 +502 +499 +501 +500 +499 +500 +499 +502 +500 +499 +499 +501 +499 +502 +498 +502 +500 +498 +500 +502 +499 +499 +502 +498 +501 +499 +501 +501 +499 +500 +500 +499 +502 +499 +499 +502 +498 +502 +498 +501 +500 +500 +500 +500 +500 +500 +499 +501 +501 +499 +499 +502 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +500 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +499 +501 +499 +500 +500 +499 +501 +501 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +499 +500 +501 +498 +504 +496 +502 +500 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +503 +498 +500 +499 +500 +502 +498 +502 +501 +498 +499 +501 +499 +502 +498 +502 +499 +500 +500 +499 +501 +501 +500 +498 +502 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +500 +502 +498 +501 +501 +500 +500 +499 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +502 +498 +501 +499 +502 +499 +500 +499 +501 +500 +501 +498 +501 +501 +499 +499 +502 +498 +500 +502 +498 +502 +499 +500 +501 +499 +500 +500 +499 +502 +498 +500 +503 +497 +501 +499 +502 +499 +500 +499 +502 +498 +501 +499 +502 +500 +499 +499 +501 +499 +500 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +500 +500 +499 +499 +502 +500 +498 +503 +497 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +501 +499 +501 +501 +499 +499 +501 +499 +502 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +503 +498 +499 +501 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +500 +499 +502 +500 +499 +499 +502 +500 +500 +500 +499 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +501 +500 +499 +499 +501 +499 +502 +499 +500 +501 +499 +499 +500 +501 +501 +499 +499 +503 +497 +501 +499 +501 +501 +499 +499 +502 +500 +499 +501 +500 +500 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +501 +498 +502 +498 +502 +500 +499 +499 +502 +498 +501 +499 +501 +500 +501 +498 +501 +501 +500 +499 +499 +502 +498 +501 +502 +498 +499 +501 +499 +502 +498 +501 +502 +497 +501 +499 +501 +501 +499 +500 +500 +499 +501 +499 +501 +501 +499 +499 +501 +499 +501 +499 +500 +501 +499 +501 +501 +500 +500 +500 +498 +502 +498 +501 +501 +499 +499 +501 +499 +502 +498 +500 +503 +497 +501 +499 +501 +500 +501 +500 +500 +498 +501 +499 +501 +500 +500 +499 +501 +499 +500 +501 +499 +502 +498 +501 +502 +498 +500 +500 +500 +501 +498 +500 +502 +499 +500 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +500 +501 +499 +502 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +500 +499 +501 +500 +498 +502 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +503 +497 +502 +499 +500 +501 +499 +500 +500 +499 +501 +499 +501 +500 +500 +499 +502 +499 +499 +501 +499 +502 +499 +500 +502 +499 +499 +500 +499 +502 +498 +501 +502 +498 +499 +500 +501 +500 +500 +499 +502 +498 +502 +500 +500 +500 +499 +499 +502 +498 +501 +500 +500 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +499 +500 +501 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +499 +502 +498 +502 +499 +500 +501 +498 +502 +501 +499 +498 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +502 +501 +497 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +501 +501 +498 +502 +499 +500 +501 +499 +499 +501 +499 +502 +498 +500 +503 +498 +500 +500 +500 +500 +500 +501 +500 +499 +500 +499 +501 +501 +499 +500 +501 +498 +503 +498 +501 +500 +498 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +500 +498 +501 +499 +502 +498 +500 +503 +497 +501 +499 +502 +500 +500 +499 +500 +499 +502 +499 +500 +501 +499 +499 +502 +498 +500 +502 +499 +501 +498 +502 +500 +499 +500 +500 +499 +502 +498 +500 +504 +497 +502 +498 +501 +501 +498 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +500 +502 +498 +502 +498 +501 +501 +499 +499 +501 +501 +500 +498 +501 +501 +499 +499 +501 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +499 +498 +501 +499 +502 +498 +501 +501 +505 +493 +501 +500 +501 +499 +500 +502 +498 +500 +500 +501 +500 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +502 +499 +500 +500 +499 +502 +498 +501 +502 +499 +498 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +500 +500 +499 +502 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +498 +502 +500 +499 +499 +501 +499 +502 +498 +501 +502 +499 +498 +500 +501 +501 +499 +500 +501 +498 +501 +499 +502 +500 +499 +499 +503 +497 +502 +499 +500 +501 +500 +498 +502 +500 +498 +501 +499 +502 +498 +502 +500 +499 +499 +501 +499 +502 +499 +500 +501 +500 +499 +499 +500 +502 +500 +499 +501 +498 +501 +499 +501 +501 +499 +499 +502 +499 +500 +499 +501 +501 +499 +500 +502 +498 +499 +502 +498 +502 +498 +501 +501 +499 +501 +498 +501 +501 +499 +499 +502 +500 +499 +499 +501 +500 +500 +499 +502 +498 +501 +499 +500 +502 +498 +501 +501 +500 +498 +502 +499 +501 +498 +502 +501 +498 +499 +501 +499 +502 +498 +500 +502 +499 +500 +499 +501 +501 +500 +498 +502 +500 +500 +498 +502 +500 +499 +499 +502 +498 +500 +502 +499 +501 +498 +501 +502 +498 +499 +501 +500 +501 +498 +501 +501 +498 +502 +498 +501 +501 +499 +500 +500 +499 +501 +499 +501 +501 +499 +499 +501 +500 +500 +500 +499 +502 +499 +501 +501 +499 +498 +501 +500 +502 +499 +499 +501 +499 +499 +501 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +499 +501 +498 +501 +501 +499 +499 +502 +499 +501 +499 +499 +502 +498 +501 +500 +500 +500 +500 +500 +501 +499 +499 +502 +498 +501 +499 +502 +500 +500 +498 +502 +498 +501 +499 +502 +500 +499 +499 +502 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +500 +499 +502 +498 +501 +502 +498 +499 +500 +501 +501 +500 +498 +502 +498 +501 +499 +501 +501 +500 +498 +502 +499 +500 +499 +501 +501 +498 +500 +502 +499 +500 +500 +499 +501 +499 +501 +501 +500 +500 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +500 +498 +502 +498 +502 +498 +501 +501 +500 +499 +501 +499 +499 +501 +499 +502 +498 +501 +501 +500 +500 +499 +499 +502 +498 +501 +501 +498 +502 +498 +501 +501 +499 +499 +524 +476 +516 +485 +502 +526 +508 +466 +532 +467 +499 +501 +498 +502 +498 +502 +500 +500 +498 +500 +500 +502 +500 +498 +502 +498 +501 +500 +500 +501 +499 +499 +502 +499 +503 +497 +500 +501 +498 +501 +501 +499 +499 +502 +498 +502 +498 +502 +501 +498 +499 +501 +499 +502 +499 +500 +501 +498 +502 +498 +502 +500 +500 +498 +501 +499 +501 +500 +500 +501 +499 +499 +502 +498 +500 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +502 +498 +502 +501 +498 +500 +501 +498 +502 +499 +501 +500 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +499 +499 +503 +499 +498 +501 +499 +502 +498 +501 +501 +499 +499 +502 +498 +501 +500 +500 +500 +499 +501 +500 +500 +501 +499 +500 +501 +499 +500 +499 +502 +500 +499 +499 +503 +498 +499 +502 +499 +500 +500 +500 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +501 +500 +501 +499 +501 +499 +499 +502 +499 +500 +501 +499 +499 +502 +498 +501 +499 +503 +498 +499 +501 +501 +499 +500 +500 +500 +501 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +500 +500 +499 +501 +500 +500 +499 +501 +499 +502 +498 +501 +503 +497 +500 +500 +501 +500 +498 +501 +501 +498 +501 +499 +502 +500 +499 +499 +502 +498 +501 +499 +501 +500 +500 +499 +502 +498 +501 +500 +499 +501 +500 +500 +501 +499 +499 +502 +498 +502 +498 +500 +503 +497 +501 +499 +502 +500 +499 +499 +501 +499 +501 +499 +502 +500 +499 +500 +500 +499 +503 +497 +500 +502 +498 +501 +501 +499 +499 +501 +500 +501 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +502 +498 +501 +499 +502 +500 +499 +499 +502 +498 +500 +501 +500 +500 +499 +501 +501 +500 +498 +503 +497 +502 +498 +501 +501 +499 +499 +501 +499 +501 +501 +498 +502 +500 +500 +499 +500 +501 +500 +498 +502 +498 +501 +500 +501 +499 +499 +502 +500 +500 +498 +501 +500 +501 +499 +501 +500 +499 +499 +501 +500 +501 +500 +499 +502 +499 +500 +499 +501 +500 +499 +499 +502 +499 +500 +499 +501 +501 +498 +502 +500 +499 +499 +505 +496 +501 +498 +502 +500 +500 +499 +500 +501 +500 +500 +498 +502 +498 +501 +499 +501 +501 +500 +499 +501 +501 +499 +499 +500 +500 +501 +500 +500 +500 +498 +502 +498 +502 +499 +501 +500 +500 +499 +501 +499 +502 +499 +500 +501 +498 +501 +499 +501 +501 +499 +498 +503 +498 +501 +499 +500 +501 +500 +500 +502 +499 +499 +500 +500 +500 +500 +500 +501 +499 +499 +500 +499 +502 +498 +502 +500 +499 +500 +501 +500 +500 +499 +499 +501 +500 +501 +498 +502 +500 +499 +500 +502 +498 +500 +501 +499 +501 +499 +500 +501 +501 +498 +501 +499 +501 +500 +500 +500 +499 +501 +499 +499 +502 +498 +501 +501 +500 +500 +498 +502 +500 +500 +499 +501 +499 +500 +499 +501 +501 +500 +498 +503 +497 +500 +502 +498 +501 +500 +501 +501 +499 +499 +501 +498 +502 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +501 +500 +500 +500 +500 +500 +500 +499 +502 +498 +500 +502 +498 +501 +500 +500 +501 +499 +499 +502 +499 +501 +498 +501 +501 +499 +500 +500 +499 +503 +498 +500 +501 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +501 +499 +502 +500 +499 +501 +499 +499 +501 +499 +502 +499 +499 +502 +498 +502 +498 +501 +500 +500 +500 +501 +498 +502 +498 +501 +500 +500 +499 +503 +498 +499 +501 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +499 +500 +500 +499 +501 +500 +500 +501 +499 +500 +501 +499 +499 +501 +499 +502 +500 +499 +501 +499 +499 +500 +501 +501 +499 +500 +500 +499 +501 +500 +500 +501 +499 +499 +501 +500 +500 +500 +500 +501 +498 +502 +500 +499 +499 +501 +499 +501 +499 +501 +501 +500 +498 +502 +498 +502 +499 +500 +501 +498 +502 +498 +501 +501 +499 +501 +499 +499 +501 +499 +501 +501 +499 +499 +502 +499 +500 +500 +499 +502 +498 +501 +500 +501 +498 +502 +498 +502 +498 +501 +501 +498 +501 +499 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +500 +500 +499 +506 +494 +499 +500 +502 +498 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +499 +501 +498 +501 +501 +498 +502 +500 +500 +500 +500 +499 +501 +498 +502 +499 +501 +500 +499 +500 +501 +498 +502 +498 +500 +502 +498 +501 +501 +500 +498 +501 +499 +502 +498 +501 +502 +499 +498 +503 +497 +502 +498 +500 +502 +498 +501 +499 +502 +499 +500 +500 +501 +498 +501 +500 +500 +501 +499 +499 +502 +498 +501 +500 +499 +502 +498 +502 +499 +501 +498 +502 +498 +501 +499 +502 +501 +497 +501 +499 +502 +500 +500 +499 +501 +499 +501 +499 +500 +501 +500 +500 +500 +498 +502 +498 +500 +502 +500 +499 +500 +501 +498 +502 +500 +500 +498 +501 +500 +501 +500 +500 +499 +501 +500 +499 +501 +500 +499 +500 +508 +493 +500 +501 +499 +499 +500 +501 +500 +500 +501 +499 +500 +499 +501 +499 +500 +501 +499 +501 +501 +499 +499 +501 +500 +499 +499 +502 +500 +499 +500 +500 +501 +501 +497 +500 +503 +498 +501 +498 +502 +500 +499 +499 +501 +499 +502 +499 +501 +500 +499 +499 +501 +499 +501 +501 +499 +500 +499 +501 +501 +499 +500 +501 +498 +502 +498 +501 +501 +499 +499 +503 +499 +500 +500 +499 +502 +500 +499 +498 +502 +500 +500 +499 +501 +499 +501 +498 +502 +500 +499 +499 +503 +499 +498 +502 +498 +502 +498 +501 +501 +500 +499 +500 +500 +501 +499 +500 +501 +498 +501 +499 +503 +499 +500 +499 +501 +498 +501 +499 +502 +500 +501 +497 +501 +500 +499 +501 +499 +502 +499 +500 +501 +500 +498 +502 +498 +502 +499 +501 +500 +500 +498 +500 +502 +499 +501 +498 +502 +498 +501 +499 +502 +500 +500 +498 +502 +499 +500 +499 +500 +501 +499 +502 +500 +499 +499 +501 +499 +502 +498 +502 +500 +500 +499 +499 +502 +500 +500 +499 +501 +500 +499 +500 +501 +500 +500 +498 +503 +500 +499 +499 +499 +502 +499 +502 +499 +500 +498 +502 +498 +503 +499 +499 +501 +499 +499 +501 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +500 +499 +501 +500 +500 +499 +501 +500 +500 +499 +501 +499 +501 +499 +499 +502 +499 +502 +499 +500 +499 +501 +498 +502 +500 +499 +501 +502 +496 +500 +500 +501 +500 +499 +502 +500 +500 +498 +502 +500 +500 +499 +501 +499 +501 +498 +500 +502 +498 +501 +501 +500 +498 +501 +500 +501 +499 +502 +499 +501 +498 +500 +499 +502 +500 +498 +502 +498 +501 +499 +501 +501 +499 +499 +501 +500 +504 +495 +501 +501 +499 +500 +501 +498 +501 +501 +498 +501 +499 +502 +500 +499 +499 +502 +498 +502 +499 +499 +502 +498 +502 +498 +501 +501 +500 +498 +503 +498 +501 +498 +501 +500 +500 +499 +502 +500 +499 +501 +498 +502 +498 +501 +501 +499 +501 +499 +499 +502 +499 +501 +500 +500 +498 +501 +499 +503 +499 +500 +500 +499 +501 +498 +501 +501 +500 +498 +502 +498 +501 +499 +501 +500 +500 +499 +502 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +500 +500 +501 +499 +499 +502 +498 +502 +498 +502 +500 +499 +499 +501 +499 +501 +499 +501 +501 +500 +498 +502 +499 +499 +501 +499 +501 +500 +500 +501 +499 +500 +500 +499 +502 +498 +501 +501 +499 +499 +502 +499 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +499 +500 +500 +501 +498 +502 +500 +500 +498 +501 +499 +502 +499 +500 +502 +500 +500 +498 +501 +501 +498 +499 +502 +499 +501 +500 +500 +500 +500 +498 +501 +499 +501 +499 +501 +501 +499 +500 +502 +498 +499 +501 +499 +502 +498 +501 +502 +498 +499 +505 +495 +502 +498 +501 +501 +498 +500 +500 +501 +501 +499 +499 +501 +499 +501 +500 +500 +501 +499 +499 +501 +499 +501 +499 +500 +502 +499 +500 +501 +499 +499 +501 +499 +502 +498 +502 +500 +498 +501 +499 +501 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +502 +501 +499 +500 +502 +498 +499 +501 +501 +499 +500 +498 +501 +501 +500 +500 +500 +500 +499 +501 +499 +501 +498 +502 +501 +498 +502 +497 +501 +501 +501 +498 +502 +497 +502 +498 +502 +499 +501 +498 +502 +500 +499 +499 +502 +500 +500 +500 +508 +491 +500 +501 +500 +500 +498 +501 +501 +500 +500 +498 +502 +500 +500 +498 +502 +498 +502 +499 +501 +500 +499 +499 +502 +498 +503 +498 +499 +502 +498 +502 +500 +500 +499 +500 +501 +499 +499 +501 +501 +499 +501 +500 +500 +500 +499 +500 +501 +499 +501 +500 +500 +500 +500 +499 +502 +498 +501 +499 +501 +501 +498 +499 +502 +499 +500 +499 +500 +502 +498 +501 +501 +500 +499 +500 +501 +500 +498 +501 +501 +499 +499 +502 +498 +502 +499 +499 +502 +499 +501 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +502 +500 +498 +502 +498 +502 +498 +501 +501 +500 +498 +501 +501 +500 +499 +500 +501 +498 +501 +499 +502 +500 +499 +499 +501 +500 +500 +499 +501 +501 +499 +499 +502 +500 +498 +503 +497 +501 +499 +501 +501 +500 +498 +501 +499 +502 +498 +501 +501 +499 +499 +500 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +500 +500 +499 +501 +501 +499 +501 +500 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +500 +502 +500 +499 +500 +501 +499 +500 +499 +502 +500 +499 +499 +501 +499 +502 +498 +501 +501 +499 +501 +500 +501 +497 +501 +499 +501 +499 +502 +500 +500 +498 +501 +499 +502 +498 +501 +501 +498 +501 +500 +500 +501 +499 +499 +502 +498 +502 +498 +501 +501 +499 +499 +501 +499 +501 +499 +501 +501 +498 +501 +501 +499 +500 +500 +499 +502 +499 +500 +502 +499 +499 +499 +501 +502 +499 +499 +501 +498 +502 +498 +501 +501 +499 +500 +501 +498 +501 +500 +499 +502 +498 +501 +501 +499 +499 +501 +499 +502 +499 +501 +500 +499 +500 +500 +500 +501 +498 +500 +503 +498 +500 +499 +501 +501 +500 +498 +502 +498 +501 +500 +500 +501 +499 +500 +585 +418 +548 +513 +494 +445 +496 +512 +490 +498 +502 +499 +500 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +501 +500 +501 +500 +498 +501 +499 +501 +501 +500 +498 +501 +500 +501 +498 +501 +502 +498 +500 +500 +499 +502 +500 +498 +502 +498 +502 +498 +501 +501 +499 +499 +502 +498 +501 +499 +501 +501 +499 +499 +503 +500 +498 +501 +499 +502 +498 +501 +501 +499 +500 +499 +501 +500 +498 +502 +500 +499 +499 +502 +500 +500 +499 +500 +502 +497 +502 +498 +502 +500 +499 +499 +502 +498 +501 +499 +501 +501 +498 +502 +501 +498 +501 +500 +498 +502 +498 +501 +501 +499 +499 +500 +501 +501 +499 +499 +502 +505 +494 +499 +501 +501 +500 +498 +502 +499 +500 +499 +501 +501 +498 +501 +502 +498 +500 +501 +498 +502 +498 +502 +500 +499 +501 +499 +499 +502 +498 +501 +502 +498 +500 +499 +501 +501 +499 +499 +503 +500 +499 +499 +501 +500 +500 +500 +500 +499 +500 +500 +499 +502 +498 +501 +501 +499 +501 +499 +499 +502 +498 +501 +502 +498 +503 +498 +502 +498 +500 +499 +501 +498 +502 +499 +501 +501 +499 +499 +502 +498 +499 +500 +501 +501 +500 +500 +500 +499 +500 +500 +499 +502 +498 +501 +501 +499 +500 +500 +501 +500 +500 +499 +501 +498 +501 +501 +499 +501 +499 +501 +500 +499 +499 +502 +499 +501 +498 +502 +500 +500 +498 +502 +498 +502 +498 +502 +500 +499 +500 +501 +498 +502 +499 +499 +503 +497 +501 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +501 +500 +498 +503 +499 +499 +501 +499 +501 +499 +501 +500 +499 +500 +500 +501 +501 +499 +500 +500 +498 +502 +498 +502 +500 +499 +500 +501 +498 +502 +500 +500 +500 +500 +498 +502 +499 +499 +501 +499 +502 +498 +501 +501 +500 +498 +501 +499 +502 +499 +501 +500 +499 +499 +500 +501 +501 +499 +500 +502 +497 +501 +499 +501 +501 +499 +499 +502 +498 +501 +500 +500 +501 +498 +501 +501 +499 +499 +501 +500 +501 +498 +501 +501 +500 +499 +499 +502 +500 +500 +498 +502 +499 +500 +499 +502 +500 +499 +501 +500 +498 +501 +501 +499 +501 +499 +500 +501 +500 +498 +501 +499 +502 +498 +502 +501 +498 +499 +502 +500 +499 +499 +502 +500 +499 +501 +498 +502 +500 +500 +499 +501 +498 +502 +499 +501 +500 +500 +498 +501 +499 +501 +502 +498 +501 +498 +501 +501 +499 +499 +501 +499 +502 +498 +501 +502 +498 +502 +497 +503 +499 +499 +500 +501 +498 +503 +498 +500 +501 +499 +500 +501 +498 +502 +498 +500 +502 +499 +500 +502 +498 +499 +501 +499 +503 +498 +500 +502 +500 +498 +500 +500 +501 +498 +500 +501 +500 +501 +498 +504 +498 +500 +499 +500 +499 +501 +500 +501 +500 +500 +500 +500 +499 +499 +502 +500 +500 +500 +500 +501 +498 +499 +501 +499 +502 +499 +499 +502 +498 +501 +500 +501 +500 +499 +499 +501 +499 +502 +498 +502 +500 +499 +501 +500 +498 +501 +500 +500 +501 +498 +502 +500 +499 +499 +501 +501 +499 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +501 +499 +501 +499 +501 +503 +496 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +501 +500 +499 +500 +500 +501 +501 +499 +500 +500 +499 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +501 +498 +500 +501 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +499 +500 +501 +500 +499 +513 +488 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +500 +501 +505 +494 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +500 +500 +501 +498 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +500 +502 +499 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +500 +499 +500 +500 +501 +499 +501 +499 +500 +501 +500 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +502 +498 +501 +499 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +501 +499 +500 +501 +500 +500 +500 +499 +500 +501 +499 +500 +500 +502 +499 +499 +502 +498 +500 +501 +499 +501 +500 +500 +501 +499 +500 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +501 +499 +500 +500 +500 +500 +500 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +501 +500 +500 +499 +500 +501 +500 +500 +500 +500 +500 +499 +500 +501 +500 +500 +499 +501 +499 +501 +499 +501 +500 +500 +499 +501 +500 +499 +502 +498 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +500 +501 +499 +499 +500 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +501 +500 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +500 +500 +499 +502 +498 +500 +501 +499 +500 +500 +500 +501 +499 +502 +499 +499 +501 +500 +500 +500 +500 +500 +499 +501 +500 +500 +499 +501 +499 +500 +501 +499 +501 +500 +500 +500 +499 +500 +500 +501 +499 +501 +499 +502 +499 +499 +501 +499 +501 +499 +500 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +501 +499 +500 +501 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +501 +498 +501 +500 +499 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +500 +500 +499 +501 +500 +499 +501 +500 +500 +499 +501 +500 +499 +500 +501 +499 +501 +500 +500 +500 +500 +499 +500 +500 +500 +500 +500 +501 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +505 +495 +499 +511 +490 +500 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +499 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +502 +498 +501 +501 +498 +501 +500 +500 +500 +500 +499 +502 +498 +501 +499 +501 +500 +499 +501 +500 +499 +500 +501 +500 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +501 +499 +500 +499 +501 +500 +499 +500 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +500 +499 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +503 +497 +501 +500 +499 +501 +500 +499 +501 +500 +499 +500 +501 +500 +500 +499 +500 +500 +501 +500 +500 +500 +499 +501 +501 +499 +500 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +502 +498 +502 +498 +501 +500 +499 +501 +499 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +501 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +502 +498 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +500 +500 +500 +500 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +499 +501 +501 +498 +500 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +500 +500 +501 +499 +500 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +500 +500 +500 +500 +499 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +500 +499 +500 +501 +500 +500 +499 +501 +500 +500 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +501 +501 +498 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +499 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +500 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +500 +501 +498 +501 +500 +500 +499 +501 +500 +499 +501 +501 +498 +500 +501 +500 +500 +500 +500 +501 +499 +500 +500 +499 +501 +499 +500 +501 +500 +500 +499 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +503 +496 +501 +500 +500 +499 +502 +498 +501 +500 +500 +500 +499 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +499 +500 +501 +499 +500 +502 +499 +500 +499 +500 +501 +499 +501 +499 +501 +499 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +501 +499 +501 +500 +499 +501 +499 +501 +500 +500 +499 +502 +498 +500 +501 +499 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +500 +499 +501 +500 +499 +501 +500 +500 +501 +499 +500 +499 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +500 +500 +499 +500 +500 +500 +501 +499 +502 +498 +501 +500 +500 +500 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +502 +499 +499 +501 +499 +501 +499 +500 +501 +500 +500 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +500 +499 +500 +502 +499 +500 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +500 +500 +499 +501 +500 +499 +501 +500 +499 +501 +500 +500 +499 +500 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +500 +499 +502 +498 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +499 +500 +501 +500 +500 +499 +500 +501 +499 +501 +501 +498 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +499 +500 +501 +500 +499 +500 +502 +499 +500 +499 +500 +501 +500 +499 +501 +500 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +500 +501 +499 +500 +499 +501 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +499 +501 +500 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +499 +502 +498 +501 +500 +499 +501 +500 +499 +501 +499 +500 +500 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +500 +499 +501 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +499 +501 +500 +499 +501 +500 +499 +501 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +500 +501 +500 +500 +499 +501 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +501 +499 +500 +501 +499 +502 +499 +499 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +500 +500 +500 +500 +500 +499 +501 +500 +500 +501 +499 +499 +501 +499 +501 +500 +500 +499 +502 +498 +501 +499 +501 +500 +500 +503 +497 +500 +500 +500 +499 +501 +506 +494 +499 +501 +500 +500 +500 +500 +500 +500 +499 +500 +501 +500 +500 +501 +499 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +502 +499 +499 +501 +499 +501 +499 +500 +501 +500 +500 +499 +501 +500 +500 +500 +500 +500 +500 +499 +501 +500 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +501 +500 +500 +500 +499 +500 +502 +499 +499 +500 +500 +501 +499 +501 +502 +498 +500 +499 +500 +501 +500 +500 +500 +499 +500 +501 +499 +500 +501 +501 +500 +498 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +500 +500 +499 +501 +500 +499 +501 +500 +500 +501 +498 +500 +501 +499 +501 +499 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +501 +500 +500 +499 +501 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +500 +499 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +500 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +500 +501 +499 +499 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +501 +500 +499 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +500 +499 +501 +500 +499 +501 +500 +500 +499 +500 +501 +500 +500 +500 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +499 +501 +499 +500 +503 +498 +499 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +501 +499 +501 +500 +499 +500 +500 +501 +500 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +501 +500 +500 +500 +500 +499 +504 +496 +501 +499 +500 +501 +501 +498 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +500 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +501 +500 +499 +500 +500 +501 +500 +500 +499 +501 +499 +501 +499 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +500 +501 +500 +499 +500 +501 +499 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +500 +500 +500 +500 +500 +499 +500 +501 +500 +499 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +500 +500 +500 +500 +499 +501 +499 +502 +499 +500 +500 +500 +499 +501 +499 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +501 +500 +500 +500 +499 +501 +499 +501 +500 +500 +500 +500 +499 +501 +499 +502 +498 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +499 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +500 +500 +499 +500 +500 +501 +500 +500 +499 +502 +498 +501 +499 +501 +500 +500 +500 +500 +500 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +502 +498 +501 +499 +500 +500 +501 +499 +501 +500 +500 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +501 +500 +500 +500 +500 +500 +499 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +501 +499 +501 +500 +500 +498 +502 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +500 +501 +498 +501 +500 +500 +499 +500 +500 +501 +500 +500 +499 +500 +501 +500 +500 +500 +500 +500 +500 +499 +501 +500 +499 +501 +499 +501 +500 +500 +500 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +501 +500 +500 +500 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +501 +500 +500 +501 +498 +501 +499 +500 +501 +500 +500 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +501 +500 +500 +501 +498 +501 +500 +499 +501 +500 +500 +499 +500 +501 +499 +500 +501 +500 +499 +501 +500 +500 +499 +501 +500 +500 +500 +500 +499 +501 +499 +500 +501 +500 +500 +501 +499 +500 +499 +500 +501 +500 +500 +500 +499 +500 +501 +499 +501 +499 +501 +501 +499 +500 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +501 +500 +500 +500 +499 +501 +500 +500 +500 +499 +500 +500 +500 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +500 +499 +501 +500 +500 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +502 +499 +499 +501 +500 +500 +499 +501 +499 +500 +500 +502 +498 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +500 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +501 +499 +501 +500 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +504 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +502 +498 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +503 +496 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +503 +497 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +502 +498 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +502 +497 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +510 +489 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +506 +494 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +501 +498 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +503 +497 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +509 +492 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +501 +498 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +507 +494 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +499 +501 +501 +499 +501 +499 +500 +500 +501 +499 +502 +499 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +502 +498 +501 +499 +500 +500 +501 +499 +502 +498 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +500 +500 +503 +496 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +502 +498 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +511 +489 +500 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +501 +499 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +500 +499 +502 +498 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +502 +498 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +502 +498 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +502 +498 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +504 +497 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +501 +501 +499 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +499 +501 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +502 +499 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +501 +498 +502 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +501 +501 +498 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +502 +498 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +499 +501 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +502 +498 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +504 +495 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +502 +499 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +499 +501 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +499 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +502 +499 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +499 +502 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +502 +498 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +501 +500 +499 +501 +500 +500 +500 +499 +500 +500 +500 +501 +500 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +503 +497 +501 +500 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +502 +499 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +500 +499 +502 +498 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +511 +490 +500 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +502 +498 +501 +500 +500 +499 +500 +500 +501 +499 +501 +500 +499 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +507 +493 +501 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +498 +501 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +502 +499 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +504 +495 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +501 +499 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +500 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +511 +490 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +503 +498 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +502 +498 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +501 +498 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +498 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +505 +496 +500 +499 +500 +500 +500 +500 +500 +500 +500 +502 +498 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +511 +489 +500 +501 +499 +500 +502 +499 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +500 +500 +501 +498 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +502 +498 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +504 +495 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +499 +501 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +501 +498 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +502 +497 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +500 +499 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +502 +498 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +498 +501 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +502 +499 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +501 +500 +499 +500 +503 +497 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +506 +494 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +500 +500 +499 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +502 +498 +501 +499 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +509 +491 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +506 +495 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +501 +498 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +500 +499 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +503 +497 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +501 +498 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +502 +498 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +500 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +501 +500 +500 +500 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +502 +497 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +500 +499 +501 +499 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +506 +494 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +502 +498 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +501 +498 +501 +499 +501 +499 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +504 +496 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +500 +499 +512 +488 +501 +499 +501 +500 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +499 +502 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +499 +501 +499 +500 +500 +502 +498 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +501 +500 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +502 +498 +500 +500 +500 +500 +501 +500 +499 +500 +500 +502 +498 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +500 +500 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +501 +500 +499 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +499 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +500 +499 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +501 +498 +500 +501 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +500 +501 +499 +500 +502 +498 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +501 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +501 +500 +499 +500 +500 +500 +500 +502 +498 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +502 +499 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +501 +499 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +502 +499 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +502 +499 +499 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +502 +499 +499 +500 +500 +502 +499 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +505 +495 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +500 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +502 +498 +500 +500 +501 +500 +499 +500 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +501 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +501 +498 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +500 +502 +498 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +502 +498 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +504 +496 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +502 +497 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +500 +499 +500 +500 +501 +500 +499 +501 +500 +499 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +501 +499 +502 +498 +501 +499 +500 +501 +500 +499 +501 +499 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +500 +499 +501 +500 +499 +501 +500 +500 +499 +501 +499 +501 +499 +511 +490 +499 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +501 +500 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +500 +501 +499 +501 +500 +499 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +501 +499 +500 +500 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +500 +500 +499 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +501 +499 +501 +499 +500 +502 +498 +500 +501 +499 +501 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +500 +500 +501 +500 +499 +500 +501 +499 +501 +500 +499 +501 +499 +500 +500 +500 +501 +500 +499 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +501 +499 +500 +500 +500 +500 +500 +501 +500 +499 +500 +500 +500 +500 +500 +500 +501 +500 +499 +501 +499 +501 +499 +500 +501 +499 +501 +499 +502 +499 +500 +500 +500 +499 +500 +500 +501 +499 +500 +500 +501 +500 +500 +499 +501 +500 +500 +500 +501 +498 +500 +500 +500 +501 +499 +500 +501 +499 +501 +499 +500 +501 +499 +500 +501 +499 +500 +500 +500 +501 +499 +500 +500 +500 +501 +500 +500 +501 +499 +499 +501 +500 +499 +501 +500 +500 +500 +499 +501 +500 +500 +499 +500 +500 +500 +500 +501 +499 +500 +502 +499 +500 +499 +500 +501 +499 +500 +500 +500 +500 +500 +500 +501 +499 +501 +499 +500 +500 +500 +500 +500 +500 +500 +500 +501 diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/alarmmanager.tl_alarmstatus.txt b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/alarmmanager.tl_alarmstatus.txt new file mode 100644 index 0000000..63edf1a --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/alarmmanager.tl_alarmstatus.txt @@ -0,0 +1,8 @@ +Id;Default;en;de;fr;it;es;zh-CHS;ru +Alm_Normal;Normal;Normal;Normal;Normal;Normale;Normal;??;????????? +Alm_Active;Active;Active;Aktiv;Active;Attivo;Activo;??;??????? +Alm_WaitingForConfirmation;WaitingForConfirmation;Waiting for confirmation;Warte auf Quittierung;Attend acquittement;In attesa di conferma;Esperando confirmacin;????;???????? ????????????? +Alm_ActiveAcknowledged;Active, acknowledged;Active, acknowledged;Aktiv, quittiert;Active, acquitte;Attivo, confermato;Activo, confirmado;??,??;???????, ???????????? +Alm_Pending;Pending;Pending;Anstehend;En attente;In attesa;Pendiente;??;???????? +Alm_InactiveUnacknowledged;Inactive, unacknowledged;;;;;;; +;;;;;;;; diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/browsercontrol_ext0.js b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/browsercontrol_ext0.js new file mode 100644 index 0000000..bace73a --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/browsercontrol_ext0.js @@ -0,0 +1,5 @@ +var e=null; +(function(){var b,f,d=[],c=0;b=function(){};b.prototype={instantiateIf:function(g){return"_3S.NativeControls.Webbrowser"===g?new f:e}};f=function(){this.a=e};f.prototype={create:function(g,a,c,d,b){this.a=window.document.createElement("iframe");this.a.width=c;this.a.height=d;this.a.setAttribute("frameborder","0");WebvisuExtensionMgr.openControlRelative(this.a,g,a,c,d,b)},setVisibility:function(a){if(this.a===e)throw Error("Extension not created");this.a.style.visibility=a?"visible":"hidden"},move:function(a, +c,d,b){if(this.a===e)throw Error("Extension not created");this.a.style.left=a.toString()+"px";this.a.style.top=c.toString()+"px";this.a.style.width=d.toString()+"px";this.a.style.height=b.toString()+"px"},invoke:function(a,b){if(this.a===e)throw Error("Extension not created");if(0==a.indexOf("_3S.NativeControls.Webbrowser.Navigate"))return this.a.setAttribute("src",b[0]),d[d.length]=b[0],c=d.length-1,b[0];if(0==a.indexOf("_3S.NativeControls.Webbrowser.GoBack")){try{this.a.contentWindow.history.back()}catch(f){0< +c&&(c--,this.a.setAttribute("src",d[c]))}return!0}if(0==a.indexOf("_3S.NativeControls.Webbrowser.GoForward")){try{this.a.contentWindow.history.forward()}catch(h){c} A promise that is resolved or rejected. + */ + sendSimpleValue: function(methodName, param) { + return this._postMessage("SetValue", {methodName: methodName, param:param}, true); + }, + + /** + * Checks if a scalar value can be written into the configured variable. + * @param {String} methodName The method name as configured in the column "Call method" in the HTML5 editor. + * @param {*} param The scalar value that will be sent to the IEC application. Can be number, bigint, date or another type. + * @returns {Promise} Promise.Resolve() is called if the value can be written into the specified variable. Otherwise, the promise is rejected. + */ + checkSimpleValue: function(methodName, param) { + return this._postMessage("CheckValue",{methodName: methodName, param:param}, true); + }, + + /** + * Sends a mouse event for this Html element to the IEC application. + * If the element has input actions like 'OnMouseClick' or 'OnMouseDown' configured, these events can be triggered here. + * @param {MouseEvent} event The mouse event coming from Javascript code. Event must be of type [MouseEvent]{@link https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent}. + * @returns {Promise} A resolved promise. Not relevant. + */ + sendMouseEvent: function(event) { + if (!(event instanceof MouseEvent)) + throw new TypeError("Expected MouseEvent object"); + return this._postMessage("SendMouseEvent",{type: event.type, xPos: event.x, yPos: event.y}, false); + }, + + /** + * Returns the type description for the corresponding type Id. + * Typically the method call of an element has the following signature: function(value, type, typeid) {...} + * The value is the value itself and the typeid identifies the type description which provides further information about + * the value like size or dimensions in case of an array type. + * + * @param {Number} typeId The type Id that comes from the element's method call together with the value. + * @returns {Promise} A promise that contains a JSON object with the members descripted in the type descriptions section starting with TypeDesc.. + */ + getTypeDesc: function(typeId) { + return this._postMessage("GetTypeDesc", {typeId: typeId}, true); + }, + + /** + * Gets the actual filename of a additional file that can be referenced in the element. + * The original filenames are renamed after downloading the application in order to prevent name collisions with other elements. + * @deprecated since Visualization 4.3.0.0. Use getTextFile() or getBinaryFile() instead. + * @param {String} additionalFile The original name of the file specified in the 'Additional Files' section in the Html5 Editor. + * @returns {Promise} A promise that contains the resulting file name. + */ + getAdditionalFile: function(additionalFile) { + console.info("getAdditionalFile() is deprecated since Visualization 4.3.0.0"); + return this._postMessage("GetAdditionalFileName", {originalAdditionalFileName: additionalFile}, true); + }, + + /** + * Gets the actual filename of a provided image file that can be referenced in the element. + * The original filenames are renamed after downloading the application in order to prevent name collisions with other elements. + * @deprecated since Visualization 4.3.0.0. Use getImageById() instead. + * @param {String} imageId The original name of the file specified in the 'Image' section in the Html5 Editor. + * @returns {Promise} A promise that contains the resulting file name. + */ + getImagePoolFileName: function(imageId) { + console.info("getImagePoolFileName() is deprecated since Visualization 4.3.0.0"); + return this._postMessage("GetImagePoolFileName", {imageId: imageId}, true); + }, + + /** + * Creates an HTML image element with the provided image filename as source that can + * be used in the html document of the element. + * The image source is created by calling the browser function createObjectURL() with the image file's binary content. + * It will stay in memory until the HTML5 element gets destroyed. + * As this is an asnychronous call a promise containing the Image is returned. + * @param {String} filenameFromAdditionalFiles Filename of the image that was declared in the Additional Files section of the HTML5 editor. + * @returns {Promise} A promise that contains a HTML image element. + */ + getImageByFilename: function(filenameFromAdditionalFiles) { + return this._postMessage("GetImageByFilename", {filename: filenameFromAdditionalFiles}, true); + }, + + /** + * Creates an HTML image element with the provided image name from an Image Pool as source that can + * be used in the html document of the element. + * The image source is created by calling the browser function createObjectURL() with the file's binary content. + * It will stay in memory until the HTML5 element gets destroyed. + * As this is an asnychronous call a promise containing the Image is returned. + * @param {String} imagePoolId Path to the image pool and the image id, e.g. "ImagePool.img01". + * @returns {Promise} A promise that contains a HTML image element. + */ + getImageById: function(imagePoolId) { + return this._postMessage("GetImageById", {imagePoolId: imagePoolId}, true); + }, + + /** + * Returns the content of a file in text format. The filename must be the same as in the Additional Files section in the HTML5 editor. + * As this is an asnychronous call a promise containing the file's content is returned. + * @param {String} filenameFromAdditionalFiles Filename of the image that was declared in the Additional Files section of the HTML5 editor. + * @returns {Promise} A promise that contains a string with the content of the requested file. + */ + getTextFile: function(filenameFromAdditionalFiles) { + return this._postMessage("GetTextFile", {filename: filenameFromAdditionalFiles}, true); + }, + + /** + * Returns the content of a file in binary format. The filename must be the same as in the Additional Files section in the HTML5 editor. + * As this is an asnychronous call a promise containing the file's content is returned. + * @param {String} filenameFromAdditionalFiles Filename of the image that was declared in the Additional Files section of the HTML5 editor. + * @returns {Promise} A promise that contains a blob object with the content of the requested file. + */ + getBinaryFile: function(filenameFromAdditionalFiles) { + return this._postMessage("GetBinaryFile", {filename: filenameFromAdditionalFiles}, true); + }, + + /** + * Notifies the IEC application about which parts of the array values should be sent. + * Can be used for example with a scrollable table element that only receives the values that are currently visible. + * New values may be requested after the user has scrolled. + * @param {String} methodName The method name as configured in the column "Call method" in the HTML5 editor. + * @param {Number} startIndex Specifies the zero-based start of the array range. + * @param {Number} endIndex Specifies the zero-based end of the array range. + * @param {Number} scrollDimension The dimension of the array values that should be retrieved. + * @returns {Promise} A resolved promise. Not relevant. + */ + setScrollRange: function(methodName, startIndex, endIndex, scrollDimension) { + return this._postMessage("SetScrollRange", {methodName: methodName, startIndex:startIndex, endIndex:endIndex, scrollDimension:scrollDimension}, false); + }, + + /** + * Checks if a certain value of a complex value (array-like structure) can be written to into the configured variable. + * @param {String} methodName The method name as configured in the column "Call method" in the HTML5 editor. + * @param {*} param The scalar value that will be sent to the IEC application. Can be of the types number, bigint, date or others. + * @param {Number} indexCount Number of dimensions of the configured datatype. E.g. 2 for a simple table. Maximum is 3. + * @param {Number} index0 Zero-Based index in the first dimension. + * @param {Number} index1 Zero-Based index in the second dimension. + * @param {Number} index2 Zero-Based index in the third dimension. + * @returns {Promise} Resolve() is called if the value can be written into the specified variable. Otherwise, the promise is rejected. + */ + checkComplexValue: function(methodName, param, indexCount, index0, index1, index2) { // + return this._postMessage("CheckComplexValue", {methodName: methodName, param:param, indexCount:indexCount, index0:index0, index1:index1, index2:index2}, true); + }, + + /** + * Sends a certain value of a complex value (array-like structure) to the configured variable in the application. + * @param {String} methodName The method name as configured in the column "Call method" in the HTML5 editor. + * @param {*} param The scalar value that will be sent to the IEC application. + * @param {Number} indexCount Number of dimensions of the configured datatype. E.g. 2 for a simple table. Maximum is 3. + * @param {Number} index0 Zero-Based index in the first dimension. + * @param {Number} index1 Zero-Based index in the second dimension. + * @param {Number} index2 Zero-Based index in the third dimension. + * @returns {Promise} A promise that is resolved or rejected. + */ + sendComplexValue: function(methodName, param, indexCount, index0, index1, index2) { + return this._postMessage("SetComplexValue",{methodName: methodName, param:param, indexCount:indexCount, index0:index0, index1:index1, index2:index2}, true); + }, + + /** + * Internal Helper function to send messages from the element's iFrame to the webvisu. + */ + _postMessage: function(messageType, data, awaitsResponse) { + if (window["CdsInfo"]["TargetOrigin"] === undefined) { + throw new TypeError("TargetOrigin is not yet set."); + } + var promiseId, promise; + if (awaitsResponse) { + promiseId = iPromiseId; + promise = new Promise(function (resolve, reject) { + promiseDict[iPromiseId] = new PromiseCallbacks(resolve, reject); + }); + iPromiseId++; + } else { + promiseId = null; + promise = Promise.resolve(); + } + window.parent.postMessage({type:messageType, data: data, promiseId: promiseId, identification: window["CdsInfo"]["Identification"]}, window["CdsInfo"]["TargetOrigin"]); + return promise; + } + }; +}()); + +(function() +{ + /** + * Internal class to capsulate promises. + */ + PromiseCallbacks = function (resolve, reject){ + this.resolve = resolve; + this.reject = reject; + }; + + PromiseCallbacks.prototype = { + + getResolveCallback: function() { + return this.resolve; + }, + + getRejectCallback: function() { + return this.reject; + } + }; +}()); + +(function () { + /** + * Internal helper class to process messages. + */ + MessageHelper = function () { + // empty constructor + }; + + MessageHelper.GetPromiseCallback = function (message) { + var promiseId = message.data.data.promiseId, promiseCallbacksHelp = null; + if (promiseId !== undefined) { + promiseCallbacksHelp = promiseDict[promiseId]; + if (promiseCallbacksHelp === undefined) { + promiseCallbacksHelp = null; + } else { + delete promiseDict[promiseId]; + } + } + return promiseCallbacksHelp; + }; + + MessageHelper.ProcessMessageData = function (message) { + var messageData = message.data; + if (messageData.type === "MethodCall") { + var methodName = messageData.data.methodName; + var methodNameComponents = methodName.split(".") + , method = window["CdsInfo"]["Wrapper"]; + for (var i = 0; i < methodNameComponents.length - 1; ++i) + method = method[methodNameComponents[i]](); + method[methodNameComponents[methodNameComponents.length - 1]].apply(method, messageData.data.params); + } + else if (messageData.type === "Resize") { + var docBody = document.body; + docBody.style.width = messageData.data.width + 'px'; + docBody.style.height = messageData.data.height + 'px'; + docBody.style.overflow = "hidden"; + } + }; + + MessageHelper.ProcessMessageDataWithPromise = function (message) { + var promiseCallbacksHelp = MessageHelper.GetPromiseCallback(message), isAccepted = message.data.data.result, messageData = message.data; + if (promiseCallbacksHelp == null) + return; + switch (messageData.type) { + case "ErrorMessage": + promiseCallbacksHelp.getRejectCallback()(messageData.data.error); + break; + case "CheckSimpleValueResult": + case "SetSimpleValueResult": + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, messageData.data.value); + break; + case "GetTypeDescResult": + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, messageData.data.typeDesc); + break; + case "GetAdditionalFileNameResult": + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, messageData.data.resultingAdditionalFileName); + break; + case "GetImageMessageResult": + case "GetImageByIdMessageResult": + var imageElem = new Image(); + imageElem.src = window.URL.createObjectURL(messageData.data.responseContent); + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, imageElem); + break; + case "GetTextFileMessageResult": + case "GetBinaryFileMessageResult": + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, messageData.data.responseContent); + break; + case "GetImagePoolFileNameResult": + MessageHelper.SendDataToPromiseCallback(promiseCallbacksHelp, isAccepted, messageData.data.resultingFileName); + break; + case "CheckComplexValueResult": + case "SetComplexValueResult": + if (isAccepted) + promiseCallbacksHelp.getResolveCallback()(messageData.data.value, messageData.data.indexCount, messageData.data.index0, messageData.data.index1, messageData.data.index2); + else + promiseCallbacksHelp.getRejectCallback()(messageData.data.value, messageData.data.indexCount, messageData.data.index0, messageData.data.index1, messageData.data.index2); + break; + } + }; + + MessageHelper.SendDataToPromiseCallback = function (promiseCallbacksHelp, isAccepted, params) { + if (isAccepted) + promiseCallbacksHelp.getResolveCallback()(params); + else + promiseCallbacksHelp.getRejectCallback()(params); + }; +}()); + +window["CDSWebVisuAccess"] = new CDSWebVisuAccess(); +window["IecTypes"] = IecTypes; +window["TypeIds"] = TypeIds; \ No newline at end of file diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.cfg.json b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.cfg.json new file mode 100644 index 0000000..a5d930c --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.cfg.json @@ -0,0 +1,24 @@ + +{ + "UpdateRate": 200, + "PlcAddress": "0003.0002.200F", + "UseLocalHost": true, + "Application": "Control", + "StartVisu": "WorkloadControl", + "BestFit": true, + "LogLevel": "INFO", + "CommBufferSize": 50000, + "HasKeyboard": false, + "TouchHandlingActive": false, + "HandleTouchEvents": true, + "ScaleTypeIsotropic": false, + "BestFitForDialogs": true, + "RuntimeVersion": "3.5.21.30", + "LoginVisu": "", + "FillBackground": false, + "LoginVisuTexts": "", + "LoginVisuErrorTexts": "implicit_loginvisu_errors_textlist.txt", + "LoginVisuNamespace": "", + "LoginVisuDefLang": "", + "UseBrowserLanguage": false +} \ No newline at end of file diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.htm b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.htm new file mode 100644 index 0000000..f2e8acf --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.htm @@ -0,0 +1,109 @@ + + + + + + + + + + + + + +
+ Webvisu not supported due to missing browser feature HTML5-Canvas + Webvisu not supported due to missing browser feature HTML5-Canvas +
+ + diff --git a/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js new file mode 100644 index 0000000..adeb947 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js @@ -0,0 +1,897 @@ +// CAS: "1.0.0" +// This software uses the following Open Source software: +// - a simplified (and thus modified) version of stringencoding +// * Licensed under Apache License 2.0 and Unlicense (can be found here: http://www.apache.org/licenses/, http://unlicense.org/) +// * Source: https://github.com/inexorabletash/text-encoding +// - requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// * MIT license +// * Source: https://gist.github.com/paulirish/1579671 +// - a simplified (and thus modified) version of the Microsoft Research JavaScript Cryptography Library (msrCrypto) +// * Licensed under Apache License 2.0 (can be found here: http://www.apache.org/licenses/LICENSE-2.0) +// * Source: https://github.com/microsoft/MSR-JavaScript-Cryptovar r,na,oa; +(function(){function a(ca){var da=0;this.get=function(){return da>=ca.length?-1:Number(ca[da])};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function b(ca){var da=0;this.get=function(){return da>=ca.length?-1:ca[da]};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function c(ca){var da=0;this.h=function(ea){var ba=-1, +Aa;for(Aa=0;Aa=Ia)if(56320<=Ia&&57343>=Ia)ba.push(65533);else if(Aa===qb-1)ba.push(65533);else{var xa=ca.charCodeAt(Aa+1);56320<=xa&&57343>=xa?(Ia&=1023,xa&=1023,Aa+=1,ba.push(65536+(Ia<<10)+xa)):ba.push(65533)}else ba.push(Ia);Aa+=1}return ba}();this.offset=function(ba){da+=ba;if(0>da)throw Error("Seeking past start of the buffer"); +if(da>ea.length)throw Error("Seeking past EOF");};this.get=function(){return da>=ea.length?-1:ea[da]}}function e(){var ca="";this.m=function(){return ca};this.h=function(da){65535>=da?ca+=String.fromCharCode(da):(da-=65536,ca+=String.fromCharCode(55296+(da>>10&1023)),ca+=String.fromCharCode(56320+(da&1023)))}}function f(ca,da){if(ca)throw Error("EncodingError");return da||65533}function g(){throw Error("EncodingError");}function k(ca){ca=String(ca).trim().toLowerCase();if(Object.prototype.hasOwnProperty.call(va, +ca))return va[ca];throw Error("EncodingError: Unknown encoding: "+ca);}function l(ca){var da=ca.fatal,ea=0,ba=0,Aa=0,qb=0;this.decode=function(Ia){var xa=Ia.get();if(-1===xa)return 0!==ba?f(da):-1;Ia.offset(1);if(0===ba){if(0<=xa&&127>=xa)return xa;if(194<=xa&&223>=xa)ba=1,qb=128,ea=xa-192;else if(224<=xa&&239>=xa)ba=2,qb=2048,ea=xa-224;else if(240<=xa&&244>=xa)ba=3,qb=65536,ea=xa-240;else return f(da);ea*=Math.pow(64,ba);return null}if(!(128<=xa&&191>=xa))return qb=Aa=ba=ea=0,Ia.offset(-1),f(da); +Aa+=1;ea+=(xa-128)*Math.pow(64,ba-Aa);if(Aa!==ba)return null;Ia=ea;xa=qb;qb=Aa=ba=ea=0;return xa<=Ia&&1114111>=Ia&&!(55296<=Ia&&57343>=Ia)?Ia:f(da)}}function G(){this.encode=function(ca,da){var ea=da.get();if(-1===ea)return-1;da.offset(1);if(55296<=ea&&57343>=ea)return g(ea);if(0<=ea&&127>=ea)return ca.h(ea);if(128<=ea&&2047>=ea){var ba=1;var Aa=192}else 2048<=ea&&65535>=ea?(ba=2,Aa=224):65536<=ea&&1114111>=ea&&(ba=3,Aa=240);for(da=ca.h(Math.floor(ea/Math.pow(64,ba))+Aa);0=Aa)return Aa;ba=ca[Aa-128];return null===ba?f(ea):ba}}function ka(ca){this.encode=function(da,ea){var ba=ea.get();if(-1===ba)return-1;ea.offset(1);if(0<=ba&&127>=ba)return da.h(ba);ea=ca.indexOf(ba);ea=-1===ea?null:ea;null===ea&&g(ba);return da.h(ea+128)}}var ja={},va={};[{encodings:[{labels:"csisolatin2 iso-8859-2 iso-ir-101 iso8859-2 iso_8859-2 l2 latin2".split(" "), +name:"iso-8859-2"},{labels:"csisolatin3 iso-8859-3 iso_8859-3 iso-ir-109 l3 latin3".split(" "),name:"iso-8859-3"},{labels:"csisolatin4 iso-8859-4 iso_8859-4 iso-ir-110 l4 latin4".split(" "),name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso_8859-5","iso-ir-144"],name:"iso-8859-5"},{labels:"arabic csisolatinarabic ecma-114 iso-8859-6 iso_8859-6 iso-ir-127".split(" "),name:"iso-8859-6"},{labels:"csisolatingreek ecma-118 elot_928 greek greek8 iso-8859-7 iso_8859-7 iso-ir-126".split(" "), +name:"iso-8859-7"},{labels:"csisolatinhebrew hebrew iso-8859-8 iso-8859-8-i iso-ir-138 iso_8859-8 visual".split(" "),name:"iso-8859-8"},{labels:"csisolatin6 iso-8859-10 iso-ir-157 iso8859-10 l6 latin6".split(" "),name:"iso-8859-10"},{labels:["iso-8859-13"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14"],name:"iso-8859-14"},{labels:["iso-8859-15","iso_8859-15"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:"ascii ansi_x3.4-1968 csisolatin1 iso-8859-1 iso8859-1 iso_8859-1 l1 latin1 us-ascii windows-1252".split(" "), +name:"windows-1252"},{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"Legacy single-byte encodings"}].forEach(function(ca){ca.encodings.forEach(function(da){ja[da.name]=da;da.labels.forEach(function(ea){va[ea]=da})})});var Xa={"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357, +378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180, +181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173, +381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030, +1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138, +139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null, +null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952, +953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280, +203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262, +196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767, +7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176, +177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169, +536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382, +376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]};ja["utf-8"].AB=function(ca){return new G(ca)};ja["utf-8"].zB=function(ca){return new l(ca)};(function(){"iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-10 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 windows-1252".split(" ").forEach(function(ca){var da= +ja[ca],ea=Xa[ca];da.zB=function(ba){return new u(ea,ba)};da.AB=function(ba){return new ka(ea,ba)}})})();oa=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.Ts=!1;this.zi=null;this.os={fatal:!!da.fatal};Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};oa.prototype={encode:function(ca,da){ca=ca?String(ca):"";da=Object(da);this.Ts||(this.zi=this.uk.AB(this.os));this.Ts=!!da.stream;da=[];var ea=new c(da);for(ca= +new d(ca);-1!==ca.get();)this.zi.encode(ea,ca);if(!this.Ts){do var ba=this.zi.encode(ea,ca);while(-1!==ba);this.zi=null}return new Uint8Array(da)}};na=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.os={fatal:!!da.fatal};this.yb=this.uk.zB(this.os);Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};na.prototype={decode:function(ca){if(ca&&!("buffer"in ca&&"byteOffset"in ca&&"byteLength"in ca))throw new TypeError("Expected ArrayBufferView"); +ca=new Uint8Array(ca.buffer,ca.byteOffset,ca.byteLength);return this.qx(new a(ca))},yN:function(ca){if(!ca)throw new TypeError("Expected array of bytes");return this.qx(new b(ca))},qx:function(ca){for(var da=new e,ea;-1!==ca.get();)ea=this.yb.decode(ca),null!==ea&&-1!==ea&&da.h(ea);return da.m()}}})(); +(function(a,b){void 0!==window.Promise&&("function"===typeof define&&define.$S?define([],function(){return a.msrCrypto=b(a)}):"object"===typeof exports?module.exports=b(a):a.msrCrypto=b(a))})(this,function(a){a=a||{};return function(){function b(h,p,A){function Q(){if(!A||!A.Vd)throw Error("missing hash function");}var E=c(h);if(!p)throw Error("padding mode");var t=null,m=null;switch(p){case "RSAES-PKCS1-V1_5":h=Zb.GT(h);break;case "RSASSA-PKCS1-V1_5":Q();h=Zb.HT(h,A);break;case "RSA-OAEP":Q();h= +Zb.lP(h,A);break;case "RSA-PSS":Q();h=Zb.JT(h,A);break;case "raw":h={mp:function(q){return q},Dp:function(q){return q}};break;default:throw Error("invalid mode");}h&&(t=h.mp||h.sign,m=h.Dp||h.verify);return{encrypt:function(q,y){q=null!==t?t(q,y):q.slice();return E.encrypt(q)},decrypt:function(q,y){q=E.decrypt(q);if(null!==m){q=m(q,y);if(!1===q.valid)throw Error("OperationError");q=q.data}else q=q.slice(0);return q},bS:function(q,y,C){return E.decrypt(t(q,y,C))},CS:function(q,y,C){q=E.encrypt(q); +return m(q,y,C)},Fl:function(q){genRsaKeyFromRandom(q)},mode:p}}function c(h){function p(q){q=la.iB(q);Q.rP(q,0,m);return q}function A(q,y,C){y=la.Ch(y);C=la.OE(C);q=C.rN(q);return C.bP(q,y).Xa}var Q=ba,E=h.hasOwnProperty("n")&&h.hasOwnProperty("d"),t=h.hasOwnProperty("p")&&h.hasOwnProperty("q"),m=h.n.length;return{encrypt:function(q){return p(A(q,h.e,h.n,!0))},decrypt:function(q){if(t){var y=la.Ch,C=h.q,M=h.dp,B=h.dq,v=h.qi,F=y(h.p);C=y(C);var H=Array(F.length+C.length),O=Array(F.length+1),U=Array(C.length+ +1);q=y(q);var ia=la.Wh,Z=new ia(h.Dt?void 0:F,h.Dt);ia=new ia(h.Et?void 0:C,h.Et);Z.reduce(q,H);Z.Cj(H,y(M),O);ia.reduce(q,H);ia.Cj(H,y(B),U);M=la.Tc(O,U,H);0!==M&&la.Tc(U,O,H);la.rC(H,y(v),F,q);0!==M&&la.Tc(F,q,q);la.multiply(q,C,H);la.add(U,H,O);return p(O)}if(E)return y=A(q,h.d,h.n),p(y);throw Error("missing private key");}}}function d(h){function p(X,x){for(var n=Math.floor(x.length/16),z,w=0;wS;S++){var L= +-(z[Math.floor(S/8)]>>7-S%8&1)&255;for(K=0;16>K;K++)W[K]^=T[K]&L;L=-(T[15]&1)&255;K=T;for(var P=K.length-1;0>>1;K[0]>>>=1;T[0]^=225&L}O=W}U=x.slice(16*n);return O}function A(){var X=16*Math.ceil(ma/16)-ma,x=t(8*M.length),n=t(8*ma);X=U.concat(q.vc(X)).concat(x).concat(n);return p(H,X)}function Q(X){for(var x=256,n=1;4>=n;n++)x=(x>>>8)+X[X.length-n],X[X.length-n]=x&255;return X}function E(X,x){var n=Math.ceil(x.length/16),z=[];Z!==X&&(Z=X.slice());for(var w=0;w>>24&255,X>>>16&255,X>>>8&255,X&255]}function m(){ma=0;y=[];ia=[];O=q.vc(16);U=[];Z=C=M=null}var q=ba,y=[],C,M,B,v,F,H=h.encrypt(q.vc(16)),O=q.vc(16),U=[],ia=[],Z,ma=0;return{ud:function(X,x,n){M=x||[];B=isNaN(n)?128:n;if(0!==B%8)throw Error("DataError");C=X;12===C.length?v=C.concat([0,0,0,1]):(v=p(H,C.concat(q.vc(16*Math.ceil(C.length/16)-C.length+8)).concat(t(8*C.length))),O=q.vc(16)); +F=Q(v.slice());p(H,M.concat(q.vc(16*Math.ceil(M.length/16)-M.length)))},encrypt:function(X){ma=X.length;X=E(F,X);p(H,X);var x=A();x=E(v,x).slice(0,B/8);m();return X.slice().concat(x)},decrypt:function(X,x){ma=X.length;var n=E(F,X);p(H,X);X=A();X=E(v,X).slice(0,B/8);m();return q.zl(X,x)?n:null},nu:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor(y.length/16));ma+=X.length;y=y.slice(X.length);X=E(Z||F,X);ia=ia.concat(X);p(H,X)},op:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor((y.length-B/8)/ +16));ma+=X.length;y=y.slice(X.length);var x=E(Z||F,X);ia=ia.concat(x);p(H,X)},Qo:function(){var X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);X=ia.slice().concat(X);m();return X},Po:function(){var X=Math.floor(B/8),x=y.slice(-X);y=y.slice(0,y.length-X);X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);var n=ia.slice();m();return q.zl(X,x)?n:null}}}function e(h){function p(C){var M=[],B,v;for(B=0;Bm?Q(p.Vd(h),m):Q(h,m),y;var C=Array(m);var M=Array(m);for(var B=0;B=Z;Z++)U[O-Z]=ia%256,ia=Math.floor(ia/256);if(0!==q(H.concat(U)).length)throw Error("buffer.length !== 0");H=[];for(O=0;O=E&&(v=q(v))},finish:y, +lT:p,Xt:m,maxMessageSize:4294967295}}function k(){function h(x){var n,z=null;if(!arguments.length||"number"===typeof arguments[0])for(z=Array(x),n=0;n=x?1:Math.ceil(Math.log(x)/Math.LN2/24));for(var z=[];0=x.length&&(x[0]=0,x.length=1);return x}function y(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("bit count must be smaller than DIGIT_BITS and positive in shiftLeft");void 0===w&&(w=x.length);var K=24-z;n[w]=x[w-1]>>>24-z||n[w];for(--w;0>>K)&16777215;n[0]=x[0]<>=24; +for(S=x;S>=24;z.length=K.length;0!==n&&(z[S]=n&16777215);return n}function M(x,n,z){var w=n.length;if(x.length>=24;for(;K>=24;return S}function B(x,n,z){n="number"===typeof n?[n]:n;var w,K,S,W=x.length,T=n.length;for(w=0;wP;P++)aa=Math.max(aa,-(n[T-1]>>>P&1)&P);aa=23-aa;K=K||[];K.length=T;y(n,K,aa,T);S=S||[];S.length=W;y(x,S,aa,W);S[W]=S[W]||0;z.length=W-T+1;w.length=T;for(n=W-T;0<=n;n--){x=Math.floor((16777216*S[n+T]+S[n+T-1])/K[T-1]);for(P=16777216*S[n+T]+S[n+T-1]-x*K[T-1];;){if(16777216<=x||x*K[T-2]>16777216*P+S[n+T-2])if(--x,P+=K[T-1],16777216>P)continue;break}for(W=L=0;WL){--z[n];for(W=L=0;W>=24;S[n+T]=S[n+T]+L&16777215}}for(W=0;W>>aa|S[W+1]<<24-aa)&16777215;q(z);q(w)}}}function F(x,n,z,w,K){if(A(x))return p(n,0,K,0,n.length),K.length=n.length,0;if(A(n))return p(x,0,K,0,x.length),K.length=x.length,0;if(0>m(x,n)){var S=x.slice(0);p(n,0,K,0,n.length);K.length=n.length}else S=n.slice(0),p(x,0,K,0,x.length),K.length=x.length;q(K);q(S);x=Array(K.length);n=Array(K.length);var W=Array(K.length), +T=void 0!==w;if(T){var L=Array(K.length);L[0]=1;L.length=1;w[0]=0;w.length=1}var P=Array(K.length),aa=void 0!==z;if(aa){var ua=Array(K.length);ua[0]=0;ua.length=1;z[0]=1;z.length=1}for(var La=-1,Ya=z,Pa=w,sa=K,fa;!A(S);)v(K,S,x,n,P,W),aa&&(B(x,ua,P),C(P,z,P),q(P),fa=z,z=ua,ua=P,P=fa),T&&(B(x,L,W),C(W,w,W),q(W),fa=w,w=L,L=W,W=fa),fa=K,K=S,S=n,n=fa,La++;aa&&(p(z,0,Ya,0,z.length),Ya.length=z.length);T&&(p(w,0,Pa,0,w.length),Pa.length=w.length);p(K,0,sa,0,K.length);sa.length=K.length;return La}function H(x, +n,z,w){w=w||[];if(0===m(n,ma))w[0]=1;else if(0===m(n,X))p(x,0,w,0,x.length),w.length=x.length;else{var K=new O(z);q(x,K.vd,!0);K.Cj(x,n,w);w.length=z.length}return w}function O(x,n){function z(fa,ha,pa,ya){ya=ya||this;for(var Da=ya.ip,wa=Da.length,Ea=ya.fu,rb=ya.eu,Za,Ba,jb,eb=0,wb,jc=0,mb=h(wa+2);eb=rb;rb+=1)Dawa;wa++,Ba>>>=1)eb===Da&&(eb=jb[++Za]=0),jb[Za]+=(Ba&1)<>>31;for(pa=0;pa=Z;Z++)ia[Z]=256*ia[Z-1];var ma=[0], +X=[1];return{Op:24,KS:3,IS:16777215,YD:16777216,JS:16777215,VS:ma,YE:X,fP:q,Ch:Q,OT:function(x,n){x=x.replace(/^\s+|\s+$/g,"");var z=[0],w=[0];n=n||10;for(var K=0;K=n;)T[0]*=n,ua=ua.concat("0");for(P=0;PK;K+=1)S[3*w+K]=W&255,W=Math.floor(W/256)}S.reverse(); +void 0===z&&(z=1);if(n)for(;S.length>z&&0===S[0];)S.shift();return S},lC:A,AT:function(x){return 0===(x[0]&1)},pD:function(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("Invalid bit count for shiftRight");void 0===w&&(w=x.length);--w;for(var K=24-z,S=0;S>>z)&16777215;n[w]=x[w]>>>z},shiftLeft:y,Hf:m,bT:function(x){for(var n=0,z=0;n>>31)-1&16777215;var La=0;for(L=0;L>=24;aa.length=ua},Tc:function(L,P,aa){var ua=this.Bj,La=aa.Xa;P=la.Tc(L.Xa,P.Xa,aa.Xa);if(-1===P)for(L=P=0;L>=24},multiply:function(L,P,aa){return la.rC(L.Xa, +P.Xa,this.Dg,aa.Xa,S,W)},inverse:function(L,P){la.hu(L.Xa,this.Dg,P.Xa)},bP:function(L,P,aa){aa=aa||n([],this);if(0===m(P,w))aa.Xa=E(1,this.Bj);else if(0===m(P,K)){for(P=0;PK;){var S=1<C)throw Error("Incorrect entropy or additionalEntropy length");F=F.concat(ba.vc(C-F.length));v=v.concat(ba.vc((C-v.length%C)%C));for(var H=0;HB)throw Error("Reseeding is required");if(F&&0B;B+=1)v[B]=Math.floor(256*Math.random());if((B=q.crypto||q.msCrypto)&&"function"===typeof B.getRandomValues&&h.Uint8Array){var F=new h.Uint8Array(48);B.getRandomValues(F);v=v.concat(Array.prototype.slice.call(F));m=!0}if("undefined"!==typeof XMLHttpRequest)for(F=new XMLHttpRequest,B=0;B>8&255,B>>16&255,B>>24&255,v&255, +v>>8&255,M&255,M>>8&255])},om:function(){var M=(new Date).valueOf();A([M&255,M>>8&255,M>>16&255,M>>24&255])}}}();return{ud:function(){p();if(!m&&y)try{C.rD()}catch(M){}},Wl:function(M){E.Wl(M)},read:function(M){if(!t)throw Error("Entropy pool is not initialized.");M=E.ve(M);p();return M}}}var u={register:function(h,p,A){u[h]||(u[h]={});h=u[h];h[p]||(h[p]=A)},oB:function(h,p){return u[h]?u[h][p]?!0:!1:!1}},ka=self.location.href,ja="undefined"!==typeof Worker,va="function"===typeof importScripts&&self instanceof +WorkerGlobalScope,Xa=!1,ca="undefined"!==typeof ArrayBuffer;try{Object.defineProperty({},"oncomplete",{})}catch(h){}var da=!1,ea={},ba=function(){function h(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");0!==t.length%4;)t+="=";var m=[],q;t=t.replace(/[^A-Za-z0-9\+\/=]/g,"");for(q=0;q>4;C=(C&15)<<4|M>>2;var v=(M&3)<<6|B;m.push(y);64!==M&&m.push(C);64!==B&&m.push(v)}return m}function p(t){return Object.prototype.toString.call(t).slice(8,-1)}function A(t){return[t>>>24&255,t>>>16&255,t>>>8&255,t&255]}function Q(t){if(!t)return[];if(t.pop)return t;"ArrayBuffer"===p(t)?t=new Uint8Array(t):1 +t.length)return Array.apply(null,t);for(var m=Array(t.length),q=0;q>2;C=(C&3)<<4|M>>4;var F=(M&15)<<2|B>>6; +var H=B&63;isNaN(M)?F=H=64:isNaN(B)&&(H=64);q=q+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(v)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(C)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(F)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(H)}return m?q.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):q},El:h,eT:function(t,m,q){if(!t)throw Error(q);if(m&&p(t)!==m)throw Error(q); +return!0},Tt:p,bytesToHexString:function(t,m){var q="";"undefined"===typeof m&&(m=!1);for(var y=0;yC?m[y++]=C:2048>C?(m[y++]=C>>>6|192,m[y++]=C&63|128):55296>C||57343>>12|224,m[y++]=C>>>6&63|128,m[y++]=C&63|128):(C=1024*(C- +55296)+(t.charCodeAt(++q)-56320)+65536,m[y++]=C>>>18|240,m[y++]=C>>>12&63|128,m[y++]=C>>>6&63|128,m[y++]=C&63|128)}return m},JA:function(t){var m="",q;t=Q(t);for(var y=0;yC?q=C:q=224>C?(C<<6)+t[y++]-12416:240>C?(C<<12)+(t[y++]<<6)+t[y++]-925824:(C<<18)+(t[y++]<<12)+(t[y++]<<6)+t[y++]-63447168;m=65535m||255q)return!1}return!0},isInteger:E}}(),Aa=function(){function h(m,q){var y=t[m[0]&31],C=m[1],M=0,B=!!(m[0]&32);if(C&128)for(C=M=0;M<(m[1]&127);M++)C=(C<<8)+m[2+M];var v=2+M;if(void 0===y||C>m.length)return null;var F=B?[]:{};F.type=y;F.Ag=v;F.data=m.slice(0,C+v);if(B||q)for("BIT STRING"===F.type&&0===m[v]&&M++,m=m.slice(v,F.data.length);0>>=7;M[0]&=127;y=y.concat(M.reverse())}m=y;return q=[6].concat(A(m),m)}if(m.hasOwnProperty("SEQUENCE")){q=m.fi;m=[];for(M=0;M=m)return[m];m=Q(m);m.unshift(m.length|128);return m}function Q(m){var q=[];if(0===m)return[0];for(;0>>=8;return q}function E(m,q){var y=Array(q+1).join(" ")+m.type+" ("+m.length+") "+bytesToHexString(m.data).substring(0,16)+"\n";if(!m.children)return y;for(var C=0;CB;B++)M[B]=p.IA(m,64*q+4*B);for(B=16;80>B;B++)m=M[B-3]^M[B-8]^M[B-14]^M[B-16],M[B]=m<<1|m>>>31;for(B=0;80>B;B++)m=v<<5|v>>>27,m+=60<=B?F^H^O:40<=B?F&H^F&O^H&O:20<=B?F^H^O:F&H^~F&O,m+=U+C[B]+M[B],U=O,O=H,H=F<<30|F>>>2,F=v,v=m;y[0]+=v&4294967295;y[1]+=F&4294967295;y[2]+=H&4294967295;y[3]+=O&4294967295;y[4]+=U&4294967295;return y}var p=ba,A=p.Cp,Q=A("Z0UjAe/Nq4mYutz+EDJUdsPS4fA=",4,1),E=A("WoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroY8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdY", +4,1),t=A("MCEwCQYFKw4DAhoFAAQU");return{$l:function(){return g("SHA-1",t,Q,E,64,h,160)}}}();"undefined"!==typeof u&&(xa.Wb={},xa.rT=function(h){return xa.Wb[h]||(xa.Wb[h]=xa.$l())},xa.deleteInstance=function(h){xa.Wb[h]=null;delete xa.Wb[h]},xa.hash=function(h){if("process"===h.Ja)xa.$l.process(h.buffer);else return"finish"===h.Ja?xa.$l.finish():xa.$l().Vd(h.buffer)},u.register("digest","SHA-1",xa.hash));ea["SHA-1"]=xa.$l;var Ca=function(){function h(y,C,M,B,v){var F,H=M[0],O=M[1],U=M[2],ia=M[3], +Z=M[4],ma=M[5],X=M[6],x=M[7];for(F=0;16>F;F++)v[F]=p.IA(y,64*C+4*F);for(F=16;64>F;F++)y=v[F-15],C=v[F-2],v[F]=((C>>>17|C<<15)^(C>>>19|C<<13)^C>>>10)+v[F-7]+((y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3)+v[F-16],v[F]&=4294967295;for(F=0;64>F;F++)y=x+((Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7))+(Z&ma^~Z&X)+B[F]+v[F],ia+=y,y+=((H>>>2|H<<30)^(H>>>13|H<<19)^(H>>>22|H<<10))+(H&(O^U)^O&U),x=X,X=ma,ma=Z,Z=ia,ia=U,U=O,O=H,H=y;M[0]=M[0]+H>>>0;M[1]=M[1]+O>>>0;M[2]=M[2]+U>>>0;M[3]=M[3]+ia>>>0;M[4]=M[4]+Z>>>0;M[5]=M[5]+ +ma>>>0;M[6]=M[6]+X>>>0;M[7]=M[7]+x>>>0;return M}var p=ba,A=p.Cp;var Q=A("wQWe2DZ81QcwcN0X9w5ZOf/ACzFoWBURZPmPp776T6Q",4,1);var E=A("agnmZ7tnroU8bvNypU/1OlEOUn+bBWiMH4PZq1vgzRk",4,1);var t=A("QoovmHE3RJG1wPvP6bXbpTlWwltZ8RHxkj+CpKscXtXYB6qYEoNbASQxhb5VDH3Dcr5ddIDesf6b3AanwZvxdOSbacHvvkeGD8GdxiQMocwt6SxvSnSEqlywqdx2+YjamD5RUqgxxm2wAyfIv1l/x8bgC/PVp5FHBspjURQpKWcntwqFLhshOE0sbfxTOA0TZQpzVHZqCruBwskuknIshaK/6KGoGmZLwkuLcMdsUaPRkugZ1pkGJPQONYUQaqBwGaTBFh43bAgnSHdMNLC8tTkcDLNO2KpKW5zKT2gub/N0j4LueKVjb4TIeBSMxwIIkL7/+qRQbOu++aP3xnF48g", +4,1);var m=A("MC0wDQYJYIZIAWUDBAIEBQAEHA");var q=A("MDEwDQYJYIZIAWUDBAIBBQAEIA");return{Pu:function(){return g("SHA-224",m,Q,t,64,h,224)},Qu:function(){return g("SHA-256",q,E,t,64,h,256)}}}();"undefined"!==typeof u&&(Ca.dC=Ca.dC||Ca.Pu(),Ca.eC=Ca.eC||Ca.Qu(),Ca.Wb={},Ca.DB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Pu())},Ca.EB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Qu())},Ca.deleteInstance=function(h){Ca.Wb[h]=null;delete Ca.Wb[h]},Ca.oO=function(h){if("process"===h.Ja)return Ca.EB(h.Fc).process(h.buffer), +null;if("finish"===h.Ja){var p=Ca.EB(h.Fc).finish();Ca.deleteInstance(h.Fc);return p}if("abort"===h.Ja)Ca.deleteInstance(h.Fc);else return Ca.eC.Vd(h.buffer)},Ca.nO=function(h){if("process"===h.Ja)Ca.DB(h.Fc).process(h.buffer);else if("finish"===h.Ja&&Ca.DB(h.Fc).finish(),"abort"===h.Ja)msrcryptoSha224.deleteInstance(h.Fc);else return Ca.dC.Vd(h.buffer)},u.register("digest","SHA-224",Ca.nO),u.register("digest","SHA-256",Ca.oO));ea["SHA-224"]=Ca.Pu;ea["SHA-256"]=Ca.Qu;var Na=function(){function h(M, +B,v,F,H){B=B+F|0;H[0]=M+v+(B>>>0>>0)|0;H[1]=B}function p(M,B,v,F,H){var O,U=[],ia=[],Z=[],ma=v[0],X=v[1],x=v[2],n=v[3],z=v[4],w=v[5],K=v[6],S=v[7],W=v[8],T=v[9],L=v[10],P=v[11],aa=v[12],ua=v[13],La=v[14],Ya=v[15];for(O=0;32>O;O++){var Pa=128*B+4*O;H[O]=M.slice(Pa,Pa+4);H[O]=H[O][0]<<24|H[O][1]<<16|H[O][2]<<8|H[O][3]}for(O=32;160>O;O+=2){var sa=H[O-30];var fa=H[O-29];M=(sa>>>1|fa<<31)^(sa>>>8|fa<<24)^sa>>>7;B=(fa>>>1|sa<<31)^(fa>>>8|sa<<24)^(fa>>>7|sa<<25);sa=H[O-4];fa=H[O-3];Pa=(sa>>>19|fa<<13)^ +(fa>>>29|sa<<3)^sa>>>6;sa=(fa>>>19|sa<<13)^(sa>>>29|fa<<3)^(fa>>>6|sa<<26);h(Pa,sa,H[O-14],H[O-13],U);h(M,B,U[0],U[1],U);h(H[O-32],H[O-31],U[0],U[1],U);H[O]=U[0];H[O+1]=U[1]}for(O=0;160>O;O+=2)M=(W>>>14|T<<18)^(W>>>18|T<<14)^(T>>>9|W<<23),B=(T>>>14|W<<18)^(T>>>18|W<<14)^(W>>>9|T<<23),Pa=W&L^aa&~W,sa=T&P^ua&~T,h(La,Ya,M,B,U),h(Pa,sa,F[O],F[O+1],ia),h(U[0],U[1],H[O],H[O+1],Z),h(ia[0],ia[1],Z[0],Z[1],Z),h(Z[0],Z[1],K,S,U),K=U[0],S=U[1],B=(X>>>28|ma<<4)^(ma>>>2|X<<30)^(ma>>>7|X<<25),M=(ma>>>28|X<<4)^ +(X>>>2|ma<<30)^(X>>>7|ma<<25),sa=X&(n^w)^n&w,Pa=ma&(x^z)^x&z,h(Z[0],Z[1],M,B,U),M=U[0],B=U[1],h(Pa,sa,M,B,U),M=U[0],B=U[1],La=aa,Ya=ua,aa=L,ua=P,L=W,P=T,W=K,T=S,K=z,S=w,z=x,w=n,x=ma,n=X,ma=M,X=B;h(v[0],v[1],ma,X,U);v[0]=U[0];v[1]=U[1];h(v[2],v[3],x,n,U);v[2]=U[0];v[3]=U[1];h(v[4],v[5],z,w,U);v[4]=U[0];v[5]=U[1];h(v[6],v[7],K,S,U);v[6]=U[0];v[7]=U[1];h(v[8],v[9],W,T,U);v[8]=U[0];v[9]=U[1];h(v[10],v[11],L,P,U);v[10]=U[0];v[11]=U[1];h(v[12],v[13],aa,ua,U);v[12]=U[0];v[13]=U[1];h(v[14],v[15],La,Ya,U); +v[14]=U[0];v[15]=U[1];return v}var A=ba.Cp;var Q=A("y7udXcEFnthimikqNnzVB5FZAVowcN0XFS/s2PcOWTlnMyZn/8ALMY60SodoWBUR2wwuDWT5j6dHtUgdvvpPpA==",4,1);var E=A("agnmZ/O8yQi7Z66FhMqnOzxu83L+lPgrpU/1Ol8dNvFRDlJ/reaC0ZsFaIwrPmwfH4PZq/tBvWtb4M0ZE34heQ",4,1);var t=A("QoovmNcoriJxN0SRI+9lzbXA+8/sTTsv6bXbpYGJ27w5VsJb80i1OFnxEfG2BdAZkj+CpK8ZT5urHF7V2m2BGNgHqpijAwJCEoNbAUVwb74kMYW+TuSyjFUMfcPV/7Ticr5ddPJ7iW+A3rH+OxaWsZvcBqclxxI1wZvxdM9pJpTkm2nBnvFK0u++R4Y4TyXjD8GdxouM1bUkDKHMd6ycZS3pLG9ZKwJ1SnSEqm6m5INcsKncvUH71Hb5iNqDEVO1mD5RUu5m36uoMcZtLbQyELADJ8iY+yE/v1l/x77vDuTG4AvzPaiPwtWnkUeTCqclBspjUeADgm8UKSlnCg5ucCe3CoVG0i/8LhshOFwmySZNLG38WsQq7VM4DROdlbPfZQpzVIuvY952agq7PHeyqIHCyS5H7a7mknIshRSCNTuiv+ihTPEDZKgaZku8QjABwkuLcND4l5HHbFGjBlS+MNGS6BnW71IY1pkGJFVlqRD0DjWFV3EgKhBqoHAyu9G4GaTBFrjS0MgeN2wIUUGrUydId0zfjuuZNLC8teGbSKg5HAyzxclaY07YqkrjQYrLW5zKT3dj43NoLm/z1rK4o3SPgu5d77L8eKVjb0MXL2CEyHgUofCrcozHAggaZDnskL7/+iNjHiikUGzr3oK96b75o/eyxnkVxnF48uNyUyvKJz7O6iZhnNGGuMchwMIH6tp91s3g6x71fU9/7m7ReAbwZ6pyF2+6CmN9xaLImKYRP5gEvvkNrhtxCzUTHEcbKNt39SMEfYQyyqt7QMckkzyevgoVyb68Qx1nxJwQDUxMxdS+yz5Ctll/KZz8ZX4qX8tvqzrW+uxsRBmMSkdYFw==", +4,1);var m=A("MEEwDQYJYIZIAWUDBAICBQAEMA");var q=A("MFEwDQYJYIZIAWUDBAIDBQAEQA");var y=A("MC0wDQYJYIZIAWUDBAIFBQAEHA");var C=A("MDEwDQYJYIZIAWUDBAIGBQAEIA");return{am:function(){return g("SHA-384",m,Q,t,128,p,384)},bm:function(){return g("SHA-512",q,E,t,128,p,512)},MT:function(){return g("SHA-512.224",y,E,t,128,p,224)},NT:function(){return g("SHA-512.256",C,E,t,128,p,256)}}}();"undefined"!==typeof u&&(Na.Wb={},Na.sT=function(h){return Na.Wb[h]||(Na.Wb[h]=Na.am())},Na.tT=function(h){return Na.Wb[h]|| +(Na.Wb[h]=Na.bm())},Na.deleteInstance=function(h){Na.Wb[h]=null;delete Na.Wb[h]},Na.pO=function(h){if("process"===h.Ja)Na.am.process(h.buffer);else return"finish"===h.Ja?Na.am.finish():Na.am().Vd(h.buffer)},Na.qO=function(h){if("process"===h.Ja)Na.bm.process(h.buffer);else return"finish"===h.Ja?Na.bm.finish():Na.bm().Vd(h.buffer)},u.register("digest","SHA-384",Na.pO),u.register("digest","SHA-512",Na.qO));ea["SHA-384"]=Na.am;ea["SHA-512"]=Na.bm;var la=la||k();if("undefined"!==typeof u){var kb={};f.cS= +function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return h=kb[A].finish(),kb[A]=null,h;h=kb[A].RA(h.buffer);kb[A]=null;return h};f.BS=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return p=kb[A].finish(),p=ba.zl(p,h.qD),kb[A]=null,p; +p=kb[A].RA(h.buffer);p=ba.zl(p,h.qD);kb[A]=null;return p};f.generateKey=function(h){var p={"SHA-1":64,"SHA-224":64,"SHA-256":64,"SHA-384":128,"SHA-512":128},A=h.algorithm.length;void 0===A&&(A=p[h.algorithm.hash.name.toUpperCase()]);return{type:"keyGeneration",keyData:nb.ve(A),keyHandle:{algorithm:h.algorithm,extractable:h.extractable,usages:h.usages,type:"secret"}}};f.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,["k"]);p.alg=p.alg.replace("HS","SHA-")}else if("raw"=== +h.format)p={k:ba.wc(h.keyData)};else throw Error("unsupported import format");return{type:"keyImport",keyData:p.k,keyHandle:{algorithm:{name:"HMAC",hash:{name:h.algorithm.hash.name}},extractable:h.extractable||p.extractable,usages:h.usages,type:"secret"}}};f.exportKey=function(h){if("jwk"===h.format)return{type:"keyExport",keyHandle:Ia.hp(h.keyHandle,h.keyData)};if("raw"===h.format)return{type:"keyExport",keyHandle:h.keyData};throw Error("unsupported export format");};u.register("importKey","HMAC", +f.importKey);u.register("exportKey","HMAC",f.exportKey);u.register("generateKey","HMAC",f.generateKey);u.register("sign","HMAC",f.cS);u.register("verify","HMAC",f.BS)}var Db=function(){var h,p,A,Q,E,t,m,q,y,C;return{ug:function(M){function B(n,z){return[n[4*z],n[4*z+1],n[4*z+2],n[4*z+3]]}function v(n){for(var z=0;z=q;q+=2*m)B[q]=0;for(m=3;16384>=m;m+=2)0!==B[m]&& +v.push(m);p=v}q=p.length;A=Array(q);for(B=0;B>>=1,m--);v=q*la.Op+m}B=la.Wh(B);for(m=1;6>= +m;m++){q=!1;do var H=h(v);while(0<=la.Hf(H,y));F=[];B.Cj(H,M,F,!0);if(0!==la.Hf(F,[1])&&0!==la.Hf(F,y)){for(H=1;H>>24&255,E>>>16&255,E>>>8&255,E&255];m=A.Vd(h.concat(m));Q=Q.concat(m)}return Q.slice(0,p)},dT:function(h,p){if(h.length>(p.maxMessageSize||4294967295))throw Error("message too long"); +}},Zb=Zb||{};Zb.lP=function(h,p){var A=ba,Q=nb,E=h.n.length;if(null===p)throw Error("must supply hashFunction");return{mp:function(t,m){if(t.length>E-p.Xt/8*2-2)throw Error("Message too long.");null==m&&(m=[]);m=p.Vd(m);var q=A.vc(E-t.length-2*m.length-2);q=m.concat(q,[1],t);t=Q.ve(m.length);var y=Lc.jp(t,E-m.length-1,p);q=A.$e(q,y);m=Lc.jp(q,m.length,p);m=A.$e(t,m);return t=[0].concat(m,q).slice()},Dp:function(t,m){var q=m;m=0;var y=0===t[0];void 0===q&&(q=[]);q=p.Vd(q);var C=t.slice(1,q.length+ +1);t=t.slice(q.length+1);var M=Lc.jp(t,q.length,p);C=A.$e(C,M);C=Lc.jp(C,E-q.length-1,p);t=A.$e(t,C);C=t.slice(0,q.length);y=y&&A.zl(q,C);for(t=t.slice(q.length);!t[m++];);return{valid:y,data:t.slice(m)}}}};"undefined"!==typeof u&&(b.sign=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength,Q=h.algorithm.salt;return b(h.keyData,h.algorithm.name,p).bS(h.buffer,A,Q)},b.verify=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength; +return b(h.keyData,h.algorithm.name,p).CS(h.qD,h.buffer,A)},b.Gp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p=b(h.keyData,h.algorithm.name);h=p.encrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.encrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.Fp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p= +b(h.keyData,h.algorithm.name);h=p.decrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.decrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,"n e d p q dp dq qi".split(" "));p.d&&(p.Dt=(new la.Wh(la.Ch(p.p))).wg,p.Et=(new la.Wh(la.Ch(p.q))).wg)}else if("spki"===h.format){var A= +Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[1];A=Aa.parse(A.data.slice(A.Ag+1),!0);if(null==A)throw Error("invalid key data.");p=A[0];A=A[1];if("INTEGER"!==p.type||"INTEGER"!==A.type)throw Error("invalid key data.");p=p.data.slice(p.Ag);A=A.data.slice(A.Ag);0===p[0]&&p[1]&128&&(p=p.slice(1));0===A[0]&&A[1]&128&&(A=A.slice(1));p={n:p,e:A}}else if("pkcs8"===h.format){A=Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[2];A=Aa.parse(A.data.slice(A.Ag),!0);if(null== +A)throw Error("invalid key data.");var Q="n e d p q dp dq qi".split(" ");p={};for(var E=1;EF.usages.indexOf("wrapKey")||F.algorithm.name.toUpperCase()!==H.name)Z(Error("InvalidAccessError"));else U(B,v).then(function(ma){console.log(Qa.ce(ma));return O(H,F,"jwk"===B?Qa.Nj(JSON.stringify(ma,null,0)):ma)}).then(function(ma){ia(ma)})["catch"](function(ma){Z(ma)})})},unwrapKey:function(B,v,F,H,O,U,ia){var Z=this.decrypt,ma=this.importKey;return new Promise(function(X,x){if(0>F.usages.indexOf("unwrapKey")|| +F.algorithm.name.toUpperCase()!==H.name)x(Error("InvalidAccessError"));else Z(H,F,v).then(function(n){return ma(B,"jwk"===B?JSON.parse(Qa.JA(n)):n,O,U,ia)}).then(function(n){X(n)})["catch"](function(n){x(n)})})}},xO:{Ep:y.Ep}}}();Eb=function(){var h=ba;return{wrapKey:function(p){var A=b(p.QO,p.cu.algorithm.name,ea["SHA-1"])(),Q=Ia.RO(p.keyHandle,p.keyData);p=h.ce(JSON.stringify({alg:p.cu.algorithm.name.toUpperCase(),enc:"A128GCM"}),!0);var E=nb.ve(32);A=A.encrypt(E);A=h.ce(A,!0);var t=nb.ve(12),m= +h.ce(t,!0),q=p.concat(".",A,".",m);E=d(Db.ug(E));E.ud(t,h.Nj(q),128);E=E.encrypt(Q);t=E.slice(-16);Q=h.ce(t,!0);E=h.ce(E.slice(0,E.length-t.length),!0);return h.Nj(JSON.stringify({Rl:[{Ag:p,kB:A,wO:Q}],bC:m,gN:E}))},unwrapKey:function(p){var A=h.El,Q=JSON.parse(String.fromCharCode.apply(null,p.buffer));h.El(Q.Rl[0].Ag);var E=A(Q.Rl[0].kB),t=A(Q.Rl[0].wO),m=A(Q.bC);A=A(Q.gN);var q=ea["SHA-1"]();E=b(p.keyData,p.keyHandle.algorithm.name,q).decrypt(E);Q=Q.Rl[0].Ag.concat(".",Q.Rl[0].kB,".",Q.bC);E=d(Db.ug(E)); +E.ud(m,h.Nj(Q),128);t=E.decrypt(A,t);t=Ia.Ol(t,p.algorithm,["k"]);return{type:"keyImport",keyData:t.k,keyHandle:{algorithm:{name:p.algorithm.name},extractable:p.extractable||t.extractable,usages:p.usages,type:"secret"}}}}}();"undefined"!==typeof u&&(u.register("wrapKey","AES-GCM",Eb.wrapKey),u.register("unwrapKey","AES-CBC",Eb.unwrapKey));Eb={subtle:Mc?Mc.yP:null,getRandomValues:function(h){var p,A=nb.ve(h.length);for(p=0;p>>=1;while(0!==a);return b}};var D;D=function(){}; +D.bk=function(){return D.fA};D.ZD=function(){return D.zH};D.ci=function(a){var b=new I(a.offsetX,a.offsetY);null!==a.currentTarget&&(b=J.$O(a.currentTarget,b));return b};D.Vx=function(a){var b=new I(a.offsetLeft,a.offsetTop);a.offsetParent&&(a=D.Vx(a.offsetParent),b.X+=a.X,b.Y+=a.Y);return b};D.jA=!1;D.hq=function(a){var b=this.UF(a);null!==b&&(a=D.Vx(a.target),b.X-=a.X,b.Y-=a.Y);return b}; +D.UF=function(a){return a.pageX&&a.target?new I(a.pageX,a.pageY):(D.jA||(D.jA=!0,N.error("Evaluation of Touch events not supported because the browser uses an unexpected interface")),null)};D.FJ=navigator.userAgent.match(/OS 6(_\d)+ like Mac OS X/i);D.sO=function(){return D.FJ};D.rE=function(){var a=void 0!==window.TouchEvent&&"ontouchstart"in window&&"ontouchend"in document;return void 0!==window.PointerEvent&&void 0!==navigator.maxTouchPoints&&0a.length?null:new Ja(parseFloat(a[2]),parseFloat(a[3]))};D.fM=function(a){var b=new XMLHttpRequest;b.open("GET",a.src,!1);b.send();return b.responseXML&&b.responseXML.documentElement?b.responseXML&&b.responseXML.documentElement:null}; +D.rG=function(a,b){var c=new XMLHttpRequest;c.open("GET",a.src);c.onreadystatechange=function(){4===c.readyState&&(200===c.status?c.responseXML&&c.responseXML.documentElement?b(c.responseXML.documentElement):b(null):b(null))};c.send()}; +D.pL=function(a){try{if(0<=a.src.toLowerCase().indexOf(".svg")){N.h("Derivation of SVG size for '"+a.src+"' failed. Parsing manually");var b=D.fM(a);if(null!==b){var c=D.uz(b.getAttribute("width"));var d=D.uz(b.getAttribute("height"));if(c&&d)return new Ja(c,d);var e=D.wz(b.getAttribute("viewBox"));if(null!==e)return e}}}catch(f){N.error("Exception during manual parsing of SVG size.")}return null}; +D.Dv=function(a){if(a.naturalWidth&&a.naturalHeight)return new Ja(a.naturalWidth,a.naturalHeight);if(a.width&&a.height)return new Ja(a.width,a.height);a=D.pL(a);return null!==a?a:new Ja(0,0)};D.lq=function(){return D.tL};D.EI="undefined"!==typeof InstallTrigger;D.QE=function(a,b,c){return!D.EI&&!c.WorkaroundForceSVGEmptySizeWorkaround||c.WorkaroundDisableSVGEmptySizeWorkaround?!1:J.wq(b)&&void 0!==a.naturalWidth&&0===a.naturalWidth&&void 0!==a.naturalHeight&&0===a.naturalHeight}; +D.bE=function(a,b,c){try{D.rG(a,function(d){if(null===d)c("DoZeroWidthHeightWorkaround: svg xml not available");else{var e=D.wz(d.getAttribute("viewBox"));null===e?c("DoZeroWidthHeightWorkaround: no view box available"):(d.setAttribute("width",e.L),d.setAttribute("height",e.aa),d=(new XMLSerializer).serializeToString(d),b("data:image/svg+xml;base64,"+btoa(d)))}})}catch(d){c(d.toString())}}; +D.Qb=function(){return"onpointerdown"in window&&"PointerEvent"in window&&!Ka.kE("CFG_WorkaroundDisablePointerEvents",!1)};D.Cv=function(){var a=Ka.lE("CFG_WorkaroundFileTransferTimeout");return null!==a?a:D.lq()?400:0};D.tL=-1!==navigator.userAgent.indexOf("Safari")&&0>navigator.userAgent.indexOf("Chrome");var Ma="undefined"===typeof ArrayBuffer||"undefined"===typeof Uint8Array||"undefined"===typeof Int8Array,Oa,Ra;Ma||(Oa=new ArrayBuffer(4),Ra=new Int8Array(Oa,1,2),Ma=2!==Ra.byteLength);D.fA=Ma; +D.zH=function(){if(D.fA)return!1;var a="undefined"!==typeof DataView,b;if(/opera [56789]|opera\/[56789]/i.test(navigator.userAgent)||/MSIE (\d+\.\d+);/.test(navigator.userAgent))return!1;try{if(a){var c=new ArrayBuffer(8);var d=new Int8Array(c);for(b=0;8>b;++b)d[b]=b;var e=new DataView(c);if(a="function"===typeof e.getFloat64&&"function"===typeof e.getFloat32&&"function"===typeof e.getInt32&&"function"===typeof e.getUint32&&"function"===typeof e.getInt16&&"function"===typeof e.getUint16&&"function"=== +typeof e.getInt8&&"function"===typeof e.getInt8)e.getFloat64(0),e.getFloat32(0),e.getInt32(0),e.getUint32(0),e.getInt16(0),e.getUint16(0),e.getInt8(0),e.getInt8(0)}}catch(f){return!1}return a}();D.xb=function(a,b){return void 0!==a.includes?a.includes(b):0<=a.indexOf(b)};D.CF=function(a,b){return void 0!==a.startsWith?a.startsWith(b):0===a.lastIndexOf(b,0)}; +D.Av=function(){try{var a=void 0!==navigator.languages?navigator.languages.length?navigator.languages[0]:navigator.language:navigator.language;var b=a.split("-");b.length&&(a=b[0]);return a}catch(c){return""}};D.Vh=function(){return window.WindowZoomFactor?1E-4<=Math.abs(parseFloat(window.WindowZoomFactor)-1):!1};D.Yj=function(a){var b=D.Up();b&&a.Yl(1/b);return a};D.Up=function(){return parseFloat(window.WindowZoomFactor)};var Configuration; +Configuration=function(){this.PlcAddress="0101";this.UseLocalHost=!0;this.CommBufferSize=5E4;this.ErrorReconnectTime=1E4;this.Application="Application";this.UpdateRate=200;this.BestFitForDialogs=this.BestFit=!1;this.StartVisu="Visualization";this.StartVisuDefaultEncodingBase64="";this.XhrSendTimeout=0;this.LoginVisuDefLang=this.LoginVisuNamespace=this.LoginVisuErrorTexts=this.LoginVisuTexts=this.LoginVisu="";this.PollingRegistrationInterval=100;this.TimeMeasurements="";this.LogLevel="INFO";this.MaxUnusedImageAge= +2E4;this.MaxUndrawnImageAge=1E4;this.NumCachedImages=15;this.ChangeWindowTitle=!0;this.TooltipFont="";this.DefaultKeyActions=!0;this.KeysForWebVisu="Backspace,Tab";this.ANSIStringEncoding="iso-8859-1";this.CommitEditcontrolOnClickOut=!0;this.HandleTouchEvents=!1;this.FuzzyTransparencyColorEvaluation=!0;this.TouchHandlingActive=this.Benchmarking=this.HasKeyboard=this.LoadImagesById=!1;this.ClientName="";this.ScaleTypeIsotropic=this.IecSupportsCommonMiterLimit=this.SemiTransparencyActive=!1;this.GesturesFlickPanThresholdPxPerSecond= +1E3;this.GesturesPanFlickTimeThresholdMs=40;this.GesturesPanClickThresholdDistSquare=10;this.PostDataInHeader=0;this.vq=this.AutoFontReductionActive=!1;this.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application.";this.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";this.ConnectionInfoValidTimeMsForLeaveAfterError=1E3;this.WorkaroundDisableMouseUpDownAfterActiveTouch=!0;this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch= +500;this.WorkaroundForceSVGEmptySizeWorkaround=this.WorkaroundDisableSVGEmptySizeWorkaround=this.WorkaroundDisableSVGAspectRatioWorkaround=this.WorkaroundDisableResizeHandling=!1;this.ContentSecurityPolicyIncludeTrustedOrigins=this.RuntimeVersion=this.CasFactoryName="";this.DefaultConfigurationOnError=!1;this.MaxResizePixel=30;this.FillBackground=!1;this.tq=5E3;this.UseBrowserLanguage=this.ContextMenuDisabled=this.TouchContextMenuEnabled=this.DebugHTML5=this.DebugOnlyInputReactionExplCoord=this.DebugOnlyInputReactionOnUp= +this.DebugOnlyDiagnosisDisplay=this.DebugOnlyPrintTouchRectangles=this.DebugOnlyPrintGestures=this.DebugOnlyPrintRawTouches=this.DebugOnlyPrintPaintCommands=!1}; +Configuration.prototype={validate:function(){if("string"!==typeof this.PlcAddress)throw Error("Plc address must be of type string");if("boolean"!==typeof this.UseLocalHost)throw Error("UseLocalHost must be of type boolean");if("number"!==typeof this.CommBufferSize)throw Error("CommBufferSize must be of type number");if("number"!==typeof this.ErrorReconnectTime)throw Error("ErrorReconnectTime must be of type number");if("string"!==typeof this.Application)throw Error("Application must be of type string"); +if("number"!==typeof this.UpdateRate)throw Error("UpdateRate must be of type number");if("number"!==typeof this.MaxResizePixel)throw Error("MaxResizePixel must be of type number");void 0!==this.LoginMaxResizePixel&&30===this.MaxResizePixel&&(this.MaxResizePixel=this.LoginMaxResizePixel);if("boolean"!==typeof this.BestFit)throw Error("BestFit must be of type boolean");if("boolean"!==typeof this.BestFitForDialogs)throw Error("BestFitForDialogs must be of type boolean");if("string"!==typeof this.StartVisu)throw Error("StartVisu must be of type string"); +if("string"!==typeof this.LoginVisu)throw Error("LoginVisu must be of type string");if("string"!==typeof this.LoginVisuTexts)throw Error("LoginVisuTexts must be of type string");if("string"!==typeof this.LoginVisuErrorTexts)throw Error("LoginVisuErrorTexts must be of type string");if("string"!==typeof this.LoginVisuNamespace)throw Error("LoginVisuNamespace must be of type string");if("string"!==typeof this.LoginVisuDefLang)throw Error("LoginVisuDefLang must be of type string");if("number"!==typeof this.PollingRegistrationInterval)throw Error("PollingRegistrationInterval must be of type number"); +if("string"!==typeof this.TimeMeasurements)throw Error("TimeMeasurements must be of type string");if("string"!==typeof this.TooltipFont)throw Error("TooltipFont must be of type string");if("boolean"!==typeof this.DefaultKeyActions)throw Error("DefaultKeyActions must be of type boolean");if("string"!==typeof this.ANSIStringEncoding)throw Error("ANSIStringEncoding must be of type string");if("boolean"!==typeof this.FuzzyTransparencyColorEvaluation)throw Error("FuzzyTransparencyColorEvaluation must be of type boolean"); +if("boolean"!==typeof this.LoadImagesById)throw Error("LoadImagesById must be of type boolean");if("boolean"!==typeof this.Benchmarking)throw Error("Benchmarking must be of type boolean");if("boolean"!==typeof this.TouchHandlingActive)throw Error("TouchHandlingActive must be of type boolean");if("boolean"!==typeof this.HasKeyboard)throw Error("HasKeyboard must be of type boolean");if("boolean"!==typeof this.SemiTransparencyActive)throw Error("SemiTransparencyActive must be of type boolean");if("boolean"!== +typeof this.ScaleTypeIsotropic)throw Error("ScaleTypeIsotropic must be of type boolean");if("number"!==typeof this.GesturesFlickPanThresholdPxPerSecond||0>this.GesturesFlickPanThresholdPxPerSecond)throw Error("GesturesFlickPanThresholdPxPerSecond must be of type nonnegative number");if("number"!==typeof this.GesturesPanFlickTimeThresholdMs||0>this.GesturesPanFlickTimeThresholdMs)throw Error("GesturesPanFlickTimeThresholdMs must be of type nonnegative number");if("number"!==typeof this.GesturesPanClickThresholdDistSquare|| +0>this.GesturesPanClickThresholdDistSquare)throw Error("GesturesPanClickThresholdDistSquare must be of type nonnegative number");if("number"!==typeof this.PostDataInHeader||0>this.PostDataInHeader||2this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch)throw Error("WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch must be of type nonnegative number");if("string"!==typeof this.CasFactoryName)throw Error("CasFactoryName must be of type string");if("string"!==typeof this.RuntimeVersion)throw Error("RuntimeVersion must be of type string");if("string"!==typeof this.ContentSecurityPolicyIncludeTrustedOrigins)throw Error("ContentSecurityPolicyIncludeTrustedOrigins must be of type string"); +if("number"!==typeof this.tq)throw Error("TouchSanityInterval must be of type number");if("boolean"!==typeof this.ContextMenuDisabled)throw Error("ContextMenuDisabled must be of type boolean");if("boolean"!==typeof this.TouchContextMenuEnabled)throw Error("TouchContextMenuEnabled must be of type boolean");this.yg()},PB:function(){try{return new Sa(this.TooltipFont)}catch(a){return this.TooltipFont=""}},yg:function(){return new na(this.ANSIStringEncoding)},td:function(){return new oa(this.ANSIStringEncoding)}}; +var Ta;Ta=function(a,b,c,d,e){this.CommBufferSize=a;this.Fa=b;this.cf=c;this.$p=d;this.Th=Ua.xa;this.la=Ua.m;this.eq="";this.yF=e;this.Lp=!1;this.Gc=""};Ta.prototype={IQ:function(a){this.Gc=a}};var Va;Va=function(){};Va.Pp="";Va.RE="";Va.Qp="2";Va.cv="3";Va.bF="4";Va.PF="5";Va.xF="6";var Wa;Wa=function(){};Wa.h="NOSP";Wa.xa="---";Wa.m=1E3;Wa.J=1100;var $a;$a=function(){};$a.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";$a.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application."; +$a.h=1;$a.Ya=$a.h;$a.Pb=$a.h+1;$a.J=$a.h+2;$a.m=$a.h+3;$a.xa=$a.h+4;$a.Uc=$a.h+5;var ab;ab=function(a,b,c,d,e,f,g,k,l){this.xr=a;this.jb=d%360;this.MG=e;this.NG=f;this.ur=g;(0===this.ur||2===this.ur)&&180=b&&0<=l&&1>=l},aJ:function(a,b){var c=[];c[0]=this.Vm(new I(a.u,a.v),b);c[1]=this.Vm(new I(a.V,a.v),b);c[2]=this.Vm(new I(a.V,a.ca),b);c[3]=this.Vm(new I(a.u,a.ca),b);for(a=b=0;4>a;++a)b= +Math.max(b,c[a]);return Math.sqrt(b)},Vm:function(a,b){return(a.X-b.X)*(a.X-b.X)+(a.Y-b.Y)*(a.Y-b.Y)}};var bb;bb=function(a){this.g=a;this.Er()}; +bb.prototype={Er:function(){var a=this;window.document.addEventListener("keydown",function(b){a.tK(b)},!1);window.document.addEventListener("keypress",function(b){a.uK(b)},!1);window.document.addEventListener("keyup",function(b){a.vK(b)},!1)},uK:function(a){if(a.repeat)a.preventDefault();else{var b=this.g.A;a=this.sn(a);null!==b&&null!==a&&this.g.rd(Fa.Ya(b.la,a))}},tK:function(a){if(a.repeat)a.preventDefault();else{var b=this.Yx(a),c=this.g.A;this.lz("onKeyDown",b)||(this.Jw(a),null!==c&&null!== +b&&void 0!==b.key&&this.g.rd(Fa.J(128,c.la,b.key,b.flags)))}},vK:function(a){var b=this.Yx(a),c=this.g.A;this.lz("onKeyUp",b)||(this.Jw(a),null!==c&&null!==b&&void 0!==b.key&&this.g.rd(Fa.J(256,c.la,b.key,b.flags)))},lz:function(a,b){return this.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess[a]&&window.ProgrammingSystemAccess[a](b.key,b.flags)?!0:!1},Yx:function(a){var b=a.keyCode,c=0;if(16<=b&&18>=b)return null;a.shiftKey&&(c|=1);a.altKey&&(c|=2);a.ctrlKey&&(c|=4);return{key:b, +flags:c}},sn:function(a){var b=0;a.charCode?b=a.charCode:a.which&&(b=a.which);if(0===b||void 0!==a.altKey&&!0===a.altKey&&48<=b&&57>=b)return null;if(void 0!==a.ctrlKey&&a.ctrlKey||void 0!==a.altKey&&a.altKey)if(void 0===a.ctrlKey||!a.ctrlKey||void 0===a.altKey||!a.altKey)return null;return String.fromCharCode(b)},VK:function(a){var b;if(void 0===this.g.getConfiguration().KeysForWebVisu||""===this.g.getConfiguration().KeysForWebVisu)return!1;var c=this.g.getConfiguration().KeysForWebVisu.split(","); +for(b=0;bb.L||c.aa>b.aa)&&this.Hq(c.scale(a))}catch(d){N.warn("Exception during resizing canvasses: "+d),this.Hq((new Ja(window.innerWidth,window.innerHeight)).scale(a))}},aR:function(a,b,c){c?(this.oi.FR(),this.Cs=this.Zz(a,"cdsClip_before_canvas",b)):(this.oi.ER(),this.Bs=this.Zz(a,"cdsClip_after_canvas",b))},Zz:function(a,b,c){a=J.xa(a.O(),b); +if(null===a)return null;a=this.Bk(a);a=new tb(a);a.LS=c;a.HR();return a},PC:function(){this.oi.aQ()},wx:function(a,b){this.Rq&&(this.g.OA(),this.Rq=!1);var c,d=this;if(this.g.Tb.Rp){for(c=0;ca?this.ll[a]:null},OM:function(a,b){this.ll[a]=b},WP:function(a){this.ll.length>a&&(this.ll[a]=null)},lt:function(){return 0=b&&(b=0);this.Ns(b)},RQ:function(a){this.bn=a},ML:function(a){this.cd=a},U:function(){return this.gb},error:function(a,b){if(!this.Yh){this.Oc||N.error(a);var c=null!==this.lb?this.lb.ErrorReconnectTime:1E4;N.info("Will restart in "+c+"ms");null!==this.A&&(this.an=new vc(this.A,this.lb));this.Es();this.lL();if(this.Oc){var d=this.Vp.ProgrammingSystemModeErrorText;window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.errorOccurred(d,a)}else d="An error happened; will automatically restart"; +if("The maximum number of visualization clients is already connected. Please try again later."===a||"Not enough memory in the PLC to create the client."===a)d=a;this.nl(d,b);this.I(new wc(this),c)}},XO:function(){this.Uu("The webvisualization license expired.","License Expired")},Uu:function(a,b){this.Yh||(N.warn(a+" Webvisualization is stopped"),this.nl(b),this.Es(),this.ML(new wc(this)))},QQ:function(a){this.Bb=a},Ns:function(a){var b=this;this.nb=window.setTimeout(function(){b.Kx()},a)},rd:function(a){null!== +this.Bb&&(this.Bb.push(a),null!==this.cd&&this.cd.qt()&&(clearTimeout(this.nb),this.Ns(0)))},pE:function(){return""!==this.getConfiguration().LoginVisu.toLowerCase()},wK:function(){if(!this.Oc){var a=this.A;null===a&&null!==this.an&&this.an.iS()&&(a=this.an.ri);null!==a&&a.la!==Ua.m&&a.Th!==Ua.xa&&(new lb(this,a)).mQ()}},lL:function(){var a=this.gb.Hl(),b;for(b=0;20>b;++b)a.restore()},WG:function(){Ka.Tj(this.sg,"ProgrammingSystemMode",!1)?(this.Oc=!0,Ka.Tj(this.sg,"ProgrammingSystemModeCefSharp", +!1)&&CefSharp.BindObjectAsync("ProgrammingSystemAccess")):this.Oc=!1},changeUpdateRate:function(a){null!==this.lb&&(aa?2*a:Math.floor(1.3*a)},lo:function(a,b){this.Dd[a]=b},OC:function(a){a>this.ma.byteLength&&this.Oz(a)},yo:function(a){this.cb>=this.ma.byteLength&&this.mL();var b=this.cb;this.cb++;this.lo(b,a)},Bo:function(a,b,c){var d=new Uint8Array(a);this.OC(this.size()+c);if(200>4)+65)+String.fromCharCode((b&15)+65)}Ha=function(){this.ma="";this.cb=0};Ha.prototype={lo:function(b,c){var d=null,e=null;0G)throw Error("Invalid start offset");if(0===u||G+u>g.byteLength)throw Error("Valid data range exceeded");this.ha=k;this.Sf=u;this.ma=g;this.s=G;this.Dd=new Uint8Array(this.ma);this.oe=l;this.M=new xc(this,this.ha)};Mb.D=function(g,k,l,G,u){return D.ZD()?new yc(g,k,l,G,u):D.bk()?new zc(g,k,l,G,u):new Mb(g,k,l,G,u)};Mb.prototype= +{xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(g){this.oe=new na(g)},ja:function(g,k){var l=g*(k?2:1);if(0>g||this.s+l>this.ma.byteLength)throw Error("INDEX_SIZE_ERR: DOM Exception 1");g=this.M.HC(this.ma,this.s,g,l,k,this.oe);this.s+=l;return g},Xe:function(g){return this.M.Xe(g)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(g){this.s=g},size:function(){return this.Sf},m:function(){return this.M.bB()}, +h:function(){return this.M.aB()},xa:function(){return this.M.dB()},Mf:function(){return this.M.Gt()},J:function(){return this.M.cB()},Uc:function(){return this.M.Ft()},Pb:function(){return this.M.eB()},Ya:function(){return this.M.Xd()},Nf:function(){return this.M.Yd()},Da:function(g){return this.Dd[g]},getUint8:function(){var g=this.Da(this.s);this.s++;return g},oj:function(){return this.ma}};var d={Int8:1,Int16:2,Int32:4,Uint16:2,Uint32:4,Float32:4,Float64:8},e;for(e in d)if(d.hasOwnProperty(e)){c(this, +e,d[e]);var f="_getFloat64";Mb.prototype[f]=Mb.prototype.m;f="_getFloat32";Mb.prototype[f]=Mb.prototype.h;f="_getInt64";Mb.prototype[f]=Mb.prototype.Ya;f="_getUint64";Mb.prototype[f]=Mb.prototype.Nf;f="_getInt32";Mb.prototype[f]=Mb.prototype.xa;f="_getUint32";Mb.prototype[f]=Mb.prototype.Mf;f="_getInt16";Mb.prototype[f]=Mb.prototype.J;f="_getUint16";Mb.prototype[f]=Mb.prototype.Uc;f="_getInt8";Mb.prototype[f]=Mb.prototype.Pb}})();var Nb;Nb=function(a){this.M=a}; +Nb.prototype={xj:function(){return this.M.xj()},Mj:function(){return this.M.Mj()},Lj:function(a){this.M.Lj(a)},ja:function(a,b){return this.M.ja(a,b)},Xe:function(a){return this.M.Xe(a)},qj:function(){return this.M.qj()},If:function(){return this.M.If()},ga:function(){return this.M.ga()},seek:function(a){this.M.seek(a)},size:function(){return this.M.size()},getFloat64:function(){this.Ad(8);return this.M.getFloat64()},getFloat32:function(){this.Ad(4);return this.M.getFloat32()},getInt32:function(){this.Ad(4); +return this.M.getInt32()},getUint32:function(){this.Ad(4);return this.M.getUint32()},getInt16:function(){this.Ad(2);return this.M.getInt16()},getUint16:function(){this.Ad(2);return this.M.getUint16()},Yd:function(){this.Ad(8);return this.M.Yd()},Xd:function(){this.Ad(8);return this.M.Xd()},getInt8:function(){return this.M.getInt8()},getUint8:function(){return this.M.getUint8()},Da:function(a){return this.M.Da(a)},oj:function(){return this.M.oj()},Ad:function(a){if(8===a||4===a||2===a){var b=this.M.ga(); +0!==b%a&&this.M.seek(b+a-b%a)}}};var yc; +yc=function(a,b,c,d,e){if(!(a instanceof ArrayBuffer))throw new TypeError("BinaryReader_DataView requires an ArrayBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.byteLength);if(!(c instanceof na))throw new TypeError("BinaryReader_DataView requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.byteLength)throw Error("Valid data range exceeded");this.ha=b;this.Pd= +new DataView(a,0,e+d);this.Sf=e;this.ma=a;this.s=d;this.oe=c;this.M=new xc(this,this.ha)}; +yc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");a=this.M.HC(this.ma,this.s,a,c,b,this.oe);this.s+=c;return a},Xe:function(a){return this.M.Xe(a)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf}, +getFloat64:function(){var a=this.Pd.getFloat64(this.s,this.ha);this.s+=8;return a},getFloat32:function(){var a=this.Pd.getFloat32(this.s,this.ha);this.s+=4;return a},Xd:function(){if("function"===typeof this.Pd.Xd){var a=this.Pd.Xd(this.s,this.ha);this.s+=8}else a=this.M.Xd();return a},Yd:function(){if("function"===typeof this.Pd.Yd){var a=this.Pd.Yd(this.s,this.ha);this.s+=8}else a=this.M.Yd();return a},getInt32:function(){var a=this.Pd.getInt32(this.s,this.ha);this.s+=4;return a},getUint32:function(){var a= +this.Pd.getUint32(this.s,this.ha);this.s+=4;return a},getInt16:function(){var a=this.Pd.getInt16(this.s,this.ha);this.s+=2;return a},getUint16:function(){var a=this.Pd.getUint16(this.s,this.ha);this.s+=2;return a},getInt8:function(){var a=this.Pd.getInt8(this.s);this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.Pd.getUint8(a)},oj:function(){return this.ma}};var zc; +zc=function(a,b,c,d,e){if("string"!==typeof a)throw new TypeError("BinaryReader_StringBased expects a string");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.length/2);if(!(c instanceof na))throw new TypeError("BinaryReader requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.length/2)throw Error("Valid data range exceeded");this.ha=b;this.Sf=e;this.ma=a;this.s=d;this.oe= +c;this.M=new xc(this,b)}; +zc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");var d=Array(a);if(b){if(this.ha)for(b=0;b=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf},getFloat64:function(){var a=this.M.bB();this.s+=8;return a},getFloat32:function(){var a=this.M.aB();this.s+=4;return a},Xd:function(){return this.M.Xd()},Yd:function(){return this.M.Yd()},getInt32:function(){var a=this.M.dB();this.s+=4;return a},getUint32:function(){var a= +this.M.Gt();this.s+=4;return a},getInt16:function(){var a=this.M.cB();this.s+=2;return a},getUint16:function(){var a=this.M.Ft();this.s+=2;return a},getInt8:function(){var a=this.M.eB();this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.ma.charCodeAt(2*a)-65<<4|this.ma.charCodeAt(2*a+1)-65},oj:function(){return this.ma}};var xc;xc=function(a,b){this.va=a;this.ha=b}; +xc.prototype={Xe:function(a){var b=this.va.ga(),c=0;if(a)for(;0!==this.va.getUint16();)c++;else for(;0!==this.va.getUint8();)c++;this.va.seek(b);b=this.va.ja(c,a);a?this.va.getUint16():this.va.getUint8();return b},bB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,8)),c=this.va.Da(this.Sb(a,1,8)),d=this.va.Da(this.Sb(a,2,8)),e=this.va.Da(this.Sb(a,3,8)),f=this.va.Da(this.Sb(a,4,8)),g=this.va.Da(this.Sb(a,5,8)),k=this.va.Da(this.Sb(a,6,8)),l=this.va.Da(this.Sb(a,7,8));a=1-2*(b>>7);b=((b<<1& +255)<<3|c>>4)-(Math.pow(2,10)-1);c=(c&15)*Math.pow(2,48)+d*Math.pow(2,40)+e*Math.pow(2,32)+f*Math.pow(2,24)+g*Math.pow(2,16)+k*Math.pow(2,8)+l;return 1024===b?0!==c?NaN:Infinity*a:-1023===b?a*c*Math.pow(2,-1074):a*(1+c*Math.pow(2,-52))*Math.pow(2,b)},aB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4)),e=this.va.Da(this.Sb(a,3,4));a=1-2*(b>>7);b=(b<<1&255|c>>7)-127;c=(c&127)<<16|d<<8|e;return 128===b?0!==c?NaN:Infinity*a:-127===b? +a*c*Math.pow(2,-149):a*(1+c*Math.pow(2,-23))*Math.pow(2,b)},dB:function(){var a=this.Gt();return a>Math.pow(2,31)-1?a-Math.pow(2,32):a},Gt:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4));a=this.va.Da(this.Sb(a,3,4));return b*Math.pow(2,24)+(c<<16)+(d<<8)+a},cB:function(){var a=this.Ft();return a>Math.pow(2,15)-1?a-Math.pow(2,16):a},Ft:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,2));a=this.va.Da(this.Sb(a,1,2));return(b<< +8)+a},eB:function(){var a=this.va.Da(this.va.ga());return a>Math.pow(2,7)-1?a-Math.pow(2,8):a},HC:function(a,b,c,d,e,f){var g=null;if(e){if(this.ha&&0===b%2)try{g=new Int16Array(a,b,c)}catch(k){}if(null===g)if(g=new Int16Array(Array(c)),b=new Uint8Array(a,b,d),this.ha)for(a=0;a>>0)+1;d=~b;4294967296<=a&&(a-=4294967296,d+=1);return-1*(a+Math.pow(2,32)*d)},Sb:function(a,b,c){return a+(this.ha?c-b-1:b)}};var Ac; +Ac=function(a,b,c){if(!(a instanceof Ga))throw new TypeError("BinaryWriter expects a BinaryBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");this.bh=a;this.ha=b;this.gd=-1;this.Us=c};Ac.D=function(a,b,c){null===c|void 0===c&&(c=(new Configuration).td());return D.bk()?new Bc(a,b,c):new Ac(a,b,c)}; +Ac.prototype={dM:function(a){var b=a.length/2,c;if(1!==b&&2!==b&&4!==b)throw Error("Unexpected size for swapping");for(c=0;ca){var d=~(-a&4294967295|0)+1|0;b[0]=d;b[1]=~(-a/4294967296|0)+!d|0}this.Eq(c,8)},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d=a.data(),e=0;ea&&(b=c=~(-a&4294967295|0)+1|0,c=~(-a/4294967296|0)+!c|0);this.Bd(this.Je(b,32,!1));this.Bd(this.Je(c,32,!1))},Ao:function(a){this.Bd(this.Gx(a,23,8))},ot:function(a){this.Bd(this.Gx(a,52,11))},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d= +a.data(),e=0;e(g=0!==k?0:g),ja=Math.floor(g=Math.abs(g)),va=g-ja,Xa;for(a=G;a;u[--a]=0);for(a=d+2;ja&&a;u[--a]=ja%2,ja=Math.floor(ja/2));for(a=d+1;0=e&&l<=d?a+1:d+1-(l=e- +1)))+1]){if(!(Xa=u[g]))for(va=g+2;!Xa&&vaa-2?-1:a-3;++a=e&&l<=d?++a:l>=1);va=g=0;a=(c=(ka?"1":"0")+c+u.slice(a,a+b).join("")).length;for(b=[];a;va=(va+1)% +8)g+=(1<-c-1||ae||0>a)this.tA("encodeInt::overflow"),a=0;for(0>a&&(a+=e);a;a=Math.floor(a/256))d[d.length]=String.fromCharCode(a%256);for(b=-(-b>>3)-d.length;b;b--)d[d.length]=String.fromCharCode(0);return(this.ha?d:d.reverse()).join("")}, +tA:function(a){throw Error(a);}};var Dc;Dc=function(a,b,c){this.M=Mb.D(a,b,c,void 0,void 0)};Dc.prototype={uj:function(){var a=0,b=0;do{var c=this.M.getUint8();a|=(c&127)<>=7;this.jf.Ra(d&127);if(0!==d>>7)throw Error("Value "+a+" cannot be written as an MBUI with "+b+" bytes");},HB:function(a){var b=0;do a>>=7,b++;while(0b&&(this.to=b-a.L,this.re.style.left=this.to+"px");this.uo+a.aa>c&&(this.uo=c-a.aa,this.re.style.top=this.uo+"px")},vH:function(a,b,c,d){var e=document.createElement("div");e.id="cdsTooltip";e.style.msUserSelect= +"none";e.style.WebkitUserSelect="none";e.style.MozUserSelect="none";e.style.userSelect="none";e.style.position="absolute";e.style.left=a+"px";e.style.top=b+"px";this.to=a;this.uo=b;e.innerHTML=c;e.style.borderStyle="solid";e.style.font=d;e.style.color=this.ej.yv;e.style.borderColor=this.ej.dv;e.style.borderWidth=this.ej.Pj+"px";e.style.padding="2px 3px 2px 3px";e.style.backgroundColor=this.ej.wv;e.style.zIndex=Va.PF;return e}};var Xc; +Xc=function(a,b,c,d){this.T=null;this.eh=this.jb=this.Ah=this.zh=this.Rd=this.Qd=this.ra=this.na=this.qd=this.pd=0;this.Ii="solid";this.Hi="";this.mc=null;this.up=this.tp=1;this.Ma=new ib(0);this.bc=a;c?(this.Z=window.document.createElement("div"),this.Z.id="cdsClip",this.Z.style.overflow="hidden",this.Z.style.position="relative",this.bc.appendChild(this.Z)):this.Z=this.bc;this.fa=b;this.fg=null;this.ta="";this.Zq=Va.Pp;this.Ub=d}; +Xc.prototype={initialize:function(){},MA:function(){},pb:function(){this.T&&this.O().parentNode===this.T?this.T.removeChild(this.O()):N.warn("Error when removing a client object. This node doesn't have a parent:"+this.O().id)},update:function(a,b,c,d,e,f,g,k,l,G,u){this.pd=a;this.qd=b;this.na=c;this.ra=d;this.Qd=e;this.Rd=f;this.zh=g;this.Ah=k;this.jb=l;this.fa.bD(G);this.rM(a,b,c,d,e,f,g,k,l,u)},lx:function(){},mx:function(a){var b=window.document.createElement("div");b.style.overflow="hidden";b.style.position= +"absolute";b.style.margin="";b.style.padding="";b.id=a;b.style.left="0px";b.style.top="0px";b.style.width=this.na+"px";b.style.height=this.ra+"px";a=J.eP(a+"_canvas",this.na,this.ra);b.appendChild(a);return b},IR:function(a){a?this.LR():this.JR()},aS:function(a,b){this.tp=a;this.up=b},O:function(){return this.bc},rM:function(a,b,c,d,e,f,g,k,l,G){var u=this;e=void 0===this.vl;void 0!==this.vl&&this.vl!==this.fa.gC()?window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G)}):(this.vl=!this.fa.gC())?(null!== +this.fg&&(this.O().removeEventListener("transitionend",this.fg,!1),this.fg=null),e?(window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,100)}),window.WebvisuInst.wo(function(){u.Xi()})):(this.Xi(),window.WebvisuInst.wo(function(){u.wi(a,b,c,d,g,k,l,G,100)}))):(e||""===G?window.WebvisuInst.wo(function(){u.Xi()}):(this.fg=function(){u.Xi()},this.O().addEventListener("transitionend",this.fg,!1)),window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,0)}))},wi:function(a,b,c,d,e,f,g,k,l){c=this.O(); +d=this.Z;g=1/this.tp;var G=1/this.up;this.We()&&this.lx();c.style.left=a+"px";c.style.top=b+"px";c.style.width=this.ag()+"px";c.style.height=this.$f()+"px";d.style.width=this.ag()+"px";d.style.height=this.$f()+"px";0d&&(e=c[d].O().nextSibling);null===e||void 0===e?this.Z.append(a.O()):this.Z.insertBefore(a.O(),e)}else for(d in c){if(bb||0>c||b>this.na||c>this.ra)throw Error("Illegal argument!");"mousedown"===a?this.mc(d.rc(),0,db.J,[],void 0):"mousemove"===a?this.mc(d.rc(),0,db.m,[],void 0):"mouseup"===a&&this.mc(d.rc(),0,db.h,[],void 0)}; +r.YM=function(a,b){if(this.Gd instanceof $c)this.fc.Sc(this,Vc.RD(a,b));else{a=a.split(".");var c=this.Gd;if(null!==c){for(var d=0;dk&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.xc().X,b=this.Wa.Ud().Y,d>k&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.Ud().X,b=this.Wa.Ud().Y,a>ja&&(a=this.Wa.xc().X-c),b>va&&(b=this.Wa.xc().Y-d),a=Math.min(Math.max(0,ja),Math.max(0,a)),b=Math.min(Math.max(0,va),Math.max(0,b)))),g=this.Wa.Gl().X-a,k=this.Wa.Gl().Y-b);Oc.prototype.update.call(this, +a,b,c,d,e,f,g,k,l,G,u);this.O().style.opacity=1;this.Aa&&(this.Aa.style.transition=u,this.it&&(this.Aa.style.backgroundColor=ka),this.Aa.style.opacity=1)}};r.Mq=function(a){return this.s.zA?this.Wa.xc().X:this.s.nt?this.Wa.Ud().X-a:this.Wa.xc().X+(this.Wa.Ud().X-this.Wa.xc().X)/2-a/2};r.ae=function(a){this.Aa&&a.appendChild(this.Aa);Oc.prototype.ae.call(this,a)}; +r.close=function(a){if(this.lA)this.lB(a);else{var b=this;this.ld(this.O(),"transitionend",function(){b.lB(a)})}this.Aa&&(this.Aa.style.opacity=0);this.O().style.transform="scale(0)";this.O().style.opacity=0};r.lB=function(a){this.Aa&&this.T===this.Aa.parentNode&&this.T.removeChild(this.Aa);a()}; +r.bL=function(){var a=this,b=D.Qb();this.ld(this.Aa,b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointermove":"mousemove",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.ld(this.Aa,"touchstart",function(c){a.Fd(c)}),this.ld(this.Aa,"touchmove",function(c){a.Fd(c)}),this.ld(this.Aa,"touchend",function(c){a.Fd(c)}))}; +r.pM=function(){var a=this,b=D.Qb();this.Aa.removeEventListener(b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointermove":"mousemove",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.Aa.removeEventListener("touchstart",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchmove",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchend",function(c){a.Fd(c)}))}; +r.Fd=function(a){this.Aa&&a.target===this.Aa&&a.stopPropagation()};r.Ej=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.lp=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.ku=function(a){if(null!==a.touches&&1<=a.touches.length){var b=J.sm(a.touches[0]);this.ms(a,b,!0)}}; +r.ms=function(a,b,c){switch(a.type){case "mouseout":case "pointerout":this.Vk?(a.preventDefault(),this.Fw(a,b)):this.Pz();break;case "mousedown":case "pointerdown":case "touchstart":a.preventDefault();this.zK(b,c);var d=this;this.g.Bi.tt(a,d,function(e){d.Ej(e)},function(e){d.Ej(e)});break;case "mousemove":case "pointermove":case "touchmove":a.preventDefault();this.ls(a,b,c);break;case "mouseup":case "pointerup":case "touchend":a.preventDefault(),this.AK(a,c)}}; +r.zK=function(a,b){b||(this.Yq=this.Z.style.cursor,this.Z.style.cursor="move");this.yc=J.Za().getBoundingClientRect();this.yc.x=0;this.yc.y=0;this.xz=this.yc.x+2;this.Zn=this.yc.x+this.yc.width-2;this.yz=this.yc.y+2;this.Yn=this.yc.y+this.yc.height-2;b=new I(parseInt(this.O().offsetLeft,10),parseInt(this.O().offsetTop,10));this.Is(a);this.bs=new I(b.X-a.X,b.Y-a.Y);this.Vk=!0};r.ls=function(a,b,c){this.Vk?this.Fw(a,b):c||this.Pz()};r.AK=function(a,b){this.Vk&&(this.bz(b),this.Vz(a))}; +r.Fw=function(a,b){this.Is(b);b.X<=this.xz||b.X>=this.Zn||b.Y<=this.yz||b.Y>=this.Yn?(this.bz(this),this.Vz(a)):(a=b.X+this.bs.X,b=b.Y+this.bs.Y,a<=this.yc.x&&(a=this.yc.x),a+this.na>=this.Zn&&(a=this.Zn-this.na),b<=this.yc.y&&(b=this.yc.y),b+this.ra>=this.Yn&&(b=this.Yn-this.ra),this.O().style.top=b+"px",this.O().style.left=a+"px")};r.bz=function(a){a||(this.Z.style.cursor=""!==this.Yq?this.Yq:"default");this.Vk=!1}; +r.Vz=function(a){if(null!==this.g.A){var b=new I(parseInt(this.O().style.left,10),parseInt(this.O().style.top,10));a=this.rj(a).Ld;this.Is(a);a=this.Hx(a);this.mc(b.rc(),0,537,[],a)}};r.Pz=function(){"move"===this.Z.style.cursor&&(this.Z.style.cursor="default")};r.Is=function(a){D.Vh()&&D.Yj(a)};var Rc;Rc=function(a,b,c){this.Ga=a;this.Vf=b;(this.Li=null!==b)&&this.Vf.appendChild(this.Ga.canvas);this.qy=c}; +Rc.prototype={O:function(){return this.Li?this.Vf:this.Ga.canvas},eR:function(a,b){this.Ga.canvas.id="cdsCanvas"+a+"_Layer_"+b.toString();this.Li&&(this.Vf.id="cdsClip"+a+"_Layer_"+b.toString())},vS:function(a,b,c,d,e,f,g,k,l,G,u){g.Qc()?(this.Ga.x=a,this.Ga.y=b,this.Ga.canvas.style.left=a+"px",this.Ga.canvas.style.top=b+"px"):this.gG(g);this.Ga.width=c;this.Ga.height=d;this.Ga.kQ=e;this.Ga.lQ=f;this.Ga.canvas.style.width=-1===this.Ga.width?"100%":c+"px";this.Ga.canvas.style.height=-1===this.Ga.height? +"100%":d+"px";this.Li&&(this.Vf.fT=u,this.Vf.style.left=k+"px",this.Vf.style.top=l+"px",this.Vf.style.width=G+"px",this.Vf.style.height=u+"px")},gG:function(a){a.right()&&(this.Ga.canvas.style.right="0px");a.left()&&(this.Ga.canvas.style.left="0px");a.top()&&(this.Ga.canvas.style.top="0px");a.bottom()&&(this.Ga.canvas.style.bottom="0px")},zu:function(){this.Ga.x=0;this.Ga.y=0;this.Ga.width=-1;this.Ga.height=-1}};var Jc; +Jc=function(a){this.T=null;this.sa=[];this.$b={};this.Qa=-1;this.mc=null;this.Gf=-1;this.kh=a;this.gr=this.Wi=null;this.ps=!1;this.ng=new cd;this.Ma=new ib(0);this.$q=null}; +Jc.prototype={uA:function(a,b){32767===a?(b.O().id="cdsDemoMode",b.O().style.zIndex=Va.cv,b.ae(J.Za()),this.$q=b):-1===this.Qa?(b.zj()||b.SB()?(b.Fg(a),this.Du(b,1),b.Gu(!0),this.ps=!0):(b.ua instanceof Jc?null===this.Wi&&(this.Wi=a):this.ps&&!this.kh?this.Du(b,a+1):this.Du(b,a),b.Gu(this.kh),b.Fg(a)),b.Kg(this.ix(a)),this.Yz(a,b)):(b.Fg(this.Qa),this.Me(this.Qa).JM(a,b))},Du:function(a,b){if(this.Ma.cm()&&!a.Ma.Qc()){var c=this.LB(a.Ma);a.KR(this.T,c,b)}else a.ae(this.T,b)},su:function(){if(-1=== +this.Qa)this.vx(),this.Ma.cm()&&this.T&&this.ng.clear(this.T),this.ps=!1;else{var a=this.Me(this.Qa);void 0!==a&&a.QP()}},tu:function(){this.vx();this.Qa=-1},Dh:function(a){for(var b=0;bb.byteLength?!0:!1:!1}};var Ua;Ua=function(){};Ua.xa=43981;Ua.m=0;Ua.Pb=1;Ua.Uc=129;Ua.h=0;Ua.J=0; +Ua.Ya=1;var id;id=function(a,b,c){this.Ks=a;this.Ls=b;this.Wz=c;this.ne=0};id.read=function(a){var b=a.getUint16(),c;if(52565!==b)throw Error("Unsupported protocol: "+b);this.Dk=a.getUint16();if(12>this.Dk)throw Error("Unsupported length of header: "+this.Dk);this.Ks=a.getUint16();this.Ls=a.getUint16();this.Wz=a.getUint32();this.ne=a.getUint32();b=this.Dk-12;16<=this.Dk&&(a.getUint16(),b-=2);for(c=0;ca.length)return"Unexpected format of service: 2";5<=a.length&&(b="true"===a[4]);return new Ta(parseInt(a[0],10),0===parseInt(a[1],10),parseInt(a[2],10),"true"!==a[3],b)}catch(c){return"Exception during readOpenConnectionResult: "+c}},JP:function(){var a=this.iA(),b;for(b=0;bb?b:4294967290===b?"Visualization is not allowed":4294967292===b?"No more memory on the plc":4294967293===b?"Connection to invalid application":4294967289===b?"Too many clients are registering at the same time":"Unknown error"}return 65410===a?"no rights":65407===a?"Visu not supported by the plc":"Unknown tag ID"}return"Unexpected format of service: 4"}catch(c){return"Exception during readVisuRegisterClientResult: "+ +c}},KP:function(){try{for(this.Md(4,3);!this.P.If();){var a=this.sh.uj();this.sh.uj();if(65407===a)return"Visu not supported by the plc";var b=this.P.getUint32();return 0===b||1===b?b:2===b?"Client registration failed":3===b?"Client registration failed due to an invalid external id":4===b?"The maximum number of visualization clients is already connected. Please try again later.":5===b?"Not enough memory in the PLC to create the client.":"Unknown error"}return"Unexpected format of service: 5"}catch(c){return"Exception during readVisuIsRegisteredClientResult: "+ +c}},MP:function(){try{return this.Md(4,2),0}catch(a){return"Exception during readVisuRemoveClientResult: "+a}},qu:function(a){var b=0===a.direction?5:2,c=132;a.status.Yb===kd.J&&(b=Ua.Pb,c=Ua.Uc);try{var d=this.Md(8,b);b={};b[c]=function(e,f){e.Gb(f,{2:function(g){a.bi.uS=g.P.getUint32();a.bi.xe=g.P.getUint32()},3:function(g){a.Bp=g.P.getUint32()},8:function(g){a.status.result=g.P.getUint16()}})};b[34]=function(e){e.P.getUint32()};b[65410]=function(e,f){e.Gb(f,{32:function(g){a.status.result=g.P.getUint16()}})}; +this.Gb(d.ne,b)}catch(e){return"Exception during readtFileAndSessionInfoResult: "+e}},FC:function(a){var b=0===a.direction?7:4,c=0;try{var d=this.Md(8,b),e=0===a.direction?a.bi.xe:a.Uh.xe,f={};0===a.direction?(f[6]=function(g){c=g.P.getUint32()},f[7]=function(g,k){a.status.se=!0;f[5](g,k)},f[5]=function(g,k){null===a.buffer&&(a.buffer=Ga.D(e));if(a.status.wd+c<=e&&c<=k){for(k=0;k=e):a.status.result=g};this.Gb(d.ne,f)}catch(g){return"Exception during readtFileAndSessionInfoResult: "+g}},GP:function(a){var b=0===a.direction?a.bi.xe:a.Uh.xe;b=a.status.result===Ua.h&&a.status.wd===b&&a.status.se?8:9;try{var c=this.Md(8,b);this.Gb(c.ne,{7:function(d){d.P.getUint16();a.status.se=!0}})}catch(d){return"Exception during readFinishFileTransferResult: "+d}},Gj:function(a){try{var b= +this.Md(4,4),c=0,d=a;this.Gb(b.ne,{132:function(e,f){e.Gb(f,{2:function(g){g.P.getUint32();var k=g.P.getUint32(),l=g.P.getUint32();g=g.P.getUint32();d=new hb(k,l,g)},4:function(){d.finish()},1:function(g){c=g.P.getUint32()},3:function(g,k){d.Wd().Bo(g.P.oj(),g.P.ga(),Math.min(k,d.aP()))}})}});return 0!==c?65535===c?"Client id not present or no longer valid":c.toString():null===d?"Unexpected format of service: 6":d}catch(e){return"Exception during readVisuGetPaintDataResult: "+e}},RL:function(a){this.P.seek(this.P.ga()+ +a)},Md:function(a,b){var c=id.read(this.P),d=4+c.Dk+c.ne;if(this.P.size()=c.HB(b.size())?2:6;c.G(b.size(),e);this.Fm(d,b)},BN:function(b){var c=this.Pc(1,2);this.yw(b,1);this.Ic(c)},yw:function(b,c){this.ea.G(34);this.ea.G(4,3);this.F.K(b);this.ea.G(37);this.ea.G(4,3);this.F.K(c)},CN:function(b,c){var d=this.Pc(1,2);b= +this.wH(b,c);this.yw(2,2);this.ea.G(129);this.Fq(b,this.ea,this.F);this.Ic(d)},It:function(b,c,d,e){if(void 0===b||null===b)b="";void 0===c&&(c=null);void 0===d&&(d=0);void 0===e&&(e=Ua.J);var f=this.Pc(1,2),g=null,k=null,l=new oa("utf-8");this.ea.G(34);this.ea.G(4,3);this.F.K(e);0!==d&&(this.ea.G(35),this.ea.G(4,3),this.F.K(d));null!==c&&(k=l.encode(c));b=l.encode(b);b=this.VI(b);null!==k&&0!==d&&e===Ua.Ya&&(g=this.UI(k,d));this.ea.G(129);this.ea.G(b.size()+(null!==g?g.size():0),2);this.Fm(this.F, +b);null!==g&&this.Fm(this.F,g);this.Ic(f)},DN:function(){var b=this.Pc(1,3);this.F.K(0);this.Ic(b)},GS:function(b,c,d,e){var f=this.Pc(4,1);b=this.F.hb(b,!1);var g=b.length()+4+1,k=this.bg(g,4,0),l=0,G=0,u=524288,ka=this.F.hb(c,!1),ja=this.F.hb(d,!1);c&&0d-b.status.wd&&(f=d-b.status.wd);d=this.bg(f,4,0);this.ea.G(6);this.ea.G(4,3);this.F.K(f);b.status.Rh=f;this.ea.G(5);this.ea.G(4+f+d,3);this.F.K(b.Bp);for(e=0;el&&(l=32);0!==l%4&&(l+=4-l%4);for(c=0;cMath.abs(a-d)&&2>Math.abs(b-e)&&2>Math.abs(c-f)}:function(a,b,c,d,e,f){return a===d&&b===e&&c===f}},FI:function(){N.m("Workaround for image "+this.hh+" without width/height activated");var a=this;D.bE(this.Oe,function(b){a.Rs(!1,b)},function(b){N.warn("Retrieving workaround image failed so going on as formerly, reason: "+b);a.Lm(3)})}};var vb; +vb=function(){this.yf={};this.hf=null;this.tm=""}; +vb.prototype={Ih:function(a){a=a.toLowerCase().split(".");var b=[],c;for(c=0;cb.length)return null;a=b[b.length-1];if(1===b.length)return this.Zi(this.kn(a));c=b[b.length-2];if(2===b.length){var d=this.yI(c);if(null!==d)return this.Zi(this.jr(a,d));d=this.lr(c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Zi(this.kn(a))}b=b.slice(0,b.length-2).join(".");d=this.lr(b);if(null!==d&&(d=this.kr(c,d),null!==d))return this.Zi(this.jr(a,d)); +d=this.lr(b+"."+c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Ih(c+"."+a)},uQ:function(a){this.hf=a},Zi:function(a){return null!==a?a.path:null},lr:function(a){var b=this.Px(a);null===b&&(b=this.zI(a));return b},Px:function(a){a=this.yf[a];return void 0!==a?a:null},zI:function(a){if(null!==this.hf){a=a.toLowerCase();var b,c=null;for(b=0;bc.length)){var d=this.mK(J.Sh(c[1]));var e=J.Sh(c[0]).toLowerCase();var f=J.Sh(c[2]).toLowerCase();var g=J.Sh(c[3]);c=this.yf[d];if(void 0===c){c={Fj:{}};var k=this.kx(e);k.entries[f]=this.Vq(f,g);c.Fj[e]=k;this.yf[d]=c}else k=c.Fj[e],void 0===k?(k=this.kx(e),k.entries[f]=this.Vq(f, +g),c.Fj[e]=k):k.entries[f]=this.Vq(f,g)}}},mK:function(a){return null===a||""===a?this.tm:a.toLowerCase()},kx:function(a){return{name:a,entries:{}}},Vq:function(a,b){return{id:a,path:b}}};var Fb;Fb=function(){};Fb.prototype={j:function(a){if(a.g.pa){var b=a.g.ba().wa();if(null!==b&&!(b instanceof Gc)&&(b=b.hd,null!==b&&void 0!==b)){b.xl();return}}a=a.g.qa;null!==a&&a.xl()}};var nd;nd=function(a,b){this.l=R.ye(b)};nd.prototype={j:function(a){a.vt();a.g.rb.Tl(this.l)}};var od; +od=function(a,b){this.l=R.ye(b)};od.prototype={j:function(a){a.getContext().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B());a.g.rb.Tl(this.l)}};var pd;pd=function(a,b){this.l=R.ye(b)};pd.prototype={j:function(a){a=a.getContext();a.save();a.beginPath();a.rect(this.l.u,this.l.v,this.l.C()+1,this.l.B()+1);a.clip()}};var qd;qd=function(){};qd.prototype={j:function(a){(a=a.g.so)&&a.QA()}};var rd; +rd=function(a,b,c,d){this.l=R.di(b,!1);this.ao=0!==b.getInt8();this._type=b.getInt8();switch(this._type){case 2:case 4:this.Xm=b.getUint32();this.Ym=b.getUint32();this.xi=b.getUint32();break;case 1:case 3:this.Yw=b.getInt16(),this.Xm=b.getUint32()}d.Zd()&&(this.l=d.gi(this.l))}; +rd.prototype={j:function(a){var b=a.getContext(),c=this.l.u,d=this.l.v,e=this.l.C(),f=this.l.B(),g=b.lineWidth;b.save();this.ko=a.g.getConfiguration().SemiTransparencyActive;a.getState().zg()?a.getState().Co(this.l):b.fillStyle=!0===this.ko?R.$a(this.Xm):R.ib(this.Xm);b.lineWidth=1;c+=.5;d+=.5;switch(this._type){case 2:case 4:this.KK(b,c,d,e,f);break;case 1:case 3:this.JK(b,c,d,e,f)}b.lineWidth=g;a.getState().zg()&&a.getState().Xl();b.restore()},uc:function(){return this.l},eO:function(){return!0=== +this.ko?R.$a(this.Ym):R.ib(this.Ym)},VN:function(){return!0===this.ko?R.$a(this.xi):R.ib(this.xi)},KK:function(a,b,c,d,e){if(!0===this.ko){var f=this.ao?R.$a(this.xi):"#000000";var g=R.$a(this.Ym);var k=R.$a(this.xi)}else f=this.ao?R.ib(this.xi):"#000000",g=R.ib(this.Ym),k=R.ib(this.xi);this.ao?(a.strokeStyle=f,a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e)):(a.fillRect(b,c,d,e),a.strokeStyle=g,a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c),a.moveTo(b,c),a.lineTo(b,c+e),a.stroke(),a.closePath(),a.strokeStyle= +f,a.beginPath(),a.moveTo(b,c+e),a.lineTo(b+d,c+e),a.lineTo(b+d,c),a.stroke(),a.closePath(),a.strokeStyle=k,a.beginPath(),a.moveTo(b+1,c+e-1),a.lineTo(b+d-2,c+e-1),a.moveTo(b+d-1,c+1),a.lineTo(b+d-1,c+e-1),a.stroke(),a.closePath())},JK:function(a,b,c,d,e){var f=new sd(this.Xm,this.Yw);if(this.ao)a.strokeStyle=R.ib(f.yB(0)),a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e);else{a.strokeStyle="#000000";a.fillRect(b,c,d,e);a.strokeRect(b,c,d,e);var g;for(g=0;g=b.ga()-a+16&&(this.wk= +!0,this.en=b.getFloat32(),this.fn=b.getFloat32(),d.Zd()&&(this.en=d.jo,this.fn=d.bj));this.Ea=null}; +Cb.prototype={j:function(a){a=a.getContext();var b=R.PE(this.l),c=this.l.clone(),d=this;this.OL(a,c,b);null!==this.Ea&&(this.Ea.loaded()?this.rk(a,this.Ea.Vo(),function(){return d.Ea.Wo()},c,!1):this.XH(a,this.l));this.QL&&(c=R.aq(a),a.strokeRect(this.l.u+c,this.l.v+c,this.l.C(),this.l.B()));this.YG(a,b)},iR:function(a){this.sf=a},YB:function(a,b){var c;this.vh&&null!==(c=b.Ih(this.sf))&&a.UP(c);if(null===this.Ea){if(a.pC())return b="ImageByImagePoolId?id="+this.sf,this.Ea=this.fj?a.tj(b,this.vh, +this.rg):a.tj(b,this.vh),this.Ea.Cg();c=b.Ih(this.sf);if(null!==c)return this.Ea=this.fj?a.tj(c,this.vh,this.rg):a.tj(c,this.vh),this.Ea.Cg();-1===this.sf.indexOf("VisuUserManagement.__VisualizationStyle.")&&N.warn("Imagepoolentry for "+this.sf+" not found");return!0}return this.Ea.Cg()},qv:function(){var a=this,b=this.l.clone();null!==this.Ea&&(this.rk(null,this.Ea.Vo(),function(){return a.Ea.Wo()},b,!0),this.Ea.bQ());return this.Jz},rk:function(a,b,c,d,e){if(this.mn&&this.wk){var f=c();f=new Ja(Math.round(this.en* +f.L),Math.round(this.fn*f.aa));d=J.fq(d,f,this);this.mn=!1;this.Em=!0}if(this.Em)e||a.drawImage(b,d.u,d.v,d.C(),d.B());else if(this.Lr){f=c();d.C()/f.L=c||0>=d||(b.save(),this.lG(b),a.getState().zg()&&a.getState().Co(this.cJ(g)),b.beginPath(),b.arc(0,0,g,this.aA,this.aA+this.eM,!1),this.uI&&(b.lineTo(0,0),b.closePath(),e&&b.fill()),b.restore(),f&&b.stroke(),a.getState().zg()&&a.getState().Xl())},cJ:function(a){return new Bb(-a,-a,a,a)},lG:function(a){var b=this.l.C(),c=this.l.B();null!==this.l.yd?this.l.yd.Do(a, +this.l):a.translate(this.l.u+.5,this.l.v+.5);a.translate(b/2,c/2);b>c?a.scale(b/c,1):a.scale(1,c/b)}};var ud;ud=function(a,b){this.ia=R.Pv(b)};ud.prototype={j:function(a){a=a.getContext();var b;for(b=0;bthis.ia.length)){a.getState().zg()&&a.getState().Co(this.cM());d&&this.UK(b);switch(this._type){case 0:this.YH(b,c,d);break;case 1:d&&this.ZH(b);break;case 2:d&&this.TH(b)}a.getState().zg()&&a.getState().Xl()}},UK:function(a){a=R.aq(a);var b;if(0!==a)for(b=0;bb&&(b=this.ia[e].X),this.ia[e].Y>d&&(d=this.ia[e].Y);return new Bb(a,c,b,d)}};var wd;wd=function(a,b,c,d){this._type=b.getUint16();switch(a){case 1:this.l=R.di(b,!0);break;case 45:this.l=R.ye(b);break;case 60:this.l=R.jF(b);break;case 61:this.l=R.iF(b)}d.Zd()&&(this.l=d.gi(this.l));this.Ek=!1;this.xM=new xd(this._type,this.l)}; +wd.prototype={j:function(a){this.Ek||(this.xM.mj(a),a.g.rb.eN())},uc:function(){return this.l},Fu:function(a){this.Ek=a}};var yd;yd=function(a,b){this._type=b.getUint16();a=b.getUint16();var c=b.getUint16();this.cj=new Ja(a,c);a=b.getUint16();c=b.getUint16();this.Ps=new Ja(a,c);b=b.getUint32();this.uM=0!==(b&1);this.vM=0!==(b&2);this.et=0!==(b&4)}; +yd.prototype={j:function(a){var b=a.getState().ys;var c=new I(b.X+this.Ps.L,b.Y+this.Ps.aa);if(this.et){var d=a.getState().ts;var e=c.X;c.X=d.X+this.Ps.L;d=e-c.X}else d=this.cj.L;c=new Bb(c.X,c.Y,c.X+d,c.Y+this.cj.aa);(new xd(this._type,c)).mj(a);this.uM&&(b.X+=this.cj.L);this.vM&&(b.Y+=this.cj.aa)}};var xd;xd=function(a,b){this._type=a;this.l=b.gP()}; +xd.prototype={UH:function(a,b,c,d,e,f,g){a.beginPath();if("function"===typeof a.ellipse){var k=d/2;e/=2;a.ellipse(b+k,c+e,k,e,0,0,2*Math.PI)}else{k=d/2*.5522848;var l=e/2*.5522848,G=b+d,u=c+e;d=b+d/2;e=c+e/2;a.moveTo(b,e);a.bezierCurveTo(b,e-l,d-k,c,d,c);a.bezierCurveTo(d+k,c,G,e-l,G,e);a.bezierCurveTo(G,e+l,d+k,u,d,u);a.bezierCurveTo(d-k,u,b,e+l,b,e);a.closePath()}f&&a.fill();g&&a.stroke()},$H:function(a,b,c,d,e,f,g){f&&a.fillRect(b,c,d,e);g&&a.strokeRect(b,c,d,e)},WH:function(a,b,c,d,e){a.beginPath(); +a.moveTo(b,c+e);a.lineTo(b+d,c);a.stroke()},mj:function(a){this.wg=a.getContext();this.Hg=a;this.x=this.l.u;this.y=this.l.v;this.w=this.l.C();this.Ec=this.l.B();this.radiusX=a.getState().ky;this.radiusY=a.getState().ly;this.fill=!a.getState().Yt();this.stroke=!a.getState().Oi;this.CC=this.l.yd;0>this.w||0>this.Ec||(this.Hg.getState().zg()&&this.Hg.getState().Co(this.l),this.NH())},NH:function(){var a=this.wg,b=this.x,c=this.y,d=this.w,e=this.Ec,f=this.radiusX,g=this.radiusY,k=this.fill,l=this.stroke, +G=this.CC;null!==G&&(a.save(),this.l.yd.Do(a,this.l));if(this.stroke&&null===this.CC){var u=R.aq(a);b+=u;c+=u}switch(this._type){case 0:this.$H(a,b,c,d,e,k,l);break;case 1:R.cE(a,b,c,d,e,k,l,f,g);break;case 2:this.UH(a,b,c,d,e,k,l);break;case 3:l&&this.WH(a,b,c,d,e);break;case 4:l&&(a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c+e),a.stroke())}null!==G&&a.restore();this.Hg.getState().zg()&&this.Hg.getState().Xl()}};var Ad; +Ad=function(a,b,c,d){if(3===a||11===a)var e=R.Nv(b);else if(46===a||47===a)e=R.lF(b);c=b.getUint32();this.dc=this.rJ(c);this.Jb=this.zM(c);this.Bw=0!==(c&16);this.BG=0!==(c&32);this.dL=0!==(c&64);this.vL=0!==(c&1024);this.et=0!==(c&2048);this.po=0!==(c&256);this.ql=0!==(c&512);this.l=R.ov(e,0!==(c&128));d.Zd()&&(this.l=d.gi(this.l));d=b.getUint16();this.ka=b.ja(d,11===a||47===a);this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka;this.Ek=!1}; +Ad.prototype={j:function(a){if(!this.Ek){this.Hg=a;this.wg=a.getContext();this.state=a.getState();if(this.dL){var b=this.state.ys;if(this.et){b=this.state.ts;var c=b.X;b=b.Y}else c=b.X,b=b.Y;a.Zd()&&(c=a.wm(c),b=a.xm(b));this.l=new Bb(c,b,c+this.l.C(),b+this.l.B())}this.OH()}},Ob:function(a){this.ka=a;this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka},uc:function(){return this.l},Qt:function(){switch(this.dc){case 1:return"LEFT";case 2:return"RIGHT";default:return"HCENTER"}},Vt:function(){switch(this.Jb){case 1:return"TOP"; +case 2:return"BOTTOM";default:return"VCENTER"}},Fu:function(a){this.Ek=a},OH:function(){var a=this.wg,b=this.state,c=this.Hg;a.save();null!==this.l.yd&&this.l.yd.Do(a,this.l);a.beginPath();a.rect(this.l.u-.5,this.l.v-.5,this.l.C()+1,this.l.B()+1);a.clip();a.fillStyle=b.hA;a.font=b.sj();var d=!1;var e=b.Gi;var f=a.font;!c.g.Yh&&(this.eG(a,c),!0===c.g.getConfiguration().AutoFontReductionActive&&this.ql||!1===c.g.getConfiguration().AutoFontReductionActive&&(this.po||this.ql))&&(d=this.iL(a,c));!1=== +d&&(this.Ui?this.As(a,c):this.Mz(a));if(this.BG){d=b.ys;var g=b.ts;d.X=this.l.u;d.Y=this.l.v;this.vL&&(g.X=d.X+1,g.Y=d.Y);d.X=this.l.u+this.hM(a)}c.g.Yh||!0!==c.g.getConfiguration().AutoFontReductionActive||!1!==this.ql||(b.cD(e),b.Lg(f));a.restore()},eG:function(a,b){var c=b.getState(),d,e;if(!0===b.g.getConfiguration().AutoFontReductionActive&&!this.ql){var f=a.font;var g=c.Gi;var k=this.l.C()+1;var l=this.l.B()+1;for(d=!0;(k>this.l.C()||l>this.l.B())&&1g&&(f=!0,d=this.BM(a,d,g,e),!1===c?(this.ka=d,this.As(a,b)):this.Ef=d);return f},BM:function(a,b,c,d){var e=!1,f="",g=!1,k=1;do{if(1===b.length)break;for(;this.Ys(a, +b.slice(0,k))g?(d=f,g=!1):(e=f,g=!0)}return!0===g?0"),this.dz?d.pP(u.u,u.v,this.ka,g.Sp):d.$M(this.ka,l,document.getElementById("background").width, +document.getElementById("background").height)):(c.save(),this.VH(c,f,u,g,G,e,k.lineHeight),this.dz&&(a=new Bb(0,0,0,0)),null!==a&&u.No(a)||this.EL(b.g,u),a=u,c.restore())},EL:function(b,c){var d=new Fa(513,b.A.la,0,0),e=Ga.D(8),f=Ac.D(e,!0);f.Dc(Math.floor(c.u));f.Dc(Math.floor(c.v));f.Dc(Math.ceil(c.V));f.Dc(Math.ceil(c.ca));d.Nb(e);b.Bb.push(d)},CG:function(b,c,d){var e=new Ja(0,0),f=b.font,g,k=0;b.font=c.Sp;for(g=0;g=b.C()?f=this.s.X-20-d.L-c.L:f=this.s.X+20,this.s.Y+20+c.aa>=b.B()?g=this.s.Y-20- +c.aa:g=this.s.Y+20;0>f&&(f=c.Lg&&(g=c.aa=b.ga()-d+10?(a=b.getUint16(),this.Xw=b.ja(a,!1)):this.Xw=""}; +Dd.prototype={j:function(){switch(this.cH){case 0:N.warn("The functionality start process is not possible in the webvisualization.");break;case 1:case 2:case 3:N.warn("The functionality printing is not possible in the webvisualization.");break;case 4:this.iK()}},iK:function(){"replace"===this.Xw?window.location.href=this.Ww:window.open(this.Ww)}};var Ed;Ed=function(a,b){this.pk=b.getUint8();this.pk=0===this.pk?2:3;this.gn=new Fd(b)}; +Ed.prototype={j:function(a){var b=new Gd(0,this.pk,this.gn.jh,null,this.gn);a.g.Kj(b)}};var Hd;Hd=function(a,b,c,d){a=d.g.i;c=0;this.Jc=b.getUint32();d=b.getUint16();this.gt=b.ja(d,!1);d=b.getUint32();null===a.buffer&&(a.buffer=Ga.D(d));for(;c=b.ga()-a+12&&(this.Qq=0===(b.getUint32()&1))}; +Kb.prototype={j:function(a){a.on.mt(this.l);this.Qq&&(a.xg().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B()),J.UO(a,this.l));a.g.rb.Tl(this.l)}};var Nd; +Nd=function(a,b){var c;this.Bx=b.getUint32();this.fI=b.getUint32();a=b.getUint16();this.Zy=b.ja(a,!1);a=b.getUint32();var d=b.getUint16();this.Id=[];this.sz=!1;try{for(c=0;c=c&&c-8192>4&15]+a[d&15]};var c=function(d){return d&255};R=function(){};R.ii=50;R.pv=0;R.em=1;R.Qj=2;R.dm=3;R.ei=function(d){var e=d.getInt16();d=d.getInt16();return new I(e,d)};R.jq=function(d){var e=d.getFloat32();d=d.getFloat32();return new I(e,d)};R.sw=function(d,e){var f=[],g;for(g=0;4>g;++g)f[g]=e(d);return f};R.Nv=function(d){return R.sw(d,R.ei)};R.kF=function(d){return R.sw(d,R.jq)};R.lF=function(d){var e=[];e[0]=R.ei(d);e[2]= +R.ei(d);e[1]=new I(e[2].X,e[0].Y);e[3]=new I(e[0].X,e[2].Y);return e};R.eF=function(d){return d[1].Y!==d[0].Y||d[2].X!==d[1].X||d[3].Y>16)+b(d>>8)+b(d)};R.$a=function(d){var e=d>>24&255;if(255===e)return"#"+b(d>>16)+b(d>>8)+b(d);e/=255;return"rgba("+ +c(d>>16)+", "+c(d>>8)+", "+c(d)+", "+e+")"};R.aq=function(d){return 1===d.lineWidth%2?.5:0};R.Yp=function(d){return 0<=d.indexOf("\n")||0<=d.indexOf("\r")};R.Nh=function(d,e,f){return e>d.length-1?d:d.substr(0,e)+f+d.substr(e+1)};R.fF=function(d){var e,f;var g=d.length;var k=e=0;for(f=R.pv;ef&&0!==(g&256)){var G=1,u=0,ka=0,ja=0,va=-1;for(g=0;g=va?(u+=Xa," "===l&&(ja=u,va=g)):(++G,ka=Math.max(u,ja),u=u-ja+Xa))}ka=Math.max(u,ka);return new I(ka,G*J.Pb(d))}return new I(l, +J.Pb(d))};R.pq=function(d,e){e=R.zF(e);var f=[],g;for(g=0;gu||0>ka?ja=Math.max(1,Math.min(g,k)/8):ja=u;d.beginPath();d.moveTo(e+ja,f);d.lineTo(e+g-ja,f);d.quadraticCurveTo(e+g,f,e+g,f+ja);d.lineTo(e+g,f+k-ja+.5);d.quadraticCurveTo(e+g,f+k,e+g-ja,f+k);d.lineTo(e+ja+.5,f+k); +d.quadraticCurveTo(e,f+k,e,f+k-ja+.5);d.lineTo(e,f+ja);d.quadraticCurveTo(e,f,e+ja+.5,f);d.closePath();l&&d.fill();G&&d.stroke()}})();var jf;jf=function(a,b,c,d){a=b.getUint32();!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(a):this.kb=R.ib(a)};jf.prototype={j:function(){J.Za().style.backgroundColor=this.kb}};var Oe;Oe=function(a,b){this.cK=b.getUint16();this.dK=b.getUint16();a=b.getUint16();this.ka=b.ja(a,!1)}; +Oe.prototype={j:function(){var a=J.h("Message ID: {0} Message description: {1}",this.dK,this.ka);switch(this.cK){case 0:break;case 1:N.info(a);break;case 2:N.warn(a);break;case 4:case 8:N.error(a);break;case 16:N.m(a);break;default:N.h("Unknown log level")}}};var Ve;Ve=function(a,b){this.gK=1===b.getUint16()?"copy":"source-over"};Ve.prototype={j:function(a){a.getContext().globalCompositeOperation=this.gK}};var qe; +qe=function(a,b){this.gA=b.getUint16();this.tg=b.getUint32();this.Uv=8;this.gA===this.Uv&&this.tg&&b.Lj("utf-8")}; +qe.prototype={j:function(a){switch(this.gA){case 1:a=a.g.qg;null!==a&&a.VR(this.tg/100);break;case 2:a=a.g.qg;null!==a&&a.NQ(this.tg/100);break;case 3:a=a.g.qg;null!==a&&a.SR(!!this.tg);break;case 4:a.g.getConfiguration().AutoFontReductionActive=!0;break;case 6:mc.prototype.hS(0!==this.tg);break;case 7:a.g.getConfiguration().XhrSendTimeout=this.tg;break;case this.Uv:a.g.getConfiguration().vq=!!this.tg,this.tg&&(a.g.getConfiguration().ANSIStringEncoding="utf-8")}}};var $d; +$d=function(a,b){switch(b.getUint16()){case 0:this.kc="pointer";break;case 1:this.kc="default";break;case 2:this.kc="pointer";break;case 3:this.kc="wait";break;case 4:this.kc="text";break;case 5:this.kc="crosshair";break;case 6:this.kc="help";break;case 7:this.kc="col-resize";break;case 8:this.kc="row-resize";break;case 9:this.kc="nw-resize";break;case 10:this.kc="ne-resize";break;case 11:this.kc="w-resize";break;case 12:this.kc="s-resize";break;case 13:this.kc="pointer";break;default:this.kc="default"}}; +$d.prototype={j:function(a){a.g.pa?(a=a.g.ba().wa(),null!==a&&(a=a.Z,null!==a&&(a.style.cursor=this.kc))):a.Hl().canvas.style.cursor=this.kc}};var Td;Td=function(a,b,c,d){a=b.getUint32();b=b.getUint32();this.xr=1===(a&1);!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(b):this.kb=R.ib(b)};Td.prototype={j:function(a){a.getState().Eu(this.kb,this.xr)},Ro:function(){return this.kb}};var Vd;Vd=function(a,b,c,d){this.od=R.Ov(b,d)}; +Vd.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var cf;cf=function(a,b,c,d){this.od=R.oF(b,d)};cf.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var ae; +ae=function(a,b,c,d){c=1===b.getUint32();var e=b.getUint32(),f=b.getUint32();if(30===a){var g=b.getUint32();var k=b.getUint32()/100;var l=b.getUint32()/100;var G=b.getUint32();var u=0===b.getUint32();b.getUint32();b=b.getUint32()}else g=b.getUint16(),k=b.getUint8()/100,l=b.getUint8()/100,G=b.getUint8(),u=!0,b=0;!0===d.g.getConfiguration().SemiTransparencyActive?(e=R.$a(e),f=R.$a(f),30===a&&(b=R.$a(b))):(e=R.ib(e),f=R.ib(f),30===a&&(b=R.ib(b)));this.iJ=new ab(c,e,f,g,k,l,G,u,b)};ae.prototype={j:function(a){a.getState().dR(this.iJ)}}; +var fe;fe=function(a,b,c,d){this.mb=b.getUint32();d.g.getConfiguration().SemiTransparencyActive=2===(this.mb&2);d.g.getConfiguration().IecSupportsCommonMiterLimit=8===(this.mb&8)};fe.prototype={j:function(a){a=a.g.qa;null!==a&&(a.g.N.dD(1===(this.mb&1)),a.xp(0!==(this.mb&4)))}};var Me; +Me=function(a,b,c){a=b.ga();var d=b.getUint16();var e=b.ja(d,!1);d=b.getUint16();d=b.ja(d,!1);""!==e&&(d=e+"."+d);this.sf=d;this.l=R.di(b,!0);this.l.normalize();e=b.getUint32();this.Lr=0!==(e&1);this.Em=0!==(e&2);this.mn=0!==(e&4);this.vr=0!==(e&128);this.Hs=0!==(e&256);this.ft=0!==(e&1024);this.Lq=0!==(e&2048);this.vh=0!==(e&4096);this.wk=!1;c>=b.ga()-a+16&&(this.wk=!0,this.en=b.getFloat32(),this.fn=b.getFloat32());this.Ea=null}; +Me.prototype={j:function(a){var b=a.g.ba().wa(),c=this;this.Hg=a;window.WebvisuInst.yl(function(){var d=c.sH(c.Hg);b.hR(d,c)})},uc:function(){return this.l.clone()},sH:function(a){var b=new Image;var c=a.cg.Ih(this.sf);null===c?b.src="#":b.src=c;c=b.src;this.vh&&(b.src+="?"+J.m());J.wq(c)&&(D.lq()?this.KM():a.g.getConfiguration().WorkaroundDisableSVGAspectRatioWorkaround||(b.src+="#svgView(preserveAspectRatio(none))"));b.style.position="absolute";b.style.msUserSelect="none";b.style.WebkitUserSelect= +"none";b.style.MozUserSelect="none";b.style.userSelect="none";return b},KM:function(){N.warn("Anisotropic scaling of Svg images in Safari is not supported because of known bugs in WebKit. The default (isotropic) scaling is used instead.")}};var he; +he=function(a,b,c,d){var e;a=b.getUint16();var f=[];for(c=0;c=b.ga()-e+11?(c=b.getUint16(),this.ff=k[0],0!==(c&0)&&(this.ff=k[0]),0!==(c&1)&&(this.ff=k[1]),0!==(c&2)&&(this.ff=k[2]),c=b.getUint16(),this.gf=l[0],0!==(c&0)&&(this.gf=l[0]),0!==(c&1)&&(this.gf=l[1]),0!==(c&2)&&(this.gf=l[2]),b=b.getUint16(),d.g.getConfiguration().IecSupportsCommonMiterLimit? +this.Of=b/2:this.Of=1===b?1.7*a:2*b):(this.ff=k[0],this.gf=l[0],d.g.getConfiguration().IecSupportsCommonMiterLimit?this.Of=1.5:this.Of=1.7*a)};Ud.prototype={j:function(a){a.getState().Hu(this.na,this.kb,this.wf,this.ff,this.gf,this.Of)},C:function(){return this.na},Ro:function(){return this.kb}};var ge; +ge=function(a,b,c){this.ya=[];var d=null;a=b.ga();for(var e,f;b.ga()-a>16,f=b.ga()+f,this.aL(b,d,e),b.seek(f))}; +ge.prototype={j:function(a){var b=a.g.qa;if(a.g.pa){var c=a.g.ba().wa();if(null!==c&&!(c instanceof Gc)){var d=c.hd;null!==d?d.Lu(this.ya):c.kR(a.g,Xb.QD(this.ya,a.g));b.uu(c);for(d=0;d {1}",J.Uc(b.info().scroll().Sa().Bc),J.Uc(b.info().scroll().Sa().Ac)));b.$(Uc.ow)&&N.m(J.h(" Zoomlimits: {0} -> {1}",b.info().zoom().Sa().Bc,b.info().zoom().Sa().Ac))}}};var Xd;Xd=function(a,b){this.uG=1===b.getUint16()};Xd.prototype={j:function(a){this.uG?a.NC():a.XP()}};var te;te=function(a,b){this.VB=b.getInt16();this.WB=b.getInt16()}; +te.prototype={j:function(a){a.getState().NR(this.VB,this.WB)}};var df;df=function(a,b){a=b.getUint16();this.Ke=b.ja(a,!1);this.zk=b.getUint32();this.Ak=b.getUint16();this.wG=b.getUint32();this.hk=b.getUint32();this.Fi=b.getUint32()};df.prototype={j:function(a){var b=a.g.so;a=new Qb(this.Ke,this.Ak,this.zk,this.hk,this.wG,this.Fi);null!==b&&b.YR(a)}};var ee;ee=function(a,b){a=b.getUint16();this.ka=b.ja(a,!1)}; +ee.prototype={j:function(a){a.g.getConfiguration().ChangeWindowTitle&&(window.document.title=this.ka);a.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.setVisualizationName(this.ka)}};var Wd;Wd=function(a,b){this.l=R.ye(b)};Wd.prototype={j:function(a){a.getContext().restore();a.getState().apply()}};var gf;gf=function(a,b){this.ec=b.getUint32()};gf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.yQ(this.ec))}};var hf;hf=function(a,b){this.uJ=b.getUint16()}; +hf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.zQ(this.uJ))}};var Re;Re=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Re.prototype={j:function(a){var b=this.wn.length-1,c=a.g.ba();for(a=0;a<=b;++a)c.Lh()}};var xe;xe=function(a,b){this.ta=b.getInt16()};xe.prototype={j:function(a){a.g.ba().Lh()}};var ue; +ue=function(a,b){this.ta=b.getInt16();a=b.getUint32();this.pJ=0!==(a&1);this.GJ=0!==(a&2);this.nJ=0!==(a&4);this.oJ=0!==(a&16);this.lM=0!==(a&8);this.vG=0!==(a&32);this.aH=0===(a&64);this.ik=0===(a&128);this.$i=0!==(a&1024);this.Ma=new ib(a);this.En=this.Ma.cm()}; +ue.prototype={j:function(a){this.kL(a);var b=Xb.SD(a.g,this.nJ,this.oJ,this.pJ,this.GJ,this.lM,this.vG,this.aH);b.$Q(this.Ma);a.g.ba().uA(this.ta,b);b instanceof Oc&&(b.WC(this.ik),b.kD(this.$i));b.initialize()},kL:function(a){this.Ma.Qc()||a.PC()}};var Ce;Ce=function(a,b){this.zc=b.getInt16()};Ce.prototype={j:function(a){a.g.ba().wa().KN()}};var ze;ze=function(a,b,c){this.zc=b.getInt16();this.Li=2=b.ga()-a+9?(this.Tw=b.getInt16(),this.Uw=b.getInt16(),this.Sw=b.getInt16(),this.Rw=b.getInt16()):(this.Uw=this.Tw=0,this.Rw=this.Sw=-1)};Ae.prototype={j:function(a){a.g.ba().wa().yS(this.pd,this.qd,this.na,this.ra,this.zL,this.AL,this.iG,this.Tw,this.Uw,this.Sw,this.Rw)}};var Se;Se=function(a,b){this.si=b.getInt16()}; +Se.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).SQ(this.si)}};var Ne;Ne=function(a,b){this.Gf=b.getUint8()};Ne.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).Ou(this.Gf)}};var Te;Te=function(a,b){this.wL=b.getFloat32();this.xL=b.getFloat32()};Te.prototype={j:function(a){a.g.ba().wa().aS(this.wL,this.xL)}};var Ee; +Ee=function(a,b){this.eh=b.getInt16();a=b.getInt16();switch(a){case 0:case 5:this.Ii="solid";break;case 1:this.Ii="dashed";break;case 2:case 3:case 4:this.Ii="dotted"}this.IJ=5===a;this.Hi=b.getUint32()};Ee.prototype={j:function(a){var b=this.IJ?R.$a(this.Hi&16777215):!0===a.g.getConfiguration().SemiTransparencyActive?R.$a(this.Hi):R.ib(this.Hi);a.g.ba().wa().ZQ(this.eh,this.Ii,b)}};var De; +De=function(a,b){this.Tk=b.getInt32();this.Uk=b.getInt32();this.Qk=b.getInt32();this.Rk=b.getInt32();this.lf=b.getInt32();this.mf=b.getInt32()};De.prototype={j:function(a){a.g.ba().wa().Mu(this.Tk,this.Uk,this.Qk,this.Rk,this.lf,this.mf)}};var ye;ye=function(){};ye.prototype={j:function(a){a.g.ba().su();var b=a.getContext(),c=a.g.ba().wa();b.save();b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,b.canvas.width,b.canvas.height);b.restore();null!==c&&c.MA();a.g.rb.Tl(this.l)}};var Qe; +Qe=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Qe.prototype={j:function(a){var b,c=this.wn.length-1;for(b=0;b<=c;b++)a.g.ba().Ql(this.wn[b])}};var we;we=function(a,b){this.ta=b.getInt16()};we.prototype={j:function(a){a.g.ba().Ql(this.ta)}};var ve;ve=function(a,b){this.pd=b.getInt16();this.qd=b.getInt16();this.na=b.getInt16();this.ra=b.getInt16();this.Qd=b.getInt16();this.Rd=b.getInt16();this.zh=b.getInt16();this.Ah=b.getInt16();this.jb=b.getInt16();this.nd=b.getInt16();this.Te=b.getUint32()}; +ve.prototype={j:function(a){this.nd||(this.nd=0);var b=a.g.ba().wa(),c="",d=this;0b?this.nc.push(a):this.nc[b]=a},Ev:function(a){a=this.tn(a);return 0>a?null:this.nc[a]},tF:function(){this.Gn=-1},tn:function(a){for(var b=0;b=d.LowerBorder&&b<=d.UpperBorder?!0:!1:this.By(b,a)?!0:this.SJ(b,a)?!0:!1}}catch(f){return!1}},Mw:function(a,b){return null===a||void 0===a||a.length>b-1?!1:!0},By:function(a,b){switch(b){case Af.EF:case Af.DF:return this.AO(a); +case Af.FF:case Af.NF:return this.OO(a);case Af.OF:case Af.MF:return this.MO(a);case Af.HF:case Af.LF:case Af.ew:case Af.Vv:case Af.Wv:case Af.fw:return this.LO(a);case Af.dw:case Af.gw:case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.NO(a);case Af.KF:return this.JO(a);case Af.JF:return this.CO(a);case Af.GF:return this.BO(a);case Af.$v:return this.EO(a);case Af.sq:return this.HO(a);case Af.aw:return this.FO(a);default:return!1}},SJ:function(a,b){return(b=this.$s.we(b))&&b instanceof Ff?this.By(a, +b.sd()):!1},AO:function(a){return 0===a||1===a},OO:function(a){return a>=Bf.ME&&a<=Bf.LE},MO:function(a){return a>=Bf.IE&&a<=Bf.HE},LO:function(a){return a>=Bf.GE&&a<=Bf.FE},NO:function(a){var b=BigInt(Cf.KE),c=BigInt(Cf.JE);var d=a;"bigint"!==typeof a&&(d=BigInt(a));return d>=b&&d<=c},JO:function(a){return a>=Bf.EE&&a<=Bf.DE},CO:function(a){return a>=Bf.wE&&a<=Bf.vE},BO:function(a){return a>=Bf.uE&&a<=Bf.tE},EO:function(a){var b=BigInt(Cf.yE),c=BigInt(Cf.xE);var d=a;"bigint"!==typeof a&&(d=BigInt(a)); +return d>=b&&d<=c},HO:function(a){return a>=Bf.CE&&a<=Bf.BE},FO:function(a){return a>=Bf.AE&&a<=Bf.zE},yA:function(a,b){switch(a){case Af.ew:case Af.fw:return Number(b.valueOf());case Af.Vv:case Af.Wv:return this.QM(b.valueOf());case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.RM(BigInt(b.valueOf()))}return b},QM:function(a){return Math.floor(Number(a)/1E3)},RM:function(a){return BigInt(a)*BigInt(1E6)}}; +Af={EF:0,DF:1,FF:2,OF:3,HF:4,dw:5,KF:6,JF:7,GF:8,$v:9,NF:10,MF:11,LF:12,gw:13,sq:14,aw:15,ji:16,Qg:17,ew:18,Vv:19,Wv:20,fw:21,bw:37,Yv:46,Zv:47,cw:48};Bf={ME:0,LE:255,IE:0,HE:65535,GE:0,FE:4294967295,EE:-128,DE:127,wE:-32768,vE:32767,uE:-2147483648,tE:2147483647,CE:-3.402823466E38,BE:3.402823466E38,AE:-1.7976931348623157E308,zE:1.7976931348623157E308};Cf={KE:"0",JE:"0xffffffffffffffff",yE:"-9223372036854775808",xE:"9223372036854775807"};var $c; +$c=function(a,b,c,d,e){this.Ci=a;this.Fn=b;this.Xq=c;this.bG=d;this.Um=e;void 0===this.Um&&(this.Um=!1);this.Um||this.Fn.push("webvisu-support.js")}; +$c.prototype={Ct:function(a,b,c,d,e){b=' + + + + + +
+ Webvisu not supported due to missing browser feature HTML5-Canvas + Webvisu not supported due to missing browser feature HTML5-Canvas +
+ + diff --git a/codesys-hde2e/plc/Control_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js b/codesys-hde2e/plc/Control_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js new file mode 100644 index 0000000..adeb947 --- /dev/null +++ b/codesys-hde2e/plc/Control_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js @@ -0,0 +1,897 @@ +// CAS: "1.0.0" +// This software uses the following Open Source software: +// - a simplified (and thus modified) version of stringencoding +// * Licensed under Apache License 2.0 and Unlicense (can be found here: http://www.apache.org/licenses/, http://unlicense.org/) +// * Source: https://github.com/inexorabletash/text-encoding +// - requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// * MIT license +// * Source: https://gist.github.com/paulirish/1579671 +// - a simplified (and thus modified) version of the Microsoft Research JavaScript Cryptography Library (msrCrypto) +// * Licensed under Apache License 2.0 (can be found here: http://www.apache.org/licenses/LICENSE-2.0) +// * Source: https://github.com/microsoft/MSR-JavaScript-Cryptovar r,na,oa; +(function(){function a(ca){var da=0;this.get=function(){return da>=ca.length?-1:Number(ca[da])};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function b(ca){var da=0;this.get=function(){return da>=ca.length?-1:ca[da]};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function c(ca){var da=0;this.h=function(ea){var ba=-1, +Aa;for(Aa=0;Aa=Ia)if(56320<=Ia&&57343>=Ia)ba.push(65533);else if(Aa===qb-1)ba.push(65533);else{var xa=ca.charCodeAt(Aa+1);56320<=xa&&57343>=xa?(Ia&=1023,xa&=1023,Aa+=1,ba.push(65536+(Ia<<10)+xa)):ba.push(65533)}else ba.push(Ia);Aa+=1}return ba}();this.offset=function(ba){da+=ba;if(0>da)throw Error("Seeking past start of the buffer"); +if(da>ea.length)throw Error("Seeking past EOF");};this.get=function(){return da>=ea.length?-1:ea[da]}}function e(){var ca="";this.m=function(){return ca};this.h=function(da){65535>=da?ca+=String.fromCharCode(da):(da-=65536,ca+=String.fromCharCode(55296+(da>>10&1023)),ca+=String.fromCharCode(56320+(da&1023)))}}function f(ca,da){if(ca)throw Error("EncodingError");return da||65533}function g(){throw Error("EncodingError");}function k(ca){ca=String(ca).trim().toLowerCase();if(Object.prototype.hasOwnProperty.call(va, +ca))return va[ca];throw Error("EncodingError: Unknown encoding: "+ca);}function l(ca){var da=ca.fatal,ea=0,ba=0,Aa=0,qb=0;this.decode=function(Ia){var xa=Ia.get();if(-1===xa)return 0!==ba?f(da):-1;Ia.offset(1);if(0===ba){if(0<=xa&&127>=xa)return xa;if(194<=xa&&223>=xa)ba=1,qb=128,ea=xa-192;else if(224<=xa&&239>=xa)ba=2,qb=2048,ea=xa-224;else if(240<=xa&&244>=xa)ba=3,qb=65536,ea=xa-240;else return f(da);ea*=Math.pow(64,ba);return null}if(!(128<=xa&&191>=xa))return qb=Aa=ba=ea=0,Ia.offset(-1),f(da); +Aa+=1;ea+=(xa-128)*Math.pow(64,ba-Aa);if(Aa!==ba)return null;Ia=ea;xa=qb;qb=Aa=ba=ea=0;return xa<=Ia&&1114111>=Ia&&!(55296<=Ia&&57343>=Ia)?Ia:f(da)}}function G(){this.encode=function(ca,da){var ea=da.get();if(-1===ea)return-1;da.offset(1);if(55296<=ea&&57343>=ea)return g(ea);if(0<=ea&&127>=ea)return ca.h(ea);if(128<=ea&&2047>=ea){var ba=1;var Aa=192}else 2048<=ea&&65535>=ea?(ba=2,Aa=224):65536<=ea&&1114111>=ea&&(ba=3,Aa=240);for(da=ca.h(Math.floor(ea/Math.pow(64,ba))+Aa);0=Aa)return Aa;ba=ca[Aa-128];return null===ba?f(ea):ba}}function ka(ca){this.encode=function(da,ea){var ba=ea.get();if(-1===ba)return-1;ea.offset(1);if(0<=ba&&127>=ba)return da.h(ba);ea=ca.indexOf(ba);ea=-1===ea?null:ea;null===ea&&g(ba);return da.h(ea+128)}}var ja={},va={};[{encodings:[{labels:"csisolatin2 iso-8859-2 iso-ir-101 iso8859-2 iso_8859-2 l2 latin2".split(" "), +name:"iso-8859-2"},{labels:"csisolatin3 iso-8859-3 iso_8859-3 iso-ir-109 l3 latin3".split(" "),name:"iso-8859-3"},{labels:"csisolatin4 iso-8859-4 iso_8859-4 iso-ir-110 l4 latin4".split(" "),name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso_8859-5","iso-ir-144"],name:"iso-8859-5"},{labels:"arabic csisolatinarabic ecma-114 iso-8859-6 iso_8859-6 iso-ir-127".split(" "),name:"iso-8859-6"},{labels:"csisolatingreek ecma-118 elot_928 greek greek8 iso-8859-7 iso_8859-7 iso-ir-126".split(" "), +name:"iso-8859-7"},{labels:"csisolatinhebrew hebrew iso-8859-8 iso-8859-8-i iso-ir-138 iso_8859-8 visual".split(" "),name:"iso-8859-8"},{labels:"csisolatin6 iso-8859-10 iso-ir-157 iso8859-10 l6 latin6".split(" "),name:"iso-8859-10"},{labels:["iso-8859-13"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14"],name:"iso-8859-14"},{labels:["iso-8859-15","iso_8859-15"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:"ascii ansi_x3.4-1968 csisolatin1 iso-8859-1 iso8859-1 iso_8859-1 l1 latin1 us-ascii windows-1252".split(" "), +name:"windows-1252"},{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"Legacy single-byte encodings"}].forEach(function(ca){ca.encodings.forEach(function(da){ja[da.name]=da;da.labels.forEach(function(ea){va[ea]=da})})});var Xa={"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357, +378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180, +181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173, +381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030, +1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138, +139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null, +null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952, +953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280, +203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262, +196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767, +7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176, +177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169, +536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382, +376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]};ja["utf-8"].AB=function(ca){return new G(ca)};ja["utf-8"].zB=function(ca){return new l(ca)};(function(){"iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-10 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 windows-1252".split(" ").forEach(function(ca){var da= +ja[ca],ea=Xa[ca];da.zB=function(ba){return new u(ea,ba)};da.AB=function(ba){return new ka(ea,ba)}})})();oa=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.Ts=!1;this.zi=null;this.os={fatal:!!da.fatal};Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};oa.prototype={encode:function(ca,da){ca=ca?String(ca):"";da=Object(da);this.Ts||(this.zi=this.uk.AB(this.os));this.Ts=!!da.stream;da=[];var ea=new c(da);for(ca= +new d(ca);-1!==ca.get();)this.zi.encode(ea,ca);if(!this.Ts){do var ba=this.zi.encode(ea,ca);while(-1!==ba);this.zi=null}return new Uint8Array(da)}};na=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.os={fatal:!!da.fatal};this.yb=this.uk.zB(this.os);Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};na.prototype={decode:function(ca){if(ca&&!("buffer"in ca&&"byteOffset"in ca&&"byteLength"in ca))throw new TypeError("Expected ArrayBufferView"); +ca=new Uint8Array(ca.buffer,ca.byteOffset,ca.byteLength);return this.qx(new a(ca))},yN:function(ca){if(!ca)throw new TypeError("Expected array of bytes");return this.qx(new b(ca))},qx:function(ca){for(var da=new e,ea;-1!==ca.get();)ea=this.yb.decode(ca),null!==ea&&-1!==ea&&da.h(ea);return da.m()}}})(); +(function(a,b){void 0!==window.Promise&&("function"===typeof define&&define.$S?define([],function(){return a.msrCrypto=b(a)}):"object"===typeof exports?module.exports=b(a):a.msrCrypto=b(a))})(this,function(a){a=a||{};return function(){function b(h,p,A){function Q(){if(!A||!A.Vd)throw Error("missing hash function");}var E=c(h);if(!p)throw Error("padding mode");var t=null,m=null;switch(p){case "RSAES-PKCS1-V1_5":h=Zb.GT(h);break;case "RSASSA-PKCS1-V1_5":Q();h=Zb.HT(h,A);break;case "RSA-OAEP":Q();h= +Zb.lP(h,A);break;case "RSA-PSS":Q();h=Zb.JT(h,A);break;case "raw":h={mp:function(q){return q},Dp:function(q){return q}};break;default:throw Error("invalid mode");}h&&(t=h.mp||h.sign,m=h.Dp||h.verify);return{encrypt:function(q,y){q=null!==t?t(q,y):q.slice();return E.encrypt(q)},decrypt:function(q,y){q=E.decrypt(q);if(null!==m){q=m(q,y);if(!1===q.valid)throw Error("OperationError");q=q.data}else q=q.slice(0);return q},bS:function(q,y,C){return E.decrypt(t(q,y,C))},CS:function(q,y,C){q=E.encrypt(q); +return m(q,y,C)},Fl:function(q){genRsaKeyFromRandom(q)},mode:p}}function c(h){function p(q){q=la.iB(q);Q.rP(q,0,m);return q}function A(q,y,C){y=la.Ch(y);C=la.OE(C);q=C.rN(q);return C.bP(q,y).Xa}var Q=ba,E=h.hasOwnProperty("n")&&h.hasOwnProperty("d"),t=h.hasOwnProperty("p")&&h.hasOwnProperty("q"),m=h.n.length;return{encrypt:function(q){return p(A(q,h.e,h.n,!0))},decrypt:function(q){if(t){var y=la.Ch,C=h.q,M=h.dp,B=h.dq,v=h.qi,F=y(h.p);C=y(C);var H=Array(F.length+C.length),O=Array(F.length+1),U=Array(C.length+ +1);q=y(q);var ia=la.Wh,Z=new ia(h.Dt?void 0:F,h.Dt);ia=new ia(h.Et?void 0:C,h.Et);Z.reduce(q,H);Z.Cj(H,y(M),O);ia.reduce(q,H);ia.Cj(H,y(B),U);M=la.Tc(O,U,H);0!==M&&la.Tc(U,O,H);la.rC(H,y(v),F,q);0!==M&&la.Tc(F,q,q);la.multiply(q,C,H);la.add(U,H,O);return p(O)}if(E)return y=A(q,h.d,h.n),p(y);throw Error("missing private key");}}}function d(h){function p(X,x){for(var n=Math.floor(x.length/16),z,w=0;wS;S++){var L= +-(z[Math.floor(S/8)]>>7-S%8&1)&255;for(K=0;16>K;K++)W[K]^=T[K]&L;L=-(T[15]&1)&255;K=T;for(var P=K.length-1;0>>1;K[0]>>>=1;T[0]^=225&L}O=W}U=x.slice(16*n);return O}function A(){var X=16*Math.ceil(ma/16)-ma,x=t(8*M.length),n=t(8*ma);X=U.concat(q.vc(X)).concat(x).concat(n);return p(H,X)}function Q(X){for(var x=256,n=1;4>=n;n++)x=(x>>>8)+X[X.length-n],X[X.length-n]=x&255;return X}function E(X,x){var n=Math.ceil(x.length/16),z=[];Z!==X&&(Z=X.slice());for(var w=0;w>>24&255,X>>>16&255,X>>>8&255,X&255]}function m(){ma=0;y=[];ia=[];O=q.vc(16);U=[];Z=C=M=null}var q=ba,y=[],C,M,B,v,F,H=h.encrypt(q.vc(16)),O=q.vc(16),U=[],ia=[],Z,ma=0;return{ud:function(X,x,n){M=x||[];B=isNaN(n)?128:n;if(0!==B%8)throw Error("DataError");C=X;12===C.length?v=C.concat([0,0,0,1]):(v=p(H,C.concat(q.vc(16*Math.ceil(C.length/16)-C.length+8)).concat(t(8*C.length))),O=q.vc(16)); +F=Q(v.slice());p(H,M.concat(q.vc(16*Math.ceil(M.length/16)-M.length)))},encrypt:function(X){ma=X.length;X=E(F,X);p(H,X);var x=A();x=E(v,x).slice(0,B/8);m();return X.slice().concat(x)},decrypt:function(X,x){ma=X.length;var n=E(F,X);p(H,X);X=A();X=E(v,X).slice(0,B/8);m();return q.zl(X,x)?n:null},nu:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor(y.length/16));ma+=X.length;y=y.slice(X.length);X=E(Z||F,X);ia=ia.concat(X);p(H,X)},op:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor((y.length-B/8)/ +16));ma+=X.length;y=y.slice(X.length);var x=E(Z||F,X);ia=ia.concat(x);p(H,X)},Qo:function(){var X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);X=ia.slice().concat(X);m();return X},Po:function(){var X=Math.floor(B/8),x=y.slice(-X);y=y.slice(0,y.length-X);X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);var n=ia.slice();m();return q.zl(X,x)?n:null}}}function e(h){function p(C){var M=[],B,v;for(B=0;Bm?Q(p.Vd(h),m):Q(h,m),y;var C=Array(m);var M=Array(m);for(var B=0;B=Z;Z++)U[O-Z]=ia%256,ia=Math.floor(ia/256);if(0!==q(H.concat(U)).length)throw Error("buffer.length !== 0");H=[];for(O=0;O=E&&(v=q(v))},finish:y, +lT:p,Xt:m,maxMessageSize:4294967295}}function k(){function h(x){var n,z=null;if(!arguments.length||"number"===typeof arguments[0])for(z=Array(x),n=0;n=x?1:Math.ceil(Math.log(x)/Math.LN2/24));for(var z=[];0=x.length&&(x[0]=0,x.length=1);return x}function y(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("bit count must be smaller than DIGIT_BITS and positive in shiftLeft");void 0===w&&(w=x.length);var K=24-z;n[w]=x[w-1]>>>24-z||n[w];for(--w;0>>K)&16777215;n[0]=x[0]<>=24; +for(S=x;S>=24;z.length=K.length;0!==n&&(z[S]=n&16777215);return n}function M(x,n,z){var w=n.length;if(x.length>=24;for(;K>=24;return S}function B(x,n,z){n="number"===typeof n?[n]:n;var w,K,S,W=x.length,T=n.length;for(w=0;wP;P++)aa=Math.max(aa,-(n[T-1]>>>P&1)&P);aa=23-aa;K=K||[];K.length=T;y(n,K,aa,T);S=S||[];S.length=W;y(x,S,aa,W);S[W]=S[W]||0;z.length=W-T+1;w.length=T;for(n=W-T;0<=n;n--){x=Math.floor((16777216*S[n+T]+S[n+T-1])/K[T-1]);for(P=16777216*S[n+T]+S[n+T-1]-x*K[T-1];;){if(16777216<=x||x*K[T-2]>16777216*P+S[n+T-2])if(--x,P+=K[T-1],16777216>P)continue;break}for(W=L=0;WL){--z[n];for(W=L=0;W>=24;S[n+T]=S[n+T]+L&16777215}}for(W=0;W>>aa|S[W+1]<<24-aa)&16777215;q(z);q(w)}}}function F(x,n,z,w,K){if(A(x))return p(n,0,K,0,n.length),K.length=n.length,0;if(A(n))return p(x,0,K,0,x.length),K.length=x.length,0;if(0>m(x,n)){var S=x.slice(0);p(n,0,K,0,n.length);K.length=n.length}else S=n.slice(0),p(x,0,K,0,x.length),K.length=x.length;q(K);q(S);x=Array(K.length);n=Array(K.length);var W=Array(K.length), +T=void 0!==w;if(T){var L=Array(K.length);L[0]=1;L.length=1;w[0]=0;w.length=1}var P=Array(K.length),aa=void 0!==z;if(aa){var ua=Array(K.length);ua[0]=0;ua.length=1;z[0]=1;z.length=1}for(var La=-1,Ya=z,Pa=w,sa=K,fa;!A(S);)v(K,S,x,n,P,W),aa&&(B(x,ua,P),C(P,z,P),q(P),fa=z,z=ua,ua=P,P=fa),T&&(B(x,L,W),C(W,w,W),q(W),fa=w,w=L,L=W,W=fa),fa=K,K=S,S=n,n=fa,La++;aa&&(p(z,0,Ya,0,z.length),Ya.length=z.length);T&&(p(w,0,Pa,0,w.length),Pa.length=w.length);p(K,0,sa,0,K.length);sa.length=K.length;return La}function H(x, +n,z,w){w=w||[];if(0===m(n,ma))w[0]=1;else if(0===m(n,X))p(x,0,w,0,x.length),w.length=x.length;else{var K=new O(z);q(x,K.vd,!0);K.Cj(x,n,w);w.length=z.length}return w}function O(x,n){function z(fa,ha,pa,ya){ya=ya||this;for(var Da=ya.ip,wa=Da.length,Ea=ya.fu,rb=ya.eu,Za,Ba,jb,eb=0,wb,jc=0,mb=h(wa+2);eb=rb;rb+=1)Dawa;wa++,Ba>>>=1)eb===Da&&(eb=jb[++Za]=0),jb[Za]+=(Ba&1)<>>31;for(pa=0;pa=Z;Z++)ia[Z]=256*ia[Z-1];var ma=[0], +X=[1];return{Op:24,KS:3,IS:16777215,YD:16777216,JS:16777215,VS:ma,YE:X,fP:q,Ch:Q,OT:function(x,n){x=x.replace(/^\s+|\s+$/g,"");var z=[0],w=[0];n=n||10;for(var K=0;K=n;)T[0]*=n,ua=ua.concat("0");for(P=0;PK;K+=1)S[3*w+K]=W&255,W=Math.floor(W/256)}S.reverse(); +void 0===z&&(z=1);if(n)for(;S.length>z&&0===S[0];)S.shift();return S},lC:A,AT:function(x){return 0===(x[0]&1)},pD:function(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("Invalid bit count for shiftRight");void 0===w&&(w=x.length);--w;for(var K=24-z,S=0;S>>z)&16777215;n[w]=x[w]>>>z},shiftLeft:y,Hf:m,bT:function(x){for(var n=0,z=0;n>>31)-1&16777215;var La=0;for(L=0;L>=24;aa.length=ua},Tc:function(L,P,aa){var ua=this.Bj,La=aa.Xa;P=la.Tc(L.Xa,P.Xa,aa.Xa);if(-1===P)for(L=P=0;L>=24},multiply:function(L,P,aa){return la.rC(L.Xa, +P.Xa,this.Dg,aa.Xa,S,W)},inverse:function(L,P){la.hu(L.Xa,this.Dg,P.Xa)},bP:function(L,P,aa){aa=aa||n([],this);if(0===m(P,w))aa.Xa=E(1,this.Bj);else if(0===m(P,K)){for(P=0;PK;){var S=1<C)throw Error("Incorrect entropy or additionalEntropy length");F=F.concat(ba.vc(C-F.length));v=v.concat(ba.vc((C-v.length%C)%C));for(var H=0;HB)throw Error("Reseeding is required");if(F&&0B;B+=1)v[B]=Math.floor(256*Math.random());if((B=q.crypto||q.msCrypto)&&"function"===typeof B.getRandomValues&&h.Uint8Array){var F=new h.Uint8Array(48);B.getRandomValues(F);v=v.concat(Array.prototype.slice.call(F));m=!0}if("undefined"!==typeof XMLHttpRequest)for(F=new XMLHttpRequest,B=0;B>8&255,B>>16&255,B>>24&255,v&255, +v>>8&255,M&255,M>>8&255])},om:function(){var M=(new Date).valueOf();A([M&255,M>>8&255,M>>16&255,M>>24&255])}}}();return{ud:function(){p();if(!m&&y)try{C.rD()}catch(M){}},Wl:function(M){E.Wl(M)},read:function(M){if(!t)throw Error("Entropy pool is not initialized.");M=E.ve(M);p();return M}}}var u={register:function(h,p,A){u[h]||(u[h]={});h=u[h];h[p]||(h[p]=A)},oB:function(h,p){return u[h]?u[h][p]?!0:!1:!1}},ka=self.location.href,ja="undefined"!==typeof Worker,va="function"===typeof importScripts&&self instanceof +WorkerGlobalScope,Xa=!1,ca="undefined"!==typeof ArrayBuffer;try{Object.defineProperty({},"oncomplete",{})}catch(h){}var da=!1,ea={},ba=function(){function h(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");0!==t.length%4;)t+="=";var m=[],q;t=t.replace(/[^A-Za-z0-9\+\/=]/g,"");for(q=0;q>4;C=(C&15)<<4|M>>2;var v=(M&3)<<6|B;m.push(y);64!==M&&m.push(C);64!==B&&m.push(v)}return m}function p(t){return Object.prototype.toString.call(t).slice(8,-1)}function A(t){return[t>>>24&255,t>>>16&255,t>>>8&255,t&255]}function Q(t){if(!t)return[];if(t.pop)return t;"ArrayBuffer"===p(t)?t=new Uint8Array(t):1 +t.length)return Array.apply(null,t);for(var m=Array(t.length),q=0;q>2;C=(C&3)<<4|M>>4;var F=(M&15)<<2|B>>6; +var H=B&63;isNaN(M)?F=H=64:isNaN(B)&&(H=64);q=q+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(v)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(C)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(F)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(H)}return m?q.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):q},El:h,eT:function(t,m,q){if(!t)throw Error(q);if(m&&p(t)!==m)throw Error(q); +return!0},Tt:p,bytesToHexString:function(t,m){var q="";"undefined"===typeof m&&(m=!1);for(var y=0;yC?m[y++]=C:2048>C?(m[y++]=C>>>6|192,m[y++]=C&63|128):55296>C||57343>>12|224,m[y++]=C>>>6&63|128,m[y++]=C&63|128):(C=1024*(C- +55296)+(t.charCodeAt(++q)-56320)+65536,m[y++]=C>>>18|240,m[y++]=C>>>12&63|128,m[y++]=C>>>6&63|128,m[y++]=C&63|128)}return m},JA:function(t){var m="",q;t=Q(t);for(var y=0;yC?q=C:q=224>C?(C<<6)+t[y++]-12416:240>C?(C<<12)+(t[y++]<<6)+t[y++]-925824:(C<<18)+(t[y++]<<12)+(t[y++]<<6)+t[y++]-63447168;m=65535m||255q)return!1}return!0},isInteger:E}}(),Aa=function(){function h(m,q){var y=t[m[0]&31],C=m[1],M=0,B=!!(m[0]&32);if(C&128)for(C=M=0;M<(m[1]&127);M++)C=(C<<8)+m[2+M];var v=2+M;if(void 0===y||C>m.length)return null;var F=B?[]:{};F.type=y;F.Ag=v;F.data=m.slice(0,C+v);if(B||q)for("BIT STRING"===F.type&&0===m[v]&&M++,m=m.slice(v,F.data.length);0>>=7;M[0]&=127;y=y.concat(M.reverse())}m=y;return q=[6].concat(A(m),m)}if(m.hasOwnProperty("SEQUENCE")){q=m.fi;m=[];for(M=0;M=m)return[m];m=Q(m);m.unshift(m.length|128);return m}function Q(m){var q=[];if(0===m)return[0];for(;0>>=8;return q}function E(m,q){var y=Array(q+1).join(" ")+m.type+" ("+m.length+") "+bytesToHexString(m.data).substring(0,16)+"\n";if(!m.children)return y;for(var C=0;CB;B++)M[B]=p.IA(m,64*q+4*B);for(B=16;80>B;B++)m=M[B-3]^M[B-8]^M[B-14]^M[B-16],M[B]=m<<1|m>>>31;for(B=0;80>B;B++)m=v<<5|v>>>27,m+=60<=B?F^H^O:40<=B?F&H^F&O^H&O:20<=B?F^H^O:F&H^~F&O,m+=U+C[B]+M[B],U=O,O=H,H=F<<30|F>>>2,F=v,v=m;y[0]+=v&4294967295;y[1]+=F&4294967295;y[2]+=H&4294967295;y[3]+=O&4294967295;y[4]+=U&4294967295;return y}var p=ba,A=p.Cp,Q=A("Z0UjAe/Nq4mYutz+EDJUdsPS4fA=",4,1),E=A("WoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroY8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdY", +4,1),t=A("MCEwCQYFKw4DAhoFAAQU");return{$l:function(){return g("SHA-1",t,Q,E,64,h,160)}}}();"undefined"!==typeof u&&(xa.Wb={},xa.rT=function(h){return xa.Wb[h]||(xa.Wb[h]=xa.$l())},xa.deleteInstance=function(h){xa.Wb[h]=null;delete xa.Wb[h]},xa.hash=function(h){if("process"===h.Ja)xa.$l.process(h.buffer);else return"finish"===h.Ja?xa.$l.finish():xa.$l().Vd(h.buffer)},u.register("digest","SHA-1",xa.hash));ea["SHA-1"]=xa.$l;var Ca=function(){function h(y,C,M,B,v){var F,H=M[0],O=M[1],U=M[2],ia=M[3], +Z=M[4],ma=M[5],X=M[6],x=M[7];for(F=0;16>F;F++)v[F]=p.IA(y,64*C+4*F);for(F=16;64>F;F++)y=v[F-15],C=v[F-2],v[F]=((C>>>17|C<<15)^(C>>>19|C<<13)^C>>>10)+v[F-7]+((y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3)+v[F-16],v[F]&=4294967295;for(F=0;64>F;F++)y=x+((Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7))+(Z&ma^~Z&X)+B[F]+v[F],ia+=y,y+=((H>>>2|H<<30)^(H>>>13|H<<19)^(H>>>22|H<<10))+(H&(O^U)^O&U),x=X,X=ma,ma=Z,Z=ia,ia=U,U=O,O=H,H=y;M[0]=M[0]+H>>>0;M[1]=M[1]+O>>>0;M[2]=M[2]+U>>>0;M[3]=M[3]+ia>>>0;M[4]=M[4]+Z>>>0;M[5]=M[5]+ +ma>>>0;M[6]=M[6]+X>>>0;M[7]=M[7]+x>>>0;return M}var p=ba,A=p.Cp;var Q=A("wQWe2DZ81QcwcN0X9w5ZOf/ACzFoWBURZPmPp776T6Q",4,1);var E=A("agnmZ7tnroU8bvNypU/1OlEOUn+bBWiMH4PZq1vgzRk",4,1);var t=A("QoovmHE3RJG1wPvP6bXbpTlWwltZ8RHxkj+CpKscXtXYB6qYEoNbASQxhb5VDH3Dcr5ddIDesf6b3AanwZvxdOSbacHvvkeGD8GdxiQMocwt6SxvSnSEqlywqdx2+YjamD5RUqgxxm2wAyfIv1l/x8bgC/PVp5FHBspjURQpKWcntwqFLhshOE0sbfxTOA0TZQpzVHZqCruBwskuknIshaK/6KGoGmZLwkuLcMdsUaPRkugZ1pkGJPQONYUQaqBwGaTBFh43bAgnSHdMNLC8tTkcDLNO2KpKW5zKT2gub/N0j4LueKVjb4TIeBSMxwIIkL7/+qRQbOu++aP3xnF48g", +4,1);var m=A("MC0wDQYJYIZIAWUDBAIEBQAEHA");var q=A("MDEwDQYJYIZIAWUDBAIBBQAEIA");return{Pu:function(){return g("SHA-224",m,Q,t,64,h,224)},Qu:function(){return g("SHA-256",q,E,t,64,h,256)}}}();"undefined"!==typeof u&&(Ca.dC=Ca.dC||Ca.Pu(),Ca.eC=Ca.eC||Ca.Qu(),Ca.Wb={},Ca.DB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Pu())},Ca.EB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Qu())},Ca.deleteInstance=function(h){Ca.Wb[h]=null;delete Ca.Wb[h]},Ca.oO=function(h){if("process"===h.Ja)return Ca.EB(h.Fc).process(h.buffer), +null;if("finish"===h.Ja){var p=Ca.EB(h.Fc).finish();Ca.deleteInstance(h.Fc);return p}if("abort"===h.Ja)Ca.deleteInstance(h.Fc);else return Ca.eC.Vd(h.buffer)},Ca.nO=function(h){if("process"===h.Ja)Ca.DB(h.Fc).process(h.buffer);else if("finish"===h.Ja&&Ca.DB(h.Fc).finish(),"abort"===h.Ja)msrcryptoSha224.deleteInstance(h.Fc);else return Ca.dC.Vd(h.buffer)},u.register("digest","SHA-224",Ca.nO),u.register("digest","SHA-256",Ca.oO));ea["SHA-224"]=Ca.Pu;ea["SHA-256"]=Ca.Qu;var Na=function(){function h(M, +B,v,F,H){B=B+F|0;H[0]=M+v+(B>>>0>>0)|0;H[1]=B}function p(M,B,v,F,H){var O,U=[],ia=[],Z=[],ma=v[0],X=v[1],x=v[2],n=v[3],z=v[4],w=v[5],K=v[6],S=v[7],W=v[8],T=v[9],L=v[10],P=v[11],aa=v[12],ua=v[13],La=v[14],Ya=v[15];for(O=0;32>O;O++){var Pa=128*B+4*O;H[O]=M.slice(Pa,Pa+4);H[O]=H[O][0]<<24|H[O][1]<<16|H[O][2]<<8|H[O][3]}for(O=32;160>O;O+=2){var sa=H[O-30];var fa=H[O-29];M=(sa>>>1|fa<<31)^(sa>>>8|fa<<24)^sa>>>7;B=(fa>>>1|sa<<31)^(fa>>>8|sa<<24)^(fa>>>7|sa<<25);sa=H[O-4];fa=H[O-3];Pa=(sa>>>19|fa<<13)^ +(fa>>>29|sa<<3)^sa>>>6;sa=(fa>>>19|sa<<13)^(sa>>>29|fa<<3)^(fa>>>6|sa<<26);h(Pa,sa,H[O-14],H[O-13],U);h(M,B,U[0],U[1],U);h(H[O-32],H[O-31],U[0],U[1],U);H[O]=U[0];H[O+1]=U[1]}for(O=0;160>O;O+=2)M=(W>>>14|T<<18)^(W>>>18|T<<14)^(T>>>9|W<<23),B=(T>>>14|W<<18)^(T>>>18|W<<14)^(W>>>9|T<<23),Pa=W&L^aa&~W,sa=T&P^ua&~T,h(La,Ya,M,B,U),h(Pa,sa,F[O],F[O+1],ia),h(U[0],U[1],H[O],H[O+1],Z),h(ia[0],ia[1],Z[0],Z[1],Z),h(Z[0],Z[1],K,S,U),K=U[0],S=U[1],B=(X>>>28|ma<<4)^(ma>>>2|X<<30)^(ma>>>7|X<<25),M=(ma>>>28|X<<4)^ +(X>>>2|ma<<30)^(X>>>7|ma<<25),sa=X&(n^w)^n&w,Pa=ma&(x^z)^x&z,h(Z[0],Z[1],M,B,U),M=U[0],B=U[1],h(Pa,sa,M,B,U),M=U[0],B=U[1],La=aa,Ya=ua,aa=L,ua=P,L=W,P=T,W=K,T=S,K=z,S=w,z=x,w=n,x=ma,n=X,ma=M,X=B;h(v[0],v[1],ma,X,U);v[0]=U[0];v[1]=U[1];h(v[2],v[3],x,n,U);v[2]=U[0];v[3]=U[1];h(v[4],v[5],z,w,U);v[4]=U[0];v[5]=U[1];h(v[6],v[7],K,S,U);v[6]=U[0];v[7]=U[1];h(v[8],v[9],W,T,U);v[8]=U[0];v[9]=U[1];h(v[10],v[11],L,P,U);v[10]=U[0];v[11]=U[1];h(v[12],v[13],aa,ua,U);v[12]=U[0];v[13]=U[1];h(v[14],v[15],La,Ya,U); +v[14]=U[0];v[15]=U[1];return v}var A=ba.Cp;var Q=A("y7udXcEFnthimikqNnzVB5FZAVowcN0XFS/s2PcOWTlnMyZn/8ALMY60SodoWBUR2wwuDWT5j6dHtUgdvvpPpA==",4,1);var E=A("agnmZ/O8yQi7Z66FhMqnOzxu83L+lPgrpU/1Ol8dNvFRDlJ/reaC0ZsFaIwrPmwfH4PZq/tBvWtb4M0ZE34heQ",4,1);var t=A("QoovmNcoriJxN0SRI+9lzbXA+8/sTTsv6bXbpYGJ27w5VsJb80i1OFnxEfG2BdAZkj+CpK8ZT5urHF7V2m2BGNgHqpijAwJCEoNbAUVwb74kMYW+TuSyjFUMfcPV/7Ticr5ddPJ7iW+A3rH+OxaWsZvcBqclxxI1wZvxdM9pJpTkm2nBnvFK0u++R4Y4TyXjD8GdxouM1bUkDKHMd6ycZS3pLG9ZKwJ1SnSEqm6m5INcsKncvUH71Hb5iNqDEVO1mD5RUu5m36uoMcZtLbQyELADJ8iY+yE/v1l/x77vDuTG4AvzPaiPwtWnkUeTCqclBspjUeADgm8UKSlnCg5ucCe3CoVG0i/8LhshOFwmySZNLG38WsQq7VM4DROdlbPfZQpzVIuvY952agq7PHeyqIHCyS5H7a7mknIshRSCNTuiv+ihTPEDZKgaZku8QjABwkuLcND4l5HHbFGjBlS+MNGS6BnW71IY1pkGJFVlqRD0DjWFV3EgKhBqoHAyu9G4GaTBFrjS0MgeN2wIUUGrUydId0zfjuuZNLC8teGbSKg5HAyzxclaY07YqkrjQYrLW5zKT3dj43NoLm/z1rK4o3SPgu5d77L8eKVjb0MXL2CEyHgUofCrcozHAggaZDnskL7/+iNjHiikUGzr3oK96b75o/eyxnkVxnF48uNyUyvKJz7O6iZhnNGGuMchwMIH6tp91s3g6x71fU9/7m7ReAbwZ6pyF2+6CmN9xaLImKYRP5gEvvkNrhtxCzUTHEcbKNt39SMEfYQyyqt7QMckkzyevgoVyb68Qx1nxJwQDUxMxdS+yz5Ctll/KZz8ZX4qX8tvqzrW+uxsRBmMSkdYFw==", +4,1);var m=A("MEEwDQYJYIZIAWUDBAICBQAEMA");var q=A("MFEwDQYJYIZIAWUDBAIDBQAEQA");var y=A("MC0wDQYJYIZIAWUDBAIFBQAEHA");var C=A("MDEwDQYJYIZIAWUDBAIGBQAEIA");return{am:function(){return g("SHA-384",m,Q,t,128,p,384)},bm:function(){return g("SHA-512",q,E,t,128,p,512)},MT:function(){return g("SHA-512.224",y,E,t,128,p,224)},NT:function(){return g("SHA-512.256",C,E,t,128,p,256)}}}();"undefined"!==typeof u&&(Na.Wb={},Na.sT=function(h){return Na.Wb[h]||(Na.Wb[h]=Na.am())},Na.tT=function(h){return Na.Wb[h]|| +(Na.Wb[h]=Na.bm())},Na.deleteInstance=function(h){Na.Wb[h]=null;delete Na.Wb[h]},Na.pO=function(h){if("process"===h.Ja)Na.am.process(h.buffer);else return"finish"===h.Ja?Na.am.finish():Na.am().Vd(h.buffer)},Na.qO=function(h){if("process"===h.Ja)Na.bm.process(h.buffer);else return"finish"===h.Ja?Na.bm.finish():Na.bm().Vd(h.buffer)},u.register("digest","SHA-384",Na.pO),u.register("digest","SHA-512",Na.qO));ea["SHA-384"]=Na.am;ea["SHA-512"]=Na.bm;var la=la||k();if("undefined"!==typeof u){var kb={};f.cS= +function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return h=kb[A].finish(),kb[A]=null,h;h=kb[A].RA(h.buffer);kb[A]=null;return h};f.BS=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return p=kb[A].finish(),p=ba.zl(p,h.qD),kb[A]=null,p; +p=kb[A].RA(h.buffer);p=ba.zl(p,h.qD);kb[A]=null;return p};f.generateKey=function(h){var p={"SHA-1":64,"SHA-224":64,"SHA-256":64,"SHA-384":128,"SHA-512":128},A=h.algorithm.length;void 0===A&&(A=p[h.algorithm.hash.name.toUpperCase()]);return{type:"keyGeneration",keyData:nb.ve(A),keyHandle:{algorithm:h.algorithm,extractable:h.extractable,usages:h.usages,type:"secret"}}};f.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,["k"]);p.alg=p.alg.replace("HS","SHA-")}else if("raw"=== +h.format)p={k:ba.wc(h.keyData)};else throw Error("unsupported import format");return{type:"keyImport",keyData:p.k,keyHandle:{algorithm:{name:"HMAC",hash:{name:h.algorithm.hash.name}},extractable:h.extractable||p.extractable,usages:h.usages,type:"secret"}}};f.exportKey=function(h){if("jwk"===h.format)return{type:"keyExport",keyHandle:Ia.hp(h.keyHandle,h.keyData)};if("raw"===h.format)return{type:"keyExport",keyHandle:h.keyData};throw Error("unsupported export format");};u.register("importKey","HMAC", +f.importKey);u.register("exportKey","HMAC",f.exportKey);u.register("generateKey","HMAC",f.generateKey);u.register("sign","HMAC",f.cS);u.register("verify","HMAC",f.BS)}var Db=function(){var h,p,A,Q,E,t,m,q,y,C;return{ug:function(M){function B(n,z){return[n[4*z],n[4*z+1],n[4*z+2],n[4*z+3]]}function v(n){for(var z=0;z=q;q+=2*m)B[q]=0;for(m=3;16384>=m;m+=2)0!==B[m]&& +v.push(m);p=v}q=p.length;A=Array(q);for(B=0;B>>=1,m--);v=q*la.Op+m}B=la.Wh(B);for(m=1;6>= +m;m++){q=!1;do var H=h(v);while(0<=la.Hf(H,y));F=[];B.Cj(H,M,F,!0);if(0!==la.Hf(F,[1])&&0!==la.Hf(F,y)){for(H=1;H>>24&255,E>>>16&255,E>>>8&255,E&255];m=A.Vd(h.concat(m));Q=Q.concat(m)}return Q.slice(0,p)},dT:function(h,p){if(h.length>(p.maxMessageSize||4294967295))throw Error("message too long"); +}},Zb=Zb||{};Zb.lP=function(h,p){var A=ba,Q=nb,E=h.n.length;if(null===p)throw Error("must supply hashFunction");return{mp:function(t,m){if(t.length>E-p.Xt/8*2-2)throw Error("Message too long.");null==m&&(m=[]);m=p.Vd(m);var q=A.vc(E-t.length-2*m.length-2);q=m.concat(q,[1],t);t=Q.ve(m.length);var y=Lc.jp(t,E-m.length-1,p);q=A.$e(q,y);m=Lc.jp(q,m.length,p);m=A.$e(t,m);return t=[0].concat(m,q).slice()},Dp:function(t,m){var q=m;m=0;var y=0===t[0];void 0===q&&(q=[]);q=p.Vd(q);var C=t.slice(1,q.length+ +1);t=t.slice(q.length+1);var M=Lc.jp(t,q.length,p);C=A.$e(C,M);C=Lc.jp(C,E-q.length-1,p);t=A.$e(t,C);C=t.slice(0,q.length);y=y&&A.zl(q,C);for(t=t.slice(q.length);!t[m++];);return{valid:y,data:t.slice(m)}}}};"undefined"!==typeof u&&(b.sign=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength,Q=h.algorithm.salt;return b(h.keyData,h.algorithm.name,p).bS(h.buffer,A,Q)},b.verify=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength; +return b(h.keyData,h.algorithm.name,p).CS(h.qD,h.buffer,A)},b.Gp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p=b(h.keyData,h.algorithm.name);h=p.encrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.encrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.Fp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p= +b(h.keyData,h.algorithm.name);h=p.decrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.decrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,"n e d p q dp dq qi".split(" "));p.d&&(p.Dt=(new la.Wh(la.Ch(p.p))).wg,p.Et=(new la.Wh(la.Ch(p.q))).wg)}else if("spki"===h.format){var A= +Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[1];A=Aa.parse(A.data.slice(A.Ag+1),!0);if(null==A)throw Error("invalid key data.");p=A[0];A=A[1];if("INTEGER"!==p.type||"INTEGER"!==A.type)throw Error("invalid key data.");p=p.data.slice(p.Ag);A=A.data.slice(A.Ag);0===p[0]&&p[1]&128&&(p=p.slice(1));0===A[0]&&A[1]&128&&(A=A.slice(1));p={n:p,e:A}}else if("pkcs8"===h.format){A=Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[2];A=Aa.parse(A.data.slice(A.Ag),!0);if(null== +A)throw Error("invalid key data.");var Q="n e d p q dp dq qi".split(" ");p={};for(var E=1;EF.usages.indexOf("wrapKey")||F.algorithm.name.toUpperCase()!==H.name)Z(Error("InvalidAccessError"));else U(B,v).then(function(ma){console.log(Qa.ce(ma));return O(H,F,"jwk"===B?Qa.Nj(JSON.stringify(ma,null,0)):ma)}).then(function(ma){ia(ma)})["catch"](function(ma){Z(ma)})})},unwrapKey:function(B,v,F,H,O,U,ia){var Z=this.decrypt,ma=this.importKey;return new Promise(function(X,x){if(0>F.usages.indexOf("unwrapKey")|| +F.algorithm.name.toUpperCase()!==H.name)x(Error("InvalidAccessError"));else Z(H,F,v).then(function(n){return ma(B,"jwk"===B?JSON.parse(Qa.JA(n)):n,O,U,ia)}).then(function(n){X(n)})["catch"](function(n){x(n)})})}},xO:{Ep:y.Ep}}}();Eb=function(){var h=ba;return{wrapKey:function(p){var A=b(p.QO,p.cu.algorithm.name,ea["SHA-1"])(),Q=Ia.RO(p.keyHandle,p.keyData);p=h.ce(JSON.stringify({alg:p.cu.algorithm.name.toUpperCase(),enc:"A128GCM"}),!0);var E=nb.ve(32);A=A.encrypt(E);A=h.ce(A,!0);var t=nb.ve(12),m= +h.ce(t,!0),q=p.concat(".",A,".",m);E=d(Db.ug(E));E.ud(t,h.Nj(q),128);E=E.encrypt(Q);t=E.slice(-16);Q=h.ce(t,!0);E=h.ce(E.slice(0,E.length-t.length),!0);return h.Nj(JSON.stringify({Rl:[{Ag:p,kB:A,wO:Q}],bC:m,gN:E}))},unwrapKey:function(p){var A=h.El,Q=JSON.parse(String.fromCharCode.apply(null,p.buffer));h.El(Q.Rl[0].Ag);var E=A(Q.Rl[0].kB),t=A(Q.Rl[0].wO),m=A(Q.bC);A=A(Q.gN);var q=ea["SHA-1"]();E=b(p.keyData,p.keyHandle.algorithm.name,q).decrypt(E);Q=Q.Rl[0].Ag.concat(".",Q.Rl[0].kB,".",Q.bC);E=d(Db.ug(E)); +E.ud(m,h.Nj(Q),128);t=E.decrypt(A,t);t=Ia.Ol(t,p.algorithm,["k"]);return{type:"keyImport",keyData:t.k,keyHandle:{algorithm:{name:p.algorithm.name},extractable:p.extractable||t.extractable,usages:p.usages,type:"secret"}}}}}();"undefined"!==typeof u&&(u.register("wrapKey","AES-GCM",Eb.wrapKey),u.register("unwrapKey","AES-CBC",Eb.unwrapKey));Eb={subtle:Mc?Mc.yP:null,getRandomValues:function(h){var p,A=nb.ve(h.length);for(p=0;p>>=1;while(0!==a);return b}};var D;D=function(){}; +D.bk=function(){return D.fA};D.ZD=function(){return D.zH};D.ci=function(a){var b=new I(a.offsetX,a.offsetY);null!==a.currentTarget&&(b=J.$O(a.currentTarget,b));return b};D.Vx=function(a){var b=new I(a.offsetLeft,a.offsetTop);a.offsetParent&&(a=D.Vx(a.offsetParent),b.X+=a.X,b.Y+=a.Y);return b};D.jA=!1;D.hq=function(a){var b=this.UF(a);null!==b&&(a=D.Vx(a.target),b.X-=a.X,b.Y-=a.Y);return b}; +D.UF=function(a){return a.pageX&&a.target?new I(a.pageX,a.pageY):(D.jA||(D.jA=!0,N.error("Evaluation of Touch events not supported because the browser uses an unexpected interface")),null)};D.FJ=navigator.userAgent.match(/OS 6(_\d)+ like Mac OS X/i);D.sO=function(){return D.FJ};D.rE=function(){var a=void 0!==window.TouchEvent&&"ontouchstart"in window&&"ontouchend"in document;return void 0!==window.PointerEvent&&void 0!==navigator.maxTouchPoints&&0a.length?null:new Ja(parseFloat(a[2]),parseFloat(a[3]))};D.fM=function(a){var b=new XMLHttpRequest;b.open("GET",a.src,!1);b.send();return b.responseXML&&b.responseXML.documentElement?b.responseXML&&b.responseXML.documentElement:null}; +D.rG=function(a,b){var c=new XMLHttpRequest;c.open("GET",a.src);c.onreadystatechange=function(){4===c.readyState&&(200===c.status?c.responseXML&&c.responseXML.documentElement?b(c.responseXML.documentElement):b(null):b(null))};c.send()}; +D.pL=function(a){try{if(0<=a.src.toLowerCase().indexOf(".svg")){N.h("Derivation of SVG size for '"+a.src+"' failed. Parsing manually");var b=D.fM(a);if(null!==b){var c=D.uz(b.getAttribute("width"));var d=D.uz(b.getAttribute("height"));if(c&&d)return new Ja(c,d);var e=D.wz(b.getAttribute("viewBox"));if(null!==e)return e}}}catch(f){N.error("Exception during manual parsing of SVG size.")}return null}; +D.Dv=function(a){if(a.naturalWidth&&a.naturalHeight)return new Ja(a.naturalWidth,a.naturalHeight);if(a.width&&a.height)return new Ja(a.width,a.height);a=D.pL(a);return null!==a?a:new Ja(0,0)};D.lq=function(){return D.tL};D.EI="undefined"!==typeof InstallTrigger;D.QE=function(a,b,c){return!D.EI&&!c.WorkaroundForceSVGEmptySizeWorkaround||c.WorkaroundDisableSVGEmptySizeWorkaround?!1:J.wq(b)&&void 0!==a.naturalWidth&&0===a.naturalWidth&&void 0!==a.naturalHeight&&0===a.naturalHeight}; +D.bE=function(a,b,c){try{D.rG(a,function(d){if(null===d)c("DoZeroWidthHeightWorkaround: svg xml not available");else{var e=D.wz(d.getAttribute("viewBox"));null===e?c("DoZeroWidthHeightWorkaround: no view box available"):(d.setAttribute("width",e.L),d.setAttribute("height",e.aa),d=(new XMLSerializer).serializeToString(d),b("data:image/svg+xml;base64,"+btoa(d)))}})}catch(d){c(d.toString())}}; +D.Qb=function(){return"onpointerdown"in window&&"PointerEvent"in window&&!Ka.kE("CFG_WorkaroundDisablePointerEvents",!1)};D.Cv=function(){var a=Ka.lE("CFG_WorkaroundFileTransferTimeout");return null!==a?a:D.lq()?400:0};D.tL=-1!==navigator.userAgent.indexOf("Safari")&&0>navigator.userAgent.indexOf("Chrome");var Ma="undefined"===typeof ArrayBuffer||"undefined"===typeof Uint8Array||"undefined"===typeof Int8Array,Oa,Ra;Ma||(Oa=new ArrayBuffer(4),Ra=new Int8Array(Oa,1,2),Ma=2!==Ra.byteLength);D.fA=Ma; +D.zH=function(){if(D.fA)return!1;var a="undefined"!==typeof DataView,b;if(/opera [56789]|opera\/[56789]/i.test(navigator.userAgent)||/MSIE (\d+\.\d+);/.test(navigator.userAgent))return!1;try{if(a){var c=new ArrayBuffer(8);var d=new Int8Array(c);for(b=0;8>b;++b)d[b]=b;var e=new DataView(c);if(a="function"===typeof e.getFloat64&&"function"===typeof e.getFloat32&&"function"===typeof e.getInt32&&"function"===typeof e.getUint32&&"function"===typeof e.getInt16&&"function"===typeof e.getUint16&&"function"=== +typeof e.getInt8&&"function"===typeof e.getInt8)e.getFloat64(0),e.getFloat32(0),e.getInt32(0),e.getUint32(0),e.getInt16(0),e.getUint16(0),e.getInt8(0),e.getInt8(0)}}catch(f){return!1}return a}();D.xb=function(a,b){return void 0!==a.includes?a.includes(b):0<=a.indexOf(b)};D.CF=function(a,b){return void 0!==a.startsWith?a.startsWith(b):0===a.lastIndexOf(b,0)}; +D.Av=function(){try{var a=void 0!==navigator.languages?navigator.languages.length?navigator.languages[0]:navigator.language:navigator.language;var b=a.split("-");b.length&&(a=b[0]);return a}catch(c){return""}};D.Vh=function(){return window.WindowZoomFactor?1E-4<=Math.abs(parseFloat(window.WindowZoomFactor)-1):!1};D.Yj=function(a){var b=D.Up();b&&a.Yl(1/b);return a};D.Up=function(){return parseFloat(window.WindowZoomFactor)};var Configuration; +Configuration=function(){this.PlcAddress="0101";this.UseLocalHost=!0;this.CommBufferSize=5E4;this.ErrorReconnectTime=1E4;this.Application="Application";this.UpdateRate=200;this.BestFitForDialogs=this.BestFit=!1;this.StartVisu="Visualization";this.StartVisuDefaultEncodingBase64="";this.XhrSendTimeout=0;this.LoginVisuDefLang=this.LoginVisuNamespace=this.LoginVisuErrorTexts=this.LoginVisuTexts=this.LoginVisu="";this.PollingRegistrationInterval=100;this.TimeMeasurements="";this.LogLevel="INFO";this.MaxUnusedImageAge= +2E4;this.MaxUndrawnImageAge=1E4;this.NumCachedImages=15;this.ChangeWindowTitle=!0;this.TooltipFont="";this.DefaultKeyActions=!0;this.KeysForWebVisu="Backspace,Tab";this.ANSIStringEncoding="iso-8859-1";this.CommitEditcontrolOnClickOut=!0;this.HandleTouchEvents=!1;this.FuzzyTransparencyColorEvaluation=!0;this.TouchHandlingActive=this.Benchmarking=this.HasKeyboard=this.LoadImagesById=!1;this.ClientName="";this.ScaleTypeIsotropic=this.IecSupportsCommonMiterLimit=this.SemiTransparencyActive=!1;this.GesturesFlickPanThresholdPxPerSecond= +1E3;this.GesturesPanFlickTimeThresholdMs=40;this.GesturesPanClickThresholdDistSquare=10;this.PostDataInHeader=0;this.vq=this.AutoFontReductionActive=!1;this.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application.";this.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";this.ConnectionInfoValidTimeMsForLeaveAfterError=1E3;this.WorkaroundDisableMouseUpDownAfterActiveTouch=!0;this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch= +500;this.WorkaroundForceSVGEmptySizeWorkaround=this.WorkaroundDisableSVGEmptySizeWorkaround=this.WorkaroundDisableSVGAspectRatioWorkaround=this.WorkaroundDisableResizeHandling=!1;this.ContentSecurityPolicyIncludeTrustedOrigins=this.RuntimeVersion=this.CasFactoryName="";this.DefaultConfigurationOnError=!1;this.MaxResizePixel=30;this.FillBackground=!1;this.tq=5E3;this.UseBrowserLanguage=this.ContextMenuDisabled=this.TouchContextMenuEnabled=this.DebugHTML5=this.DebugOnlyInputReactionExplCoord=this.DebugOnlyInputReactionOnUp= +this.DebugOnlyDiagnosisDisplay=this.DebugOnlyPrintTouchRectangles=this.DebugOnlyPrintGestures=this.DebugOnlyPrintRawTouches=this.DebugOnlyPrintPaintCommands=!1}; +Configuration.prototype={validate:function(){if("string"!==typeof this.PlcAddress)throw Error("Plc address must be of type string");if("boolean"!==typeof this.UseLocalHost)throw Error("UseLocalHost must be of type boolean");if("number"!==typeof this.CommBufferSize)throw Error("CommBufferSize must be of type number");if("number"!==typeof this.ErrorReconnectTime)throw Error("ErrorReconnectTime must be of type number");if("string"!==typeof this.Application)throw Error("Application must be of type string"); +if("number"!==typeof this.UpdateRate)throw Error("UpdateRate must be of type number");if("number"!==typeof this.MaxResizePixel)throw Error("MaxResizePixel must be of type number");void 0!==this.LoginMaxResizePixel&&30===this.MaxResizePixel&&(this.MaxResizePixel=this.LoginMaxResizePixel);if("boolean"!==typeof this.BestFit)throw Error("BestFit must be of type boolean");if("boolean"!==typeof this.BestFitForDialogs)throw Error("BestFitForDialogs must be of type boolean");if("string"!==typeof this.StartVisu)throw Error("StartVisu must be of type string"); +if("string"!==typeof this.LoginVisu)throw Error("LoginVisu must be of type string");if("string"!==typeof this.LoginVisuTexts)throw Error("LoginVisuTexts must be of type string");if("string"!==typeof this.LoginVisuErrorTexts)throw Error("LoginVisuErrorTexts must be of type string");if("string"!==typeof this.LoginVisuNamespace)throw Error("LoginVisuNamespace must be of type string");if("string"!==typeof this.LoginVisuDefLang)throw Error("LoginVisuDefLang must be of type string");if("number"!==typeof this.PollingRegistrationInterval)throw Error("PollingRegistrationInterval must be of type number"); +if("string"!==typeof this.TimeMeasurements)throw Error("TimeMeasurements must be of type string");if("string"!==typeof this.TooltipFont)throw Error("TooltipFont must be of type string");if("boolean"!==typeof this.DefaultKeyActions)throw Error("DefaultKeyActions must be of type boolean");if("string"!==typeof this.ANSIStringEncoding)throw Error("ANSIStringEncoding must be of type string");if("boolean"!==typeof this.FuzzyTransparencyColorEvaluation)throw Error("FuzzyTransparencyColorEvaluation must be of type boolean"); +if("boolean"!==typeof this.LoadImagesById)throw Error("LoadImagesById must be of type boolean");if("boolean"!==typeof this.Benchmarking)throw Error("Benchmarking must be of type boolean");if("boolean"!==typeof this.TouchHandlingActive)throw Error("TouchHandlingActive must be of type boolean");if("boolean"!==typeof this.HasKeyboard)throw Error("HasKeyboard must be of type boolean");if("boolean"!==typeof this.SemiTransparencyActive)throw Error("SemiTransparencyActive must be of type boolean");if("boolean"!== +typeof this.ScaleTypeIsotropic)throw Error("ScaleTypeIsotropic must be of type boolean");if("number"!==typeof this.GesturesFlickPanThresholdPxPerSecond||0>this.GesturesFlickPanThresholdPxPerSecond)throw Error("GesturesFlickPanThresholdPxPerSecond must be of type nonnegative number");if("number"!==typeof this.GesturesPanFlickTimeThresholdMs||0>this.GesturesPanFlickTimeThresholdMs)throw Error("GesturesPanFlickTimeThresholdMs must be of type nonnegative number");if("number"!==typeof this.GesturesPanClickThresholdDistSquare|| +0>this.GesturesPanClickThresholdDistSquare)throw Error("GesturesPanClickThresholdDistSquare must be of type nonnegative number");if("number"!==typeof this.PostDataInHeader||0>this.PostDataInHeader||2this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch)throw Error("WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch must be of type nonnegative number");if("string"!==typeof this.CasFactoryName)throw Error("CasFactoryName must be of type string");if("string"!==typeof this.RuntimeVersion)throw Error("RuntimeVersion must be of type string");if("string"!==typeof this.ContentSecurityPolicyIncludeTrustedOrigins)throw Error("ContentSecurityPolicyIncludeTrustedOrigins must be of type string"); +if("number"!==typeof this.tq)throw Error("TouchSanityInterval must be of type number");if("boolean"!==typeof this.ContextMenuDisabled)throw Error("ContextMenuDisabled must be of type boolean");if("boolean"!==typeof this.TouchContextMenuEnabled)throw Error("TouchContextMenuEnabled must be of type boolean");this.yg()},PB:function(){try{return new Sa(this.TooltipFont)}catch(a){return this.TooltipFont=""}},yg:function(){return new na(this.ANSIStringEncoding)},td:function(){return new oa(this.ANSIStringEncoding)}}; +var Ta;Ta=function(a,b,c,d,e){this.CommBufferSize=a;this.Fa=b;this.cf=c;this.$p=d;this.Th=Ua.xa;this.la=Ua.m;this.eq="";this.yF=e;this.Lp=!1;this.Gc=""};Ta.prototype={IQ:function(a){this.Gc=a}};var Va;Va=function(){};Va.Pp="";Va.RE="";Va.Qp="2";Va.cv="3";Va.bF="4";Va.PF="5";Va.xF="6";var Wa;Wa=function(){};Wa.h="NOSP";Wa.xa="---";Wa.m=1E3;Wa.J=1100;var $a;$a=function(){};$a.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";$a.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application."; +$a.h=1;$a.Ya=$a.h;$a.Pb=$a.h+1;$a.J=$a.h+2;$a.m=$a.h+3;$a.xa=$a.h+4;$a.Uc=$a.h+5;var ab;ab=function(a,b,c,d,e,f,g,k,l){this.xr=a;this.jb=d%360;this.MG=e;this.NG=f;this.ur=g;(0===this.ur||2===this.ur)&&180=b&&0<=l&&1>=l},aJ:function(a,b){var c=[];c[0]=this.Vm(new I(a.u,a.v),b);c[1]=this.Vm(new I(a.V,a.v),b);c[2]=this.Vm(new I(a.V,a.ca),b);c[3]=this.Vm(new I(a.u,a.ca),b);for(a=b=0;4>a;++a)b= +Math.max(b,c[a]);return Math.sqrt(b)},Vm:function(a,b){return(a.X-b.X)*(a.X-b.X)+(a.Y-b.Y)*(a.Y-b.Y)}};var bb;bb=function(a){this.g=a;this.Er()}; +bb.prototype={Er:function(){var a=this;window.document.addEventListener("keydown",function(b){a.tK(b)},!1);window.document.addEventListener("keypress",function(b){a.uK(b)},!1);window.document.addEventListener("keyup",function(b){a.vK(b)},!1)},uK:function(a){if(a.repeat)a.preventDefault();else{var b=this.g.A;a=this.sn(a);null!==b&&null!==a&&this.g.rd(Fa.Ya(b.la,a))}},tK:function(a){if(a.repeat)a.preventDefault();else{var b=this.Yx(a),c=this.g.A;this.lz("onKeyDown",b)||(this.Jw(a),null!==c&&null!== +b&&void 0!==b.key&&this.g.rd(Fa.J(128,c.la,b.key,b.flags)))}},vK:function(a){var b=this.Yx(a),c=this.g.A;this.lz("onKeyUp",b)||(this.Jw(a),null!==c&&null!==b&&void 0!==b.key&&this.g.rd(Fa.J(256,c.la,b.key,b.flags)))},lz:function(a,b){return this.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess[a]&&window.ProgrammingSystemAccess[a](b.key,b.flags)?!0:!1},Yx:function(a){var b=a.keyCode,c=0;if(16<=b&&18>=b)return null;a.shiftKey&&(c|=1);a.altKey&&(c|=2);a.ctrlKey&&(c|=4);return{key:b, +flags:c}},sn:function(a){var b=0;a.charCode?b=a.charCode:a.which&&(b=a.which);if(0===b||void 0!==a.altKey&&!0===a.altKey&&48<=b&&57>=b)return null;if(void 0!==a.ctrlKey&&a.ctrlKey||void 0!==a.altKey&&a.altKey)if(void 0===a.ctrlKey||!a.ctrlKey||void 0===a.altKey||!a.altKey)return null;return String.fromCharCode(b)},VK:function(a){var b;if(void 0===this.g.getConfiguration().KeysForWebVisu||""===this.g.getConfiguration().KeysForWebVisu)return!1;var c=this.g.getConfiguration().KeysForWebVisu.split(","); +for(b=0;bb.L||c.aa>b.aa)&&this.Hq(c.scale(a))}catch(d){N.warn("Exception during resizing canvasses: "+d),this.Hq((new Ja(window.innerWidth,window.innerHeight)).scale(a))}},aR:function(a,b,c){c?(this.oi.FR(),this.Cs=this.Zz(a,"cdsClip_before_canvas",b)):(this.oi.ER(),this.Bs=this.Zz(a,"cdsClip_after_canvas",b))},Zz:function(a,b,c){a=J.xa(a.O(),b); +if(null===a)return null;a=this.Bk(a);a=new tb(a);a.LS=c;a.HR();return a},PC:function(){this.oi.aQ()},wx:function(a,b){this.Rq&&(this.g.OA(),this.Rq=!1);var c,d=this;if(this.g.Tb.Rp){for(c=0;ca?this.ll[a]:null},OM:function(a,b){this.ll[a]=b},WP:function(a){this.ll.length>a&&(this.ll[a]=null)},lt:function(){return 0=b&&(b=0);this.Ns(b)},RQ:function(a){this.bn=a},ML:function(a){this.cd=a},U:function(){return this.gb},error:function(a,b){if(!this.Yh){this.Oc||N.error(a);var c=null!==this.lb?this.lb.ErrorReconnectTime:1E4;N.info("Will restart in "+c+"ms");null!==this.A&&(this.an=new vc(this.A,this.lb));this.Es();this.lL();if(this.Oc){var d=this.Vp.ProgrammingSystemModeErrorText;window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.errorOccurred(d,a)}else d="An error happened; will automatically restart"; +if("The maximum number of visualization clients is already connected. Please try again later."===a||"Not enough memory in the PLC to create the client."===a)d=a;this.nl(d,b);this.I(new wc(this),c)}},XO:function(){this.Uu("The webvisualization license expired.","License Expired")},Uu:function(a,b){this.Yh||(N.warn(a+" Webvisualization is stopped"),this.nl(b),this.Es(),this.ML(new wc(this)))},QQ:function(a){this.Bb=a},Ns:function(a){var b=this;this.nb=window.setTimeout(function(){b.Kx()},a)},rd:function(a){null!== +this.Bb&&(this.Bb.push(a),null!==this.cd&&this.cd.qt()&&(clearTimeout(this.nb),this.Ns(0)))},pE:function(){return""!==this.getConfiguration().LoginVisu.toLowerCase()},wK:function(){if(!this.Oc){var a=this.A;null===a&&null!==this.an&&this.an.iS()&&(a=this.an.ri);null!==a&&a.la!==Ua.m&&a.Th!==Ua.xa&&(new lb(this,a)).mQ()}},lL:function(){var a=this.gb.Hl(),b;for(b=0;20>b;++b)a.restore()},WG:function(){Ka.Tj(this.sg,"ProgrammingSystemMode",!1)?(this.Oc=!0,Ka.Tj(this.sg,"ProgrammingSystemModeCefSharp", +!1)&&CefSharp.BindObjectAsync("ProgrammingSystemAccess")):this.Oc=!1},changeUpdateRate:function(a){null!==this.lb&&(aa?2*a:Math.floor(1.3*a)},lo:function(a,b){this.Dd[a]=b},OC:function(a){a>this.ma.byteLength&&this.Oz(a)},yo:function(a){this.cb>=this.ma.byteLength&&this.mL();var b=this.cb;this.cb++;this.lo(b,a)},Bo:function(a,b,c){var d=new Uint8Array(a);this.OC(this.size()+c);if(200>4)+65)+String.fromCharCode((b&15)+65)}Ha=function(){this.ma="";this.cb=0};Ha.prototype={lo:function(b,c){var d=null,e=null;0G)throw Error("Invalid start offset");if(0===u||G+u>g.byteLength)throw Error("Valid data range exceeded");this.ha=k;this.Sf=u;this.ma=g;this.s=G;this.Dd=new Uint8Array(this.ma);this.oe=l;this.M=new xc(this,this.ha)};Mb.D=function(g,k,l,G,u){return D.ZD()?new yc(g,k,l,G,u):D.bk()?new zc(g,k,l,G,u):new Mb(g,k,l,G,u)};Mb.prototype= +{xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(g){this.oe=new na(g)},ja:function(g,k){var l=g*(k?2:1);if(0>g||this.s+l>this.ma.byteLength)throw Error("INDEX_SIZE_ERR: DOM Exception 1");g=this.M.HC(this.ma,this.s,g,l,k,this.oe);this.s+=l;return g},Xe:function(g){return this.M.Xe(g)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(g){this.s=g},size:function(){return this.Sf},m:function(){return this.M.bB()}, +h:function(){return this.M.aB()},xa:function(){return this.M.dB()},Mf:function(){return this.M.Gt()},J:function(){return this.M.cB()},Uc:function(){return this.M.Ft()},Pb:function(){return this.M.eB()},Ya:function(){return this.M.Xd()},Nf:function(){return this.M.Yd()},Da:function(g){return this.Dd[g]},getUint8:function(){var g=this.Da(this.s);this.s++;return g},oj:function(){return this.ma}};var d={Int8:1,Int16:2,Int32:4,Uint16:2,Uint32:4,Float32:4,Float64:8},e;for(e in d)if(d.hasOwnProperty(e)){c(this, +e,d[e]);var f="_getFloat64";Mb.prototype[f]=Mb.prototype.m;f="_getFloat32";Mb.prototype[f]=Mb.prototype.h;f="_getInt64";Mb.prototype[f]=Mb.prototype.Ya;f="_getUint64";Mb.prototype[f]=Mb.prototype.Nf;f="_getInt32";Mb.prototype[f]=Mb.prototype.xa;f="_getUint32";Mb.prototype[f]=Mb.prototype.Mf;f="_getInt16";Mb.prototype[f]=Mb.prototype.J;f="_getUint16";Mb.prototype[f]=Mb.prototype.Uc;f="_getInt8";Mb.prototype[f]=Mb.prototype.Pb}})();var Nb;Nb=function(a){this.M=a}; +Nb.prototype={xj:function(){return this.M.xj()},Mj:function(){return this.M.Mj()},Lj:function(a){this.M.Lj(a)},ja:function(a,b){return this.M.ja(a,b)},Xe:function(a){return this.M.Xe(a)},qj:function(){return this.M.qj()},If:function(){return this.M.If()},ga:function(){return this.M.ga()},seek:function(a){this.M.seek(a)},size:function(){return this.M.size()},getFloat64:function(){this.Ad(8);return this.M.getFloat64()},getFloat32:function(){this.Ad(4);return this.M.getFloat32()},getInt32:function(){this.Ad(4); +return this.M.getInt32()},getUint32:function(){this.Ad(4);return this.M.getUint32()},getInt16:function(){this.Ad(2);return this.M.getInt16()},getUint16:function(){this.Ad(2);return this.M.getUint16()},Yd:function(){this.Ad(8);return this.M.Yd()},Xd:function(){this.Ad(8);return this.M.Xd()},getInt8:function(){return this.M.getInt8()},getUint8:function(){return this.M.getUint8()},Da:function(a){return this.M.Da(a)},oj:function(){return this.M.oj()},Ad:function(a){if(8===a||4===a||2===a){var b=this.M.ga(); +0!==b%a&&this.M.seek(b+a-b%a)}}};var yc; +yc=function(a,b,c,d,e){if(!(a instanceof ArrayBuffer))throw new TypeError("BinaryReader_DataView requires an ArrayBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.byteLength);if(!(c instanceof na))throw new TypeError("BinaryReader_DataView requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.byteLength)throw Error("Valid data range exceeded");this.ha=b;this.Pd= +new DataView(a,0,e+d);this.Sf=e;this.ma=a;this.s=d;this.oe=c;this.M=new xc(this,this.ha)}; +yc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");a=this.M.HC(this.ma,this.s,a,c,b,this.oe);this.s+=c;return a},Xe:function(a){return this.M.Xe(a)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf}, +getFloat64:function(){var a=this.Pd.getFloat64(this.s,this.ha);this.s+=8;return a},getFloat32:function(){var a=this.Pd.getFloat32(this.s,this.ha);this.s+=4;return a},Xd:function(){if("function"===typeof this.Pd.Xd){var a=this.Pd.Xd(this.s,this.ha);this.s+=8}else a=this.M.Xd();return a},Yd:function(){if("function"===typeof this.Pd.Yd){var a=this.Pd.Yd(this.s,this.ha);this.s+=8}else a=this.M.Yd();return a},getInt32:function(){var a=this.Pd.getInt32(this.s,this.ha);this.s+=4;return a},getUint32:function(){var a= +this.Pd.getUint32(this.s,this.ha);this.s+=4;return a},getInt16:function(){var a=this.Pd.getInt16(this.s,this.ha);this.s+=2;return a},getUint16:function(){var a=this.Pd.getUint16(this.s,this.ha);this.s+=2;return a},getInt8:function(){var a=this.Pd.getInt8(this.s);this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.Pd.getUint8(a)},oj:function(){return this.ma}};var zc; +zc=function(a,b,c,d,e){if("string"!==typeof a)throw new TypeError("BinaryReader_StringBased expects a string");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.length/2);if(!(c instanceof na))throw new TypeError("BinaryReader requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.length/2)throw Error("Valid data range exceeded");this.ha=b;this.Sf=e;this.ma=a;this.s=d;this.oe= +c;this.M=new xc(this,b)}; +zc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");var d=Array(a);if(b){if(this.ha)for(b=0;b=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf},getFloat64:function(){var a=this.M.bB();this.s+=8;return a},getFloat32:function(){var a=this.M.aB();this.s+=4;return a},Xd:function(){return this.M.Xd()},Yd:function(){return this.M.Yd()},getInt32:function(){var a=this.M.dB();this.s+=4;return a},getUint32:function(){var a= +this.M.Gt();this.s+=4;return a},getInt16:function(){var a=this.M.cB();this.s+=2;return a},getUint16:function(){var a=this.M.Ft();this.s+=2;return a},getInt8:function(){var a=this.M.eB();this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.ma.charCodeAt(2*a)-65<<4|this.ma.charCodeAt(2*a+1)-65},oj:function(){return this.ma}};var xc;xc=function(a,b){this.va=a;this.ha=b}; +xc.prototype={Xe:function(a){var b=this.va.ga(),c=0;if(a)for(;0!==this.va.getUint16();)c++;else for(;0!==this.va.getUint8();)c++;this.va.seek(b);b=this.va.ja(c,a);a?this.va.getUint16():this.va.getUint8();return b},bB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,8)),c=this.va.Da(this.Sb(a,1,8)),d=this.va.Da(this.Sb(a,2,8)),e=this.va.Da(this.Sb(a,3,8)),f=this.va.Da(this.Sb(a,4,8)),g=this.va.Da(this.Sb(a,5,8)),k=this.va.Da(this.Sb(a,6,8)),l=this.va.Da(this.Sb(a,7,8));a=1-2*(b>>7);b=((b<<1& +255)<<3|c>>4)-(Math.pow(2,10)-1);c=(c&15)*Math.pow(2,48)+d*Math.pow(2,40)+e*Math.pow(2,32)+f*Math.pow(2,24)+g*Math.pow(2,16)+k*Math.pow(2,8)+l;return 1024===b?0!==c?NaN:Infinity*a:-1023===b?a*c*Math.pow(2,-1074):a*(1+c*Math.pow(2,-52))*Math.pow(2,b)},aB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4)),e=this.va.Da(this.Sb(a,3,4));a=1-2*(b>>7);b=(b<<1&255|c>>7)-127;c=(c&127)<<16|d<<8|e;return 128===b?0!==c?NaN:Infinity*a:-127===b? +a*c*Math.pow(2,-149):a*(1+c*Math.pow(2,-23))*Math.pow(2,b)},dB:function(){var a=this.Gt();return a>Math.pow(2,31)-1?a-Math.pow(2,32):a},Gt:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4));a=this.va.Da(this.Sb(a,3,4));return b*Math.pow(2,24)+(c<<16)+(d<<8)+a},cB:function(){var a=this.Ft();return a>Math.pow(2,15)-1?a-Math.pow(2,16):a},Ft:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,2));a=this.va.Da(this.Sb(a,1,2));return(b<< +8)+a},eB:function(){var a=this.va.Da(this.va.ga());return a>Math.pow(2,7)-1?a-Math.pow(2,8):a},HC:function(a,b,c,d,e,f){var g=null;if(e){if(this.ha&&0===b%2)try{g=new Int16Array(a,b,c)}catch(k){}if(null===g)if(g=new Int16Array(Array(c)),b=new Uint8Array(a,b,d),this.ha)for(a=0;a>>0)+1;d=~b;4294967296<=a&&(a-=4294967296,d+=1);return-1*(a+Math.pow(2,32)*d)},Sb:function(a,b,c){return a+(this.ha?c-b-1:b)}};var Ac; +Ac=function(a,b,c){if(!(a instanceof Ga))throw new TypeError("BinaryWriter expects a BinaryBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");this.bh=a;this.ha=b;this.gd=-1;this.Us=c};Ac.D=function(a,b,c){null===c|void 0===c&&(c=(new Configuration).td());return D.bk()?new Bc(a,b,c):new Ac(a,b,c)}; +Ac.prototype={dM:function(a){var b=a.length/2,c;if(1!==b&&2!==b&&4!==b)throw Error("Unexpected size for swapping");for(c=0;ca){var d=~(-a&4294967295|0)+1|0;b[0]=d;b[1]=~(-a/4294967296|0)+!d|0}this.Eq(c,8)},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d=a.data(),e=0;ea&&(b=c=~(-a&4294967295|0)+1|0,c=~(-a/4294967296|0)+!c|0);this.Bd(this.Je(b,32,!1));this.Bd(this.Je(c,32,!1))},Ao:function(a){this.Bd(this.Gx(a,23,8))},ot:function(a){this.Bd(this.Gx(a,52,11))},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d= +a.data(),e=0;e(g=0!==k?0:g),ja=Math.floor(g=Math.abs(g)),va=g-ja,Xa;for(a=G;a;u[--a]=0);for(a=d+2;ja&&a;u[--a]=ja%2,ja=Math.floor(ja/2));for(a=d+1;0=e&&l<=d?a+1:d+1-(l=e- +1)))+1]){if(!(Xa=u[g]))for(va=g+2;!Xa&&vaa-2?-1:a-3;++a=e&&l<=d?++a:l>=1);va=g=0;a=(c=(ka?"1":"0")+c+u.slice(a,a+b).join("")).length;for(b=[];a;va=(va+1)% +8)g+=(1<-c-1||ae||0>a)this.tA("encodeInt::overflow"),a=0;for(0>a&&(a+=e);a;a=Math.floor(a/256))d[d.length]=String.fromCharCode(a%256);for(b=-(-b>>3)-d.length;b;b--)d[d.length]=String.fromCharCode(0);return(this.ha?d:d.reverse()).join("")}, +tA:function(a){throw Error(a);}};var Dc;Dc=function(a,b,c){this.M=Mb.D(a,b,c,void 0,void 0)};Dc.prototype={uj:function(){var a=0,b=0;do{var c=this.M.getUint8();a|=(c&127)<>=7;this.jf.Ra(d&127);if(0!==d>>7)throw Error("Value "+a+" cannot be written as an MBUI with "+b+" bytes");},HB:function(a){var b=0;do a>>=7,b++;while(0b&&(this.to=b-a.L,this.re.style.left=this.to+"px");this.uo+a.aa>c&&(this.uo=c-a.aa,this.re.style.top=this.uo+"px")},vH:function(a,b,c,d){var e=document.createElement("div");e.id="cdsTooltip";e.style.msUserSelect= +"none";e.style.WebkitUserSelect="none";e.style.MozUserSelect="none";e.style.userSelect="none";e.style.position="absolute";e.style.left=a+"px";e.style.top=b+"px";this.to=a;this.uo=b;e.innerHTML=c;e.style.borderStyle="solid";e.style.font=d;e.style.color=this.ej.yv;e.style.borderColor=this.ej.dv;e.style.borderWidth=this.ej.Pj+"px";e.style.padding="2px 3px 2px 3px";e.style.backgroundColor=this.ej.wv;e.style.zIndex=Va.PF;return e}};var Xc; +Xc=function(a,b,c,d){this.T=null;this.eh=this.jb=this.Ah=this.zh=this.Rd=this.Qd=this.ra=this.na=this.qd=this.pd=0;this.Ii="solid";this.Hi="";this.mc=null;this.up=this.tp=1;this.Ma=new ib(0);this.bc=a;c?(this.Z=window.document.createElement("div"),this.Z.id="cdsClip",this.Z.style.overflow="hidden",this.Z.style.position="relative",this.bc.appendChild(this.Z)):this.Z=this.bc;this.fa=b;this.fg=null;this.ta="";this.Zq=Va.Pp;this.Ub=d}; +Xc.prototype={initialize:function(){},MA:function(){},pb:function(){this.T&&this.O().parentNode===this.T?this.T.removeChild(this.O()):N.warn("Error when removing a client object. This node doesn't have a parent:"+this.O().id)},update:function(a,b,c,d,e,f,g,k,l,G,u){this.pd=a;this.qd=b;this.na=c;this.ra=d;this.Qd=e;this.Rd=f;this.zh=g;this.Ah=k;this.jb=l;this.fa.bD(G);this.rM(a,b,c,d,e,f,g,k,l,u)},lx:function(){},mx:function(a){var b=window.document.createElement("div");b.style.overflow="hidden";b.style.position= +"absolute";b.style.margin="";b.style.padding="";b.id=a;b.style.left="0px";b.style.top="0px";b.style.width=this.na+"px";b.style.height=this.ra+"px";a=J.eP(a+"_canvas",this.na,this.ra);b.appendChild(a);return b},IR:function(a){a?this.LR():this.JR()},aS:function(a,b){this.tp=a;this.up=b},O:function(){return this.bc},rM:function(a,b,c,d,e,f,g,k,l,G){var u=this;e=void 0===this.vl;void 0!==this.vl&&this.vl!==this.fa.gC()?window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G)}):(this.vl=!this.fa.gC())?(null!== +this.fg&&(this.O().removeEventListener("transitionend",this.fg,!1),this.fg=null),e?(window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,100)}),window.WebvisuInst.wo(function(){u.Xi()})):(this.Xi(),window.WebvisuInst.wo(function(){u.wi(a,b,c,d,g,k,l,G,100)}))):(e||""===G?window.WebvisuInst.wo(function(){u.Xi()}):(this.fg=function(){u.Xi()},this.O().addEventListener("transitionend",this.fg,!1)),window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,0)}))},wi:function(a,b,c,d,e,f,g,k,l){c=this.O(); +d=this.Z;g=1/this.tp;var G=1/this.up;this.We()&&this.lx();c.style.left=a+"px";c.style.top=b+"px";c.style.width=this.ag()+"px";c.style.height=this.$f()+"px";d.style.width=this.ag()+"px";d.style.height=this.$f()+"px";0d&&(e=c[d].O().nextSibling);null===e||void 0===e?this.Z.append(a.O()):this.Z.insertBefore(a.O(),e)}else for(d in c){if(bb||0>c||b>this.na||c>this.ra)throw Error("Illegal argument!");"mousedown"===a?this.mc(d.rc(),0,db.J,[],void 0):"mousemove"===a?this.mc(d.rc(),0,db.m,[],void 0):"mouseup"===a&&this.mc(d.rc(),0,db.h,[],void 0)}; +r.YM=function(a,b){if(this.Gd instanceof $c)this.fc.Sc(this,Vc.RD(a,b));else{a=a.split(".");var c=this.Gd;if(null!==c){for(var d=0;dk&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.xc().X,b=this.Wa.Ud().Y,d>k&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.Ud().X,b=this.Wa.Ud().Y,a>ja&&(a=this.Wa.xc().X-c),b>va&&(b=this.Wa.xc().Y-d),a=Math.min(Math.max(0,ja),Math.max(0,a)),b=Math.min(Math.max(0,va),Math.max(0,b)))),g=this.Wa.Gl().X-a,k=this.Wa.Gl().Y-b);Oc.prototype.update.call(this, +a,b,c,d,e,f,g,k,l,G,u);this.O().style.opacity=1;this.Aa&&(this.Aa.style.transition=u,this.it&&(this.Aa.style.backgroundColor=ka),this.Aa.style.opacity=1)}};r.Mq=function(a){return this.s.zA?this.Wa.xc().X:this.s.nt?this.Wa.Ud().X-a:this.Wa.xc().X+(this.Wa.Ud().X-this.Wa.xc().X)/2-a/2};r.ae=function(a){this.Aa&&a.appendChild(this.Aa);Oc.prototype.ae.call(this,a)}; +r.close=function(a){if(this.lA)this.lB(a);else{var b=this;this.ld(this.O(),"transitionend",function(){b.lB(a)})}this.Aa&&(this.Aa.style.opacity=0);this.O().style.transform="scale(0)";this.O().style.opacity=0};r.lB=function(a){this.Aa&&this.T===this.Aa.parentNode&&this.T.removeChild(this.Aa);a()}; +r.bL=function(){var a=this,b=D.Qb();this.ld(this.Aa,b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointermove":"mousemove",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.ld(this.Aa,"touchstart",function(c){a.Fd(c)}),this.ld(this.Aa,"touchmove",function(c){a.Fd(c)}),this.ld(this.Aa,"touchend",function(c){a.Fd(c)}))}; +r.pM=function(){var a=this,b=D.Qb();this.Aa.removeEventListener(b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointermove":"mousemove",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.Aa.removeEventListener("touchstart",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchmove",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchend",function(c){a.Fd(c)}))}; +r.Fd=function(a){this.Aa&&a.target===this.Aa&&a.stopPropagation()};r.Ej=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.lp=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.ku=function(a){if(null!==a.touches&&1<=a.touches.length){var b=J.sm(a.touches[0]);this.ms(a,b,!0)}}; +r.ms=function(a,b,c){switch(a.type){case "mouseout":case "pointerout":this.Vk?(a.preventDefault(),this.Fw(a,b)):this.Pz();break;case "mousedown":case "pointerdown":case "touchstart":a.preventDefault();this.zK(b,c);var d=this;this.g.Bi.tt(a,d,function(e){d.Ej(e)},function(e){d.Ej(e)});break;case "mousemove":case "pointermove":case "touchmove":a.preventDefault();this.ls(a,b,c);break;case "mouseup":case "pointerup":case "touchend":a.preventDefault(),this.AK(a,c)}}; +r.zK=function(a,b){b||(this.Yq=this.Z.style.cursor,this.Z.style.cursor="move");this.yc=J.Za().getBoundingClientRect();this.yc.x=0;this.yc.y=0;this.xz=this.yc.x+2;this.Zn=this.yc.x+this.yc.width-2;this.yz=this.yc.y+2;this.Yn=this.yc.y+this.yc.height-2;b=new I(parseInt(this.O().offsetLeft,10),parseInt(this.O().offsetTop,10));this.Is(a);this.bs=new I(b.X-a.X,b.Y-a.Y);this.Vk=!0};r.ls=function(a,b,c){this.Vk?this.Fw(a,b):c||this.Pz()};r.AK=function(a,b){this.Vk&&(this.bz(b),this.Vz(a))}; +r.Fw=function(a,b){this.Is(b);b.X<=this.xz||b.X>=this.Zn||b.Y<=this.yz||b.Y>=this.Yn?(this.bz(this),this.Vz(a)):(a=b.X+this.bs.X,b=b.Y+this.bs.Y,a<=this.yc.x&&(a=this.yc.x),a+this.na>=this.Zn&&(a=this.Zn-this.na),b<=this.yc.y&&(b=this.yc.y),b+this.ra>=this.Yn&&(b=this.Yn-this.ra),this.O().style.top=b+"px",this.O().style.left=a+"px")};r.bz=function(a){a||(this.Z.style.cursor=""!==this.Yq?this.Yq:"default");this.Vk=!1}; +r.Vz=function(a){if(null!==this.g.A){var b=new I(parseInt(this.O().style.left,10),parseInt(this.O().style.top,10));a=this.rj(a).Ld;this.Is(a);a=this.Hx(a);this.mc(b.rc(),0,537,[],a)}};r.Pz=function(){"move"===this.Z.style.cursor&&(this.Z.style.cursor="default")};r.Is=function(a){D.Vh()&&D.Yj(a)};var Rc;Rc=function(a,b,c){this.Ga=a;this.Vf=b;(this.Li=null!==b)&&this.Vf.appendChild(this.Ga.canvas);this.qy=c}; +Rc.prototype={O:function(){return this.Li?this.Vf:this.Ga.canvas},eR:function(a,b){this.Ga.canvas.id="cdsCanvas"+a+"_Layer_"+b.toString();this.Li&&(this.Vf.id="cdsClip"+a+"_Layer_"+b.toString())},vS:function(a,b,c,d,e,f,g,k,l,G,u){g.Qc()?(this.Ga.x=a,this.Ga.y=b,this.Ga.canvas.style.left=a+"px",this.Ga.canvas.style.top=b+"px"):this.gG(g);this.Ga.width=c;this.Ga.height=d;this.Ga.kQ=e;this.Ga.lQ=f;this.Ga.canvas.style.width=-1===this.Ga.width?"100%":c+"px";this.Ga.canvas.style.height=-1===this.Ga.height? +"100%":d+"px";this.Li&&(this.Vf.fT=u,this.Vf.style.left=k+"px",this.Vf.style.top=l+"px",this.Vf.style.width=G+"px",this.Vf.style.height=u+"px")},gG:function(a){a.right()&&(this.Ga.canvas.style.right="0px");a.left()&&(this.Ga.canvas.style.left="0px");a.top()&&(this.Ga.canvas.style.top="0px");a.bottom()&&(this.Ga.canvas.style.bottom="0px")},zu:function(){this.Ga.x=0;this.Ga.y=0;this.Ga.width=-1;this.Ga.height=-1}};var Jc; +Jc=function(a){this.T=null;this.sa=[];this.$b={};this.Qa=-1;this.mc=null;this.Gf=-1;this.kh=a;this.gr=this.Wi=null;this.ps=!1;this.ng=new cd;this.Ma=new ib(0);this.$q=null}; +Jc.prototype={uA:function(a,b){32767===a?(b.O().id="cdsDemoMode",b.O().style.zIndex=Va.cv,b.ae(J.Za()),this.$q=b):-1===this.Qa?(b.zj()||b.SB()?(b.Fg(a),this.Du(b,1),b.Gu(!0),this.ps=!0):(b.ua instanceof Jc?null===this.Wi&&(this.Wi=a):this.ps&&!this.kh?this.Du(b,a+1):this.Du(b,a),b.Gu(this.kh),b.Fg(a)),b.Kg(this.ix(a)),this.Yz(a,b)):(b.Fg(this.Qa),this.Me(this.Qa).JM(a,b))},Du:function(a,b){if(this.Ma.cm()&&!a.Ma.Qc()){var c=this.LB(a.Ma);a.KR(this.T,c,b)}else a.ae(this.T,b)},su:function(){if(-1=== +this.Qa)this.vx(),this.Ma.cm()&&this.T&&this.ng.clear(this.T),this.ps=!1;else{var a=this.Me(this.Qa);void 0!==a&&a.QP()}},tu:function(){this.vx();this.Qa=-1},Dh:function(a){for(var b=0;bb.byteLength?!0:!1:!1}};var Ua;Ua=function(){};Ua.xa=43981;Ua.m=0;Ua.Pb=1;Ua.Uc=129;Ua.h=0;Ua.J=0; +Ua.Ya=1;var id;id=function(a,b,c){this.Ks=a;this.Ls=b;this.Wz=c;this.ne=0};id.read=function(a){var b=a.getUint16(),c;if(52565!==b)throw Error("Unsupported protocol: "+b);this.Dk=a.getUint16();if(12>this.Dk)throw Error("Unsupported length of header: "+this.Dk);this.Ks=a.getUint16();this.Ls=a.getUint16();this.Wz=a.getUint32();this.ne=a.getUint32();b=this.Dk-12;16<=this.Dk&&(a.getUint16(),b-=2);for(c=0;ca.length)return"Unexpected format of service: 2";5<=a.length&&(b="true"===a[4]);return new Ta(parseInt(a[0],10),0===parseInt(a[1],10),parseInt(a[2],10),"true"!==a[3],b)}catch(c){return"Exception during readOpenConnectionResult: "+c}},JP:function(){var a=this.iA(),b;for(b=0;bb?b:4294967290===b?"Visualization is not allowed":4294967292===b?"No more memory on the plc":4294967293===b?"Connection to invalid application":4294967289===b?"Too many clients are registering at the same time":"Unknown error"}return 65410===a?"no rights":65407===a?"Visu not supported by the plc":"Unknown tag ID"}return"Unexpected format of service: 4"}catch(c){return"Exception during readVisuRegisterClientResult: "+ +c}},KP:function(){try{for(this.Md(4,3);!this.P.If();){var a=this.sh.uj();this.sh.uj();if(65407===a)return"Visu not supported by the plc";var b=this.P.getUint32();return 0===b||1===b?b:2===b?"Client registration failed":3===b?"Client registration failed due to an invalid external id":4===b?"The maximum number of visualization clients is already connected. Please try again later.":5===b?"Not enough memory in the PLC to create the client.":"Unknown error"}return"Unexpected format of service: 5"}catch(c){return"Exception during readVisuIsRegisteredClientResult: "+ +c}},MP:function(){try{return this.Md(4,2),0}catch(a){return"Exception during readVisuRemoveClientResult: "+a}},qu:function(a){var b=0===a.direction?5:2,c=132;a.status.Yb===kd.J&&(b=Ua.Pb,c=Ua.Uc);try{var d=this.Md(8,b);b={};b[c]=function(e,f){e.Gb(f,{2:function(g){a.bi.uS=g.P.getUint32();a.bi.xe=g.P.getUint32()},3:function(g){a.Bp=g.P.getUint32()},8:function(g){a.status.result=g.P.getUint16()}})};b[34]=function(e){e.P.getUint32()};b[65410]=function(e,f){e.Gb(f,{32:function(g){a.status.result=g.P.getUint16()}})}; +this.Gb(d.ne,b)}catch(e){return"Exception during readtFileAndSessionInfoResult: "+e}},FC:function(a){var b=0===a.direction?7:4,c=0;try{var d=this.Md(8,b),e=0===a.direction?a.bi.xe:a.Uh.xe,f={};0===a.direction?(f[6]=function(g){c=g.P.getUint32()},f[7]=function(g,k){a.status.se=!0;f[5](g,k)},f[5]=function(g,k){null===a.buffer&&(a.buffer=Ga.D(e));if(a.status.wd+c<=e&&c<=k){for(k=0;k=e):a.status.result=g};this.Gb(d.ne,f)}catch(g){return"Exception during readtFileAndSessionInfoResult: "+g}},GP:function(a){var b=0===a.direction?a.bi.xe:a.Uh.xe;b=a.status.result===Ua.h&&a.status.wd===b&&a.status.se?8:9;try{var c=this.Md(8,b);this.Gb(c.ne,{7:function(d){d.P.getUint16();a.status.se=!0}})}catch(d){return"Exception during readFinishFileTransferResult: "+d}},Gj:function(a){try{var b= +this.Md(4,4),c=0,d=a;this.Gb(b.ne,{132:function(e,f){e.Gb(f,{2:function(g){g.P.getUint32();var k=g.P.getUint32(),l=g.P.getUint32();g=g.P.getUint32();d=new hb(k,l,g)},4:function(){d.finish()},1:function(g){c=g.P.getUint32()},3:function(g,k){d.Wd().Bo(g.P.oj(),g.P.ga(),Math.min(k,d.aP()))}})}});return 0!==c?65535===c?"Client id not present or no longer valid":c.toString():null===d?"Unexpected format of service: 6":d}catch(e){return"Exception during readVisuGetPaintDataResult: "+e}},RL:function(a){this.P.seek(this.P.ga()+ +a)},Md:function(a,b){var c=id.read(this.P),d=4+c.Dk+c.ne;if(this.P.size()=c.HB(b.size())?2:6;c.G(b.size(),e);this.Fm(d,b)},BN:function(b){var c=this.Pc(1,2);this.yw(b,1);this.Ic(c)},yw:function(b,c){this.ea.G(34);this.ea.G(4,3);this.F.K(b);this.ea.G(37);this.ea.G(4,3);this.F.K(c)},CN:function(b,c){var d=this.Pc(1,2);b= +this.wH(b,c);this.yw(2,2);this.ea.G(129);this.Fq(b,this.ea,this.F);this.Ic(d)},It:function(b,c,d,e){if(void 0===b||null===b)b="";void 0===c&&(c=null);void 0===d&&(d=0);void 0===e&&(e=Ua.J);var f=this.Pc(1,2),g=null,k=null,l=new oa("utf-8");this.ea.G(34);this.ea.G(4,3);this.F.K(e);0!==d&&(this.ea.G(35),this.ea.G(4,3),this.F.K(d));null!==c&&(k=l.encode(c));b=l.encode(b);b=this.VI(b);null!==k&&0!==d&&e===Ua.Ya&&(g=this.UI(k,d));this.ea.G(129);this.ea.G(b.size()+(null!==g?g.size():0),2);this.Fm(this.F, +b);null!==g&&this.Fm(this.F,g);this.Ic(f)},DN:function(){var b=this.Pc(1,3);this.F.K(0);this.Ic(b)},GS:function(b,c,d,e){var f=this.Pc(4,1);b=this.F.hb(b,!1);var g=b.length()+4+1,k=this.bg(g,4,0),l=0,G=0,u=524288,ka=this.F.hb(c,!1),ja=this.F.hb(d,!1);c&&0d-b.status.wd&&(f=d-b.status.wd);d=this.bg(f,4,0);this.ea.G(6);this.ea.G(4,3);this.F.K(f);b.status.Rh=f;this.ea.G(5);this.ea.G(4+f+d,3);this.F.K(b.Bp);for(e=0;el&&(l=32);0!==l%4&&(l+=4-l%4);for(c=0;cMath.abs(a-d)&&2>Math.abs(b-e)&&2>Math.abs(c-f)}:function(a,b,c,d,e,f){return a===d&&b===e&&c===f}},FI:function(){N.m("Workaround for image "+this.hh+" without width/height activated");var a=this;D.bE(this.Oe,function(b){a.Rs(!1,b)},function(b){N.warn("Retrieving workaround image failed so going on as formerly, reason: "+b);a.Lm(3)})}};var vb; +vb=function(){this.yf={};this.hf=null;this.tm=""}; +vb.prototype={Ih:function(a){a=a.toLowerCase().split(".");var b=[],c;for(c=0;cb.length)return null;a=b[b.length-1];if(1===b.length)return this.Zi(this.kn(a));c=b[b.length-2];if(2===b.length){var d=this.yI(c);if(null!==d)return this.Zi(this.jr(a,d));d=this.lr(c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Zi(this.kn(a))}b=b.slice(0,b.length-2).join(".");d=this.lr(b);if(null!==d&&(d=this.kr(c,d),null!==d))return this.Zi(this.jr(a,d)); +d=this.lr(b+"."+c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Ih(c+"."+a)},uQ:function(a){this.hf=a},Zi:function(a){return null!==a?a.path:null},lr:function(a){var b=this.Px(a);null===b&&(b=this.zI(a));return b},Px:function(a){a=this.yf[a];return void 0!==a?a:null},zI:function(a){if(null!==this.hf){a=a.toLowerCase();var b,c=null;for(b=0;bc.length)){var d=this.mK(J.Sh(c[1]));var e=J.Sh(c[0]).toLowerCase();var f=J.Sh(c[2]).toLowerCase();var g=J.Sh(c[3]);c=this.yf[d];if(void 0===c){c={Fj:{}};var k=this.kx(e);k.entries[f]=this.Vq(f,g);c.Fj[e]=k;this.yf[d]=c}else k=c.Fj[e],void 0===k?(k=this.kx(e),k.entries[f]=this.Vq(f, +g),c.Fj[e]=k):k.entries[f]=this.Vq(f,g)}}},mK:function(a){return null===a||""===a?this.tm:a.toLowerCase()},kx:function(a){return{name:a,entries:{}}},Vq:function(a,b){return{id:a,path:b}}};var Fb;Fb=function(){};Fb.prototype={j:function(a){if(a.g.pa){var b=a.g.ba().wa();if(null!==b&&!(b instanceof Gc)&&(b=b.hd,null!==b&&void 0!==b)){b.xl();return}}a=a.g.qa;null!==a&&a.xl()}};var nd;nd=function(a,b){this.l=R.ye(b)};nd.prototype={j:function(a){a.vt();a.g.rb.Tl(this.l)}};var od; +od=function(a,b){this.l=R.ye(b)};od.prototype={j:function(a){a.getContext().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B());a.g.rb.Tl(this.l)}};var pd;pd=function(a,b){this.l=R.ye(b)};pd.prototype={j:function(a){a=a.getContext();a.save();a.beginPath();a.rect(this.l.u,this.l.v,this.l.C()+1,this.l.B()+1);a.clip()}};var qd;qd=function(){};qd.prototype={j:function(a){(a=a.g.so)&&a.QA()}};var rd; +rd=function(a,b,c,d){this.l=R.di(b,!1);this.ao=0!==b.getInt8();this._type=b.getInt8();switch(this._type){case 2:case 4:this.Xm=b.getUint32();this.Ym=b.getUint32();this.xi=b.getUint32();break;case 1:case 3:this.Yw=b.getInt16(),this.Xm=b.getUint32()}d.Zd()&&(this.l=d.gi(this.l))}; +rd.prototype={j:function(a){var b=a.getContext(),c=this.l.u,d=this.l.v,e=this.l.C(),f=this.l.B(),g=b.lineWidth;b.save();this.ko=a.g.getConfiguration().SemiTransparencyActive;a.getState().zg()?a.getState().Co(this.l):b.fillStyle=!0===this.ko?R.$a(this.Xm):R.ib(this.Xm);b.lineWidth=1;c+=.5;d+=.5;switch(this._type){case 2:case 4:this.KK(b,c,d,e,f);break;case 1:case 3:this.JK(b,c,d,e,f)}b.lineWidth=g;a.getState().zg()&&a.getState().Xl();b.restore()},uc:function(){return this.l},eO:function(){return!0=== +this.ko?R.$a(this.Ym):R.ib(this.Ym)},VN:function(){return!0===this.ko?R.$a(this.xi):R.ib(this.xi)},KK:function(a,b,c,d,e){if(!0===this.ko){var f=this.ao?R.$a(this.xi):"#000000";var g=R.$a(this.Ym);var k=R.$a(this.xi)}else f=this.ao?R.ib(this.xi):"#000000",g=R.ib(this.Ym),k=R.ib(this.xi);this.ao?(a.strokeStyle=f,a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e)):(a.fillRect(b,c,d,e),a.strokeStyle=g,a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c),a.moveTo(b,c),a.lineTo(b,c+e),a.stroke(),a.closePath(),a.strokeStyle= +f,a.beginPath(),a.moveTo(b,c+e),a.lineTo(b+d,c+e),a.lineTo(b+d,c),a.stroke(),a.closePath(),a.strokeStyle=k,a.beginPath(),a.moveTo(b+1,c+e-1),a.lineTo(b+d-2,c+e-1),a.moveTo(b+d-1,c+1),a.lineTo(b+d-1,c+e-1),a.stroke(),a.closePath())},JK:function(a,b,c,d,e){var f=new sd(this.Xm,this.Yw);if(this.ao)a.strokeStyle=R.ib(f.yB(0)),a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e);else{a.strokeStyle="#000000";a.fillRect(b,c,d,e);a.strokeRect(b,c,d,e);var g;for(g=0;g=b.ga()-a+16&&(this.wk= +!0,this.en=b.getFloat32(),this.fn=b.getFloat32(),d.Zd()&&(this.en=d.jo,this.fn=d.bj));this.Ea=null}; +Cb.prototype={j:function(a){a=a.getContext();var b=R.PE(this.l),c=this.l.clone(),d=this;this.OL(a,c,b);null!==this.Ea&&(this.Ea.loaded()?this.rk(a,this.Ea.Vo(),function(){return d.Ea.Wo()},c,!1):this.XH(a,this.l));this.QL&&(c=R.aq(a),a.strokeRect(this.l.u+c,this.l.v+c,this.l.C(),this.l.B()));this.YG(a,b)},iR:function(a){this.sf=a},YB:function(a,b){var c;this.vh&&null!==(c=b.Ih(this.sf))&&a.UP(c);if(null===this.Ea){if(a.pC())return b="ImageByImagePoolId?id="+this.sf,this.Ea=this.fj?a.tj(b,this.vh, +this.rg):a.tj(b,this.vh),this.Ea.Cg();c=b.Ih(this.sf);if(null!==c)return this.Ea=this.fj?a.tj(c,this.vh,this.rg):a.tj(c,this.vh),this.Ea.Cg();-1===this.sf.indexOf("VisuUserManagement.__VisualizationStyle.")&&N.warn("Imagepoolentry for "+this.sf+" not found");return!0}return this.Ea.Cg()},qv:function(){var a=this,b=this.l.clone();null!==this.Ea&&(this.rk(null,this.Ea.Vo(),function(){return a.Ea.Wo()},b,!0),this.Ea.bQ());return this.Jz},rk:function(a,b,c,d,e){if(this.mn&&this.wk){var f=c();f=new Ja(Math.round(this.en* +f.L),Math.round(this.fn*f.aa));d=J.fq(d,f,this);this.mn=!1;this.Em=!0}if(this.Em)e||a.drawImage(b,d.u,d.v,d.C(),d.B());else if(this.Lr){f=c();d.C()/f.L=c||0>=d||(b.save(),this.lG(b),a.getState().zg()&&a.getState().Co(this.cJ(g)),b.beginPath(),b.arc(0,0,g,this.aA,this.aA+this.eM,!1),this.uI&&(b.lineTo(0,0),b.closePath(),e&&b.fill()),b.restore(),f&&b.stroke(),a.getState().zg()&&a.getState().Xl())},cJ:function(a){return new Bb(-a,-a,a,a)},lG:function(a){var b=this.l.C(),c=this.l.B();null!==this.l.yd?this.l.yd.Do(a, +this.l):a.translate(this.l.u+.5,this.l.v+.5);a.translate(b/2,c/2);b>c?a.scale(b/c,1):a.scale(1,c/b)}};var ud;ud=function(a,b){this.ia=R.Pv(b)};ud.prototype={j:function(a){a=a.getContext();var b;for(b=0;bthis.ia.length)){a.getState().zg()&&a.getState().Co(this.cM());d&&this.UK(b);switch(this._type){case 0:this.YH(b,c,d);break;case 1:d&&this.ZH(b);break;case 2:d&&this.TH(b)}a.getState().zg()&&a.getState().Xl()}},UK:function(a){a=R.aq(a);var b;if(0!==a)for(b=0;bb&&(b=this.ia[e].X),this.ia[e].Y>d&&(d=this.ia[e].Y);return new Bb(a,c,b,d)}};var wd;wd=function(a,b,c,d){this._type=b.getUint16();switch(a){case 1:this.l=R.di(b,!0);break;case 45:this.l=R.ye(b);break;case 60:this.l=R.jF(b);break;case 61:this.l=R.iF(b)}d.Zd()&&(this.l=d.gi(this.l));this.Ek=!1;this.xM=new xd(this._type,this.l)}; +wd.prototype={j:function(a){this.Ek||(this.xM.mj(a),a.g.rb.eN())},uc:function(){return this.l},Fu:function(a){this.Ek=a}};var yd;yd=function(a,b){this._type=b.getUint16();a=b.getUint16();var c=b.getUint16();this.cj=new Ja(a,c);a=b.getUint16();c=b.getUint16();this.Ps=new Ja(a,c);b=b.getUint32();this.uM=0!==(b&1);this.vM=0!==(b&2);this.et=0!==(b&4)}; +yd.prototype={j:function(a){var b=a.getState().ys;var c=new I(b.X+this.Ps.L,b.Y+this.Ps.aa);if(this.et){var d=a.getState().ts;var e=c.X;c.X=d.X+this.Ps.L;d=e-c.X}else d=this.cj.L;c=new Bb(c.X,c.Y,c.X+d,c.Y+this.cj.aa);(new xd(this._type,c)).mj(a);this.uM&&(b.X+=this.cj.L);this.vM&&(b.Y+=this.cj.aa)}};var xd;xd=function(a,b){this._type=a;this.l=b.gP()}; +xd.prototype={UH:function(a,b,c,d,e,f,g){a.beginPath();if("function"===typeof a.ellipse){var k=d/2;e/=2;a.ellipse(b+k,c+e,k,e,0,0,2*Math.PI)}else{k=d/2*.5522848;var l=e/2*.5522848,G=b+d,u=c+e;d=b+d/2;e=c+e/2;a.moveTo(b,e);a.bezierCurveTo(b,e-l,d-k,c,d,c);a.bezierCurveTo(d+k,c,G,e-l,G,e);a.bezierCurveTo(G,e+l,d+k,u,d,u);a.bezierCurveTo(d-k,u,b,e+l,b,e);a.closePath()}f&&a.fill();g&&a.stroke()},$H:function(a,b,c,d,e,f,g){f&&a.fillRect(b,c,d,e);g&&a.strokeRect(b,c,d,e)},WH:function(a,b,c,d,e){a.beginPath(); +a.moveTo(b,c+e);a.lineTo(b+d,c);a.stroke()},mj:function(a){this.wg=a.getContext();this.Hg=a;this.x=this.l.u;this.y=this.l.v;this.w=this.l.C();this.Ec=this.l.B();this.radiusX=a.getState().ky;this.radiusY=a.getState().ly;this.fill=!a.getState().Yt();this.stroke=!a.getState().Oi;this.CC=this.l.yd;0>this.w||0>this.Ec||(this.Hg.getState().zg()&&this.Hg.getState().Co(this.l),this.NH())},NH:function(){var a=this.wg,b=this.x,c=this.y,d=this.w,e=this.Ec,f=this.radiusX,g=this.radiusY,k=this.fill,l=this.stroke, +G=this.CC;null!==G&&(a.save(),this.l.yd.Do(a,this.l));if(this.stroke&&null===this.CC){var u=R.aq(a);b+=u;c+=u}switch(this._type){case 0:this.$H(a,b,c,d,e,k,l);break;case 1:R.cE(a,b,c,d,e,k,l,f,g);break;case 2:this.UH(a,b,c,d,e,k,l);break;case 3:l&&this.WH(a,b,c,d,e);break;case 4:l&&(a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c+e),a.stroke())}null!==G&&a.restore();this.Hg.getState().zg()&&this.Hg.getState().Xl()}};var Ad; +Ad=function(a,b,c,d){if(3===a||11===a)var e=R.Nv(b);else if(46===a||47===a)e=R.lF(b);c=b.getUint32();this.dc=this.rJ(c);this.Jb=this.zM(c);this.Bw=0!==(c&16);this.BG=0!==(c&32);this.dL=0!==(c&64);this.vL=0!==(c&1024);this.et=0!==(c&2048);this.po=0!==(c&256);this.ql=0!==(c&512);this.l=R.ov(e,0!==(c&128));d.Zd()&&(this.l=d.gi(this.l));d=b.getUint16();this.ka=b.ja(d,11===a||47===a);this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka;this.Ek=!1}; +Ad.prototype={j:function(a){if(!this.Ek){this.Hg=a;this.wg=a.getContext();this.state=a.getState();if(this.dL){var b=this.state.ys;if(this.et){b=this.state.ts;var c=b.X;b=b.Y}else c=b.X,b=b.Y;a.Zd()&&(c=a.wm(c),b=a.xm(b));this.l=new Bb(c,b,c+this.l.C(),b+this.l.B())}this.OH()}},Ob:function(a){this.ka=a;this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka},uc:function(){return this.l},Qt:function(){switch(this.dc){case 1:return"LEFT";case 2:return"RIGHT";default:return"HCENTER"}},Vt:function(){switch(this.Jb){case 1:return"TOP"; +case 2:return"BOTTOM";default:return"VCENTER"}},Fu:function(a){this.Ek=a},OH:function(){var a=this.wg,b=this.state,c=this.Hg;a.save();null!==this.l.yd&&this.l.yd.Do(a,this.l);a.beginPath();a.rect(this.l.u-.5,this.l.v-.5,this.l.C()+1,this.l.B()+1);a.clip();a.fillStyle=b.hA;a.font=b.sj();var d=!1;var e=b.Gi;var f=a.font;!c.g.Yh&&(this.eG(a,c),!0===c.g.getConfiguration().AutoFontReductionActive&&this.ql||!1===c.g.getConfiguration().AutoFontReductionActive&&(this.po||this.ql))&&(d=this.iL(a,c));!1=== +d&&(this.Ui?this.As(a,c):this.Mz(a));if(this.BG){d=b.ys;var g=b.ts;d.X=this.l.u;d.Y=this.l.v;this.vL&&(g.X=d.X+1,g.Y=d.Y);d.X=this.l.u+this.hM(a)}c.g.Yh||!0!==c.g.getConfiguration().AutoFontReductionActive||!1!==this.ql||(b.cD(e),b.Lg(f));a.restore()},eG:function(a,b){var c=b.getState(),d,e;if(!0===b.g.getConfiguration().AutoFontReductionActive&&!this.ql){var f=a.font;var g=c.Gi;var k=this.l.C()+1;var l=this.l.B()+1;for(d=!0;(k>this.l.C()||l>this.l.B())&&1g&&(f=!0,d=this.BM(a,d,g,e),!1===c?(this.ka=d,this.As(a,b)):this.Ef=d);return f},BM:function(a,b,c,d){var e=!1,f="",g=!1,k=1;do{if(1===b.length)break;for(;this.Ys(a, +b.slice(0,k))g?(d=f,g=!1):(e=f,g=!0)}return!0===g?0"),this.dz?d.pP(u.u,u.v,this.ka,g.Sp):d.$M(this.ka,l,document.getElementById("background").width, +document.getElementById("background").height)):(c.save(),this.VH(c,f,u,g,G,e,k.lineHeight),this.dz&&(a=new Bb(0,0,0,0)),null!==a&&u.No(a)||this.EL(b.g,u),a=u,c.restore())},EL:function(b,c){var d=new Fa(513,b.A.la,0,0),e=Ga.D(8),f=Ac.D(e,!0);f.Dc(Math.floor(c.u));f.Dc(Math.floor(c.v));f.Dc(Math.ceil(c.V));f.Dc(Math.ceil(c.ca));d.Nb(e);b.Bb.push(d)},CG:function(b,c,d){var e=new Ja(0,0),f=b.font,g,k=0;b.font=c.Sp;for(g=0;g=b.C()?f=this.s.X-20-d.L-c.L:f=this.s.X+20,this.s.Y+20+c.aa>=b.B()?g=this.s.Y-20- +c.aa:g=this.s.Y+20;0>f&&(f=c.Lg&&(g=c.aa=b.ga()-d+10?(a=b.getUint16(),this.Xw=b.ja(a,!1)):this.Xw=""}; +Dd.prototype={j:function(){switch(this.cH){case 0:N.warn("The functionality start process is not possible in the webvisualization.");break;case 1:case 2:case 3:N.warn("The functionality printing is not possible in the webvisualization.");break;case 4:this.iK()}},iK:function(){"replace"===this.Xw?window.location.href=this.Ww:window.open(this.Ww)}};var Ed;Ed=function(a,b){this.pk=b.getUint8();this.pk=0===this.pk?2:3;this.gn=new Fd(b)}; +Ed.prototype={j:function(a){var b=new Gd(0,this.pk,this.gn.jh,null,this.gn);a.g.Kj(b)}};var Hd;Hd=function(a,b,c,d){a=d.g.i;c=0;this.Jc=b.getUint32();d=b.getUint16();this.gt=b.ja(d,!1);d=b.getUint32();null===a.buffer&&(a.buffer=Ga.D(d));for(;c=b.ga()-a+12&&(this.Qq=0===(b.getUint32()&1))}; +Kb.prototype={j:function(a){a.on.mt(this.l);this.Qq&&(a.xg().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B()),J.UO(a,this.l));a.g.rb.Tl(this.l)}};var Nd; +Nd=function(a,b){var c;this.Bx=b.getUint32();this.fI=b.getUint32();a=b.getUint16();this.Zy=b.ja(a,!1);a=b.getUint32();var d=b.getUint16();this.Id=[];this.sz=!1;try{for(c=0;c=c&&c-8192>4&15]+a[d&15]};var c=function(d){return d&255};R=function(){};R.ii=50;R.pv=0;R.em=1;R.Qj=2;R.dm=3;R.ei=function(d){var e=d.getInt16();d=d.getInt16();return new I(e,d)};R.jq=function(d){var e=d.getFloat32();d=d.getFloat32();return new I(e,d)};R.sw=function(d,e){var f=[],g;for(g=0;4>g;++g)f[g]=e(d);return f};R.Nv=function(d){return R.sw(d,R.ei)};R.kF=function(d){return R.sw(d,R.jq)};R.lF=function(d){var e=[];e[0]=R.ei(d);e[2]= +R.ei(d);e[1]=new I(e[2].X,e[0].Y);e[3]=new I(e[0].X,e[2].Y);return e};R.eF=function(d){return d[1].Y!==d[0].Y||d[2].X!==d[1].X||d[3].Y>16)+b(d>>8)+b(d)};R.$a=function(d){var e=d>>24&255;if(255===e)return"#"+b(d>>16)+b(d>>8)+b(d);e/=255;return"rgba("+ +c(d>>16)+", "+c(d>>8)+", "+c(d)+", "+e+")"};R.aq=function(d){return 1===d.lineWidth%2?.5:0};R.Yp=function(d){return 0<=d.indexOf("\n")||0<=d.indexOf("\r")};R.Nh=function(d,e,f){return e>d.length-1?d:d.substr(0,e)+f+d.substr(e+1)};R.fF=function(d){var e,f;var g=d.length;var k=e=0;for(f=R.pv;ef&&0!==(g&256)){var G=1,u=0,ka=0,ja=0,va=-1;for(g=0;g=va?(u+=Xa," "===l&&(ja=u,va=g)):(++G,ka=Math.max(u,ja),u=u-ja+Xa))}ka=Math.max(u,ka);return new I(ka,G*J.Pb(d))}return new I(l, +J.Pb(d))};R.pq=function(d,e){e=R.zF(e);var f=[],g;for(g=0;gu||0>ka?ja=Math.max(1,Math.min(g,k)/8):ja=u;d.beginPath();d.moveTo(e+ja,f);d.lineTo(e+g-ja,f);d.quadraticCurveTo(e+g,f,e+g,f+ja);d.lineTo(e+g,f+k-ja+.5);d.quadraticCurveTo(e+g,f+k,e+g-ja,f+k);d.lineTo(e+ja+.5,f+k); +d.quadraticCurveTo(e,f+k,e,f+k-ja+.5);d.lineTo(e,f+ja);d.quadraticCurveTo(e,f,e+ja+.5,f);d.closePath();l&&d.fill();G&&d.stroke()}})();var jf;jf=function(a,b,c,d){a=b.getUint32();!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(a):this.kb=R.ib(a)};jf.prototype={j:function(){J.Za().style.backgroundColor=this.kb}};var Oe;Oe=function(a,b){this.cK=b.getUint16();this.dK=b.getUint16();a=b.getUint16();this.ka=b.ja(a,!1)}; +Oe.prototype={j:function(){var a=J.h("Message ID: {0} Message description: {1}",this.dK,this.ka);switch(this.cK){case 0:break;case 1:N.info(a);break;case 2:N.warn(a);break;case 4:case 8:N.error(a);break;case 16:N.m(a);break;default:N.h("Unknown log level")}}};var Ve;Ve=function(a,b){this.gK=1===b.getUint16()?"copy":"source-over"};Ve.prototype={j:function(a){a.getContext().globalCompositeOperation=this.gK}};var qe; +qe=function(a,b){this.gA=b.getUint16();this.tg=b.getUint32();this.Uv=8;this.gA===this.Uv&&this.tg&&b.Lj("utf-8")}; +qe.prototype={j:function(a){switch(this.gA){case 1:a=a.g.qg;null!==a&&a.VR(this.tg/100);break;case 2:a=a.g.qg;null!==a&&a.NQ(this.tg/100);break;case 3:a=a.g.qg;null!==a&&a.SR(!!this.tg);break;case 4:a.g.getConfiguration().AutoFontReductionActive=!0;break;case 6:mc.prototype.hS(0!==this.tg);break;case 7:a.g.getConfiguration().XhrSendTimeout=this.tg;break;case this.Uv:a.g.getConfiguration().vq=!!this.tg,this.tg&&(a.g.getConfiguration().ANSIStringEncoding="utf-8")}}};var $d; +$d=function(a,b){switch(b.getUint16()){case 0:this.kc="pointer";break;case 1:this.kc="default";break;case 2:this.kc="pointer";break;case 3:this.kc="wait";break;case 4:this.kc="text";break;case 5:this.kc="crosshair";break;case 6:this.kc="help";break;case 7:this.kc="col-resize";break;case 8:this.kc="row-resize";break;case 9:this.kc="nw-resize";break;case 10:this.kc="ne-resize";break;case 11:this.kc="w-resize";break;case 12:this.kc="s-resize";break;case 13:this.kc="pointer";break;default:this.kc="default"}}; +$d.prototype={j:function(a){a.g.pa?(a=a.g.ba().wa(),null!==a&&(a=a.Z,null!==a&&(a.style.cursor=this.kc))):a.Hl().canvas.style.cursor=this.kc}};var Td;Td=function(a,b,c,d){a=b.getUint32();b=b.getUint32();this.xr=1===(a&1);!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(b):this.kb=R.ib(b)};Td.prototype={j:function(a){a.getState().Eu(this.kb,this.xr)},Ro:function(){return this.kb}};var Vd;Vd=function(a,b,c,d){this.od=R.Ov(b,d)}; +Vd.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var cf;cf=function(a,b,c,d){this.od=R.oF(b,d)};cf.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var ae; +ae=function(a,b,c,d){c=1===b.getUint32();var e=b.getUint32(),f=b.getUint32();if(30===a){var g=b.getUint32();var k=b.getUint32()/100;var l=b.getUint32()/100;var G=b.getUint32();var u=0===b.getUint32();b.getUint32();b=b.getUint32()}else g=b.getUint16(),k=b.getUint8()/100,l=b.getUint8()/100,G=b.getUint8(),u=!0,b=0;!0===d.g.getConfiguration().SemiTransparencyActive?(e=R.$a(e),f=R.$a(f),30===a&&(b=R.$a(b))):(e=R.ib(e),f=R.ib(f),30===a&&(b=R.ib(b)));this.iJ=new ab(c,e,f,g,k,l,G,u,b)};ae.prototype={j:function(a){a.getState().dR(this.iJ)}}; +var fe;fe=function(a,b,c,d){this.mb=b.getUint32();d.g.getConfiguration().SemiTransparencyActive=2===(this.mb&2);d.g.getConfiguration().IecSupportsCommonMiterLimit=8===(this.mb&8)};fe.prototype={j:function(a){a=a.g.qa;null!==a&&(a.g.N.dD(1===(this.mb&1)),a.xp(0!==(this.mb&4)))}};var Me; +Me=function(a,b,c){a=b.ga();var d=b.getUint16();var e=b.ja(d,!1);d=b.getUint16();d=b.ja(d,!1);""!==e&&(d=e+"."+d);this.sf=d;this.l=R.di(b,!0);this.l.normalize();e=b.getUint32();this.Lr=0!==(e&1);this.Em=0!==(e&2);this.mn=0!==(e&4);this.vr=0!==(e&128);this.Hs=0!==(e&256);this.ft=0!==(e&1024);this.Lq=0!==(e&2048);this.vh=0!==(e&4096);this.wk=!1;c>=b.ga()-a+16&&(this.wk=!0,this.en=b.getFloat32(),this.fn=b.getFloat32());this.Ea=null}; +Me.prototype={j:function(a){var b=a.g.ba().wa(),c=this;this.Hg=a;window.WebvisuInst.yl(function(){var d=c.sH(c.Hg);b.hR(d,c)})},uc:function(){return this.l.clone()},sH:function(a){var b=new Image;var c=a.cg.Ih(this.sf);null===c?b.src="#":b.src=c;c=b.src;this.vh&&(b.src+="?"+J.m());J.wq(c)&&(D.lq()?this.KM():a.g.getConfiguration().WorkaroundDisableSVGAspectRatioWorkaround||(b.src+="#svgView(preserveAspectRatio(none))"));b.style.position="absolute";b.style.msUserSelect="none";b.style.WebkitUserSelect= +"none";b.style.MozUserSelect="none";b.style.userSelect="none";return b},KM:function(){N.warn("Anisotropic scaling of Svg images in Safari is not supported because of known bugs in WebKit. The default (isotropic) scaling is used instead.")}};var he; +he=function(a,b,c,d){var e;a=b.getUint16();var f=[];for(c=0;c=b.ga()-e+11?(c=b.getUint16(),this.ff=k[0],0!==(c&0)&&(this.ff=k[0]),0!==(c&1)&&(this.ff=k[1]),0!==(c&2)&&(this.ff=k[2]),c=b.getUint16(),this.gf=l[0],0!==(c&0)&&(this.gf=l[0]),0!==(c&1)&&(this.gf=l[1]),0!==(c&2)&&(this.gf=l[2]),b=b.getUint16(),d.g.getConfiguration().IecSupportsCommonMiterLimit? +this.Of=b/2:this.Of=1===b?1.7*a:2*b):(this.ff=k[0],this.gf=l[0],d.g.getConfiguration().IecSupportsCommonMiterLimit?this.Of=1.5:this.Of=1.7*a)};Ud.prototype={j:function(a){a.getState().Hu(this.na,this.kb,this.wf,this.ff,this.gf,this.Of)},C:function(){return this.na},Ro:function(){return this.kb}};var ge; +ge=function(a,b,c){this.ya=[];var d=null;a=b.ga();for(var e,f;b.ga()-a>16,f=b.ga()+f,this.aL(b,d,e),b.seek(f))}; +ge.prototype={j:function(a){var b=a.g.qa;if(a.g.pa){var c=a.g.ba().wa();if(null!==c&&!(c instanceof Gc)){var d=c.hd;null!==d?d.Lu(this.ya):c.kR(a.g,Xb.QD(this.ya,a.g));b.uu(c);for(d=0;d {1}",J.Uc(b.info().scroll().Sa().Bc),J.Uc(b.info().scroll().Sa().Ac)));b.$(Uc.ow)&&N.m(J.h(" Zoomlimits: {0} -> {1}",b.info().zoom().Sa().Bc,b.info().zoom().Sa().Ac))}}};var Xd;Xd=function(a,b){this.uG=1===b.getUint16()};Xd.prototype={j:function(a){this.uG?a.NC():a.XP()}};var te;te=function(a,b){this.VB=b.getInt16();this.WB=b.getInt16()}; +te.prototype={j:function(a){a.getState().NR(this.VB,this.WB)}};var df;df=function(a,b){a=b.getUint16();this.Ke=b.ja(a,!1);this.zk=b.getUint32();this.Ak=b.getUint16();this.wG=b.getUint32();this.hk=b.getUint32();this.Fi=b.getUint32()};df.prototype={j:function(a){var b=a.g.so;a=new Qb(this.Ke,this.Ak,this.zk,this.hk,this.wG,this.Fi);null!==b&&b.YR(a)}};var ee;ee=function(a,b){a=b.getUint16();this.ka=b.ja(a,!1)}; +ee.prototype={j:function(a){a.g.getConfiguration().ChangeWindowTitle&&(window.document.title=this.ka);a.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.setVisualizationName(this.ka)}};var Wd;Wd=function(a,b){this.l=R.ye(b)};Wd.prototype={j:function(a){a.getContext().restore();a.getState().apply()}};var gf;gf=function(a,b){this.ec=b.getUint32()};gf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.yQ(this.ec))}};var hf;hf=function(a,b){this.uJ=b.getUint16()}; +hf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.zQ(this.uJ))}};var Re;Re=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Re.prototype={j:function(a){var b=this.wn.length-1,c=a.g.ba();for(a=0;a<=b;++a)c.Lh()}};var xe;xe=function(a,b){this.ta=b.getInt16()};xe.prototype={j:function(a){a.g.ba().Lh()}};var ue; +ue=function(a,b){this.ta=b.getInt16();a=b.getUint32();this.pJ=0!==(a&1);this.GJ=0!==(a&2);this.nJ=0!==(a&4);this.oJ=0!==(a&16);this.lM=0!==(a&8);this.vG=0!==(a&32);this.aH=0===(a&64);this.ik=0===(a&128);this.$i=0!==(a&1024);this.Ma=new ib(a);this.En=this.Ma.cm()}; +ue.prototype={j:function(a){this.kL(a);var b=Xb.SD(a.g,this.nJ,this.oJ,this.pJ,this.GJ,this.lM,this.vG,this.aH);b.$Q(this.Ma);a.g.ba().uA(this.ta,b);b instanceof Oc&&(b.WC(this.ik),b.kD(this.$i));b.initialize()},kL:function(a){this.Ma.Qc()||a.PC()}};var Ce;Ce=function(a,b){this.zc=b.getInt16()};Ce.prototype={j:function(a){a.g.ba().wa().KN()}};var ze;ze=function(a,b,c){this.zc=b.getInt16();this.Li=2=b.ga()-a+9?(this.Tw=b.getInt16(),this.Uw=b.getInt16(),this.Sw=b.getInt16(),this.Rw=b.getInt16()):(this.Uw=this.Tw=0,this.Rw=this.Sw=-1)};Ae.prototype={j:function(a){a.g.ba().wa().yS(this.pd,this.qd,this.na,this.ra,this.zL,this.AL,this.iG,this.Tw,this.Uw,this.Sw,this.Rw)}};var Se;Se=function(a,b){this.si=b.getInt16()}; +Se.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).SQ(this.si)}};var Ne;Ne=function(a,b){this.Gf=b.getUint8()};Ne.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).Ou(this.Gf)}};var Te;Te=function(a,b){this.wL=b.getFloat32();this.xL=b.getFloat32()};Te.prototype={j:function(a){a.g.ba().wa().aS(this.wL,this.xL)}};var Ee; +Ee=function(a,b){this.eh=b.getInt16();a=b.getInt16();switch(a){case 0:case 5:this.Ii="solid";break;case 1:this.Ii="dashed";break;case 2:case 3:case 4:this.Ii="dotted"}this.IJ=5===a;this.Hi=b.getUint32()};Ee.prototype={j:function(a){var b=this.IJ?R.$a(this.Hi&16777215):!0===a.g.getConfiguration().SemiTransparencyActive?R.$a(this.Hi):R.ib(this.Hi);a.g.ba().wa().ZQ(this.eh,this.Ii,b)}};var De; +De=function(a,b){this.Tk=b.getInt32();this.Uk=b.getInt32();this.Qk=b.getInt32();this.Rk=b.getInt32();this.lf=b.getInt32();this.mf=b.getInt32()};De.prototype={j:function(a){a.g.ba().wa().Mu(this.Tk,this.Uk,this.Qk,this.Rk,this.lf,this.mf)}};var ye;ye=function(){};ye.prototype={j:function(a){a.g.ba().su();var b=a.getContext(),c=a.g.ba().wa();b.save();b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,b.canvas.width,b.canvas.height);b.restore();null!==c&&c.MA();a.g.rb.Tl(this.l)}};var Qe; +Qe=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Qe.prototype={j:function(a){var b,c=this.wn.length-1;for(b=0;b<=c;b++)a.g.ba().Ql(this.wn[b])}};var we;we=function(a,b){this.ta=b.getInt16()};we.prototype={j:function(a){a.g.ba().Ql(this.ta)}};var ve;ve=function(a,b){this.pd=b.getInt16();this.qd=b.getInt16();this.na=b.getInt16();this.ra=b.getInt16();this.Qd=b.getInt16();this.Rd=b.getInt16();this.zh=b.getInt16();this.Ah=b.getInt16();this.jb=b.getInt16();this.nd=b.getInt16();this.Te=b.getUint32()}; +ve.prototype={j:function(a){this.nd||(this.nd=0);var b=a.g.ba().wa(),c="",d=this;0b?this.nc.push(a):this.nc[b]=a},Ev:function(a){a=this.tn(a);return 0>a?null:this.nc[a]},tF:function(){this.Gn=-1},tn:function(a){for(var b=0;b=d.LowerBorder&&b<=d.UpperBorder?!0:!1:this.By(b,a)?!0:this.SJ(b,a)?!0:!1}}catch(f){return!1}},Mw:function(a,b){return null===a||void 0===a||a.length>b-1?!1:!0},By:function(a,b){switch(b){case Af.EF:case Af.DF:return this.AO(a); +case Af.FF:case Af.NF:return this.OO(a);case Af.OF:case Af.MF:return this.MO(a);case Af.HF:case Af.LF:case Af.ew:case Af.Vv:case Af.Wv:case Af.fw:return this.LO(a);case Af.dw:case Af.gw:case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.NO(a);case Af.KF:return this.JO(a);case Af.JF:return this.CO(a);case Af.GF:return this.BO(a);case Af.$v:return this.EO(a);case Af.sq:return this.HO(a);case Af.aw:return this.FO(a);default:return!1}},SJ:function(a,b){return(b=this.$s.we(b))&&b instanceof Ff?this.By(a, +b.sd()):!1},AO:function(a){return 0===a||1===a},OO:function(a){return a>=Bf.ME&&a<=Bf.LE},MO:function(a){return a>=Bf.IE&&a<=Bf.HE},LO:function(a){return a>=Bf.GE&&a<=Bf.FE},NO:function(a){var b=BigInt(Cf.KE),c=BigInt(Cf.JE);var d=a;"bigint"!==typeof a&&(d=BigInt(a));return d>=b&&d<=c},JO:function(a){return a>=Bf.EE&&a<=Bf.DE},CO:function(a){return a>=Bf.wE&&a<=Bf.vE},BO:function(a){return a>=Bf.uE&&a<=Bf.tE},EO:function(a){var b=BigInt(Cf.yE),c=BigInt(Cf.xE);var d=a;"bigint"!==typeof a&&(d=BigInt(a)); +return d>=b&&d<=c},HO:function(a){return a>=Bf.CE&&a<=Bf.BE},FO:function(a){return a>=Bf.AE&&a<=Bf.zE},yA:function(a,b){switch(a){case Af.ew:case Af.fw:return Number(b.valueOf());case Af.Vv:case Af.Wv:return this.QM(b.valueOf());case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.RM(BigInt(b.valueOf()))}return b},QM:function(a){return Math.floor(Number(a)/1E3)},RM:function(a){return BigInt(a)*BigInt(1E6)}}; +Af={EF:0,DF:1,FF:2,OF:3,HF:4,dw:5,KF:6,JF:7,GF:8,$v:9,NF:10,MF:11,LF:12,gw:13,sq:14,aw:15,ji:16,Qg:17,ew:18,Vv:19,Wv:20,fw:21,bw:37,Yv:46,Zv:47,cw:48};Bf={ME:0,LE:255,IE:0,HE:65535,GE:0,FE:4294967295,EE:-128,DE:127,wE:-32768,vE:32767,uE:-2147483648,tE:2147483647,CE:-3.402823466E38,BE:3.402823466E38,AE:-1.7976931348623157E308,zE:1.7976931348623157E308};Cf={KE:"0",JE:"0xffffffffffffffff",yE:"-9223372036854775808",xE:"9223372036854775807"};var $c; +$c=function(a,b,c,d,e){this.Ci=a;this.Fn=b;this.Xq=c;this.bG=d;this.Um=e;void 0===this.Um&&(this.Um=!1);this.Um||this.Fn.push("webvisu-support.js")}; +$c.prototype={Ct:function(a,b,c,d,e){b=' + + + + + +
+ Webvisu not supported due to missing browser feature HTML5-Canvas + Webvisu not supported due to missing browser feature HTML5-Canvas +
+ + diff --git a/codesys-hde2e/plc/IO_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js b/codesys-hde2e/plc/IO_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js new file mode 100644 index 0000000..adeb947 --- /dev/null +++ b/codesys-hde2e/plc/IO_PLC_01/data/codesyscontrol/PlcLogic/visu/webvisu.js @@ -0,0 +1,897 @@ +// CAS: "1.0.0" +// This software uses the following Open Source software: +// - a simplified (and thus modified) version of stringencoding +// * Licensed under Apache License 2.0 and Unlicense (can be found here: http://www.apache.org/licenses/, http://unlicense.org/) +// * Source: https://github.com/inexorabletash/text-encoding +// - requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// * MIT license +// * Source: https://gist.github.com/paulirish/1579671 +// - a simplified (and thus modified) version of the Microsoft Research JavaScript Cryptography Library (msrCrypto) +// * Licensed under Apache License 2.0 (can be found here: http://www.apache.org/licenses/LICENSE-2.0) +// * Source: https://github.com/microsoft/MSR-JavaScript-Cryptovar r,na,oa; +(function(){function a(ca){var da=0;this.get=function(){return da>=ca.length?-1:Number(ca[da])};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function b(ca){var da=0;this.get=function(){return da>=ca.length?-1:ca[da]};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function c(ca){var da=0;this.h=function(ea){var ba=-1, +Aa;for(Aa=0;Aa=Ia)if(56320<=Ia&&57343>=Ia)ba.push(65533);else if(Aa===qb-1)ba.push(65533);else{var xa=ca.charCodeAt(Aa+1);56320<=xa&&57343>=xa?(Ia&=1023,xa&=1023,Aa+=1,ba.push(65536+(Ia<<10)+xa)):ba.push(65533)}else ba.push(Ia);Aa+=1}return ba}();this.offset=function(ba){da+=ba;if(0>da)throw Error("Seeking past start of the buffer"); +if(da>ea.length)throw Error("Seeking past EOF");};this.get=function(){return da>=ea.length?-1:ea[da]}}function e(){var ca="";this.m=function(){return ca};this.h=function(da){65535>=da?ca+=String.fromCharCode(da):(da-=65536,ca+=String.fromCharCode(55296+(da>>10&1023)),ca+=String.fromCharCode(56320+(da&1023)))}}function f(ca,da){if(ca)throw Error("EncodingError");return da||65533}function g(){throw Error("EncodingError");}function k(ca){ca=String(ca).trim().toLowerCase();if(Object.prototype.hasOwnProperty.call(va, +ca))return va[ca];throw Error("EncodingError: Unknown encoding: "+ca);}function l(ca){var da=ca.fatal,ea=0,ba=0,Aa=0,qb=0;this.decode=function(Ia){var xa=Ia.get();if(-1===xa)return 0!==ba?f(da):-1;Ia.offset(1);if(0===ba){if(0<=xa&&127>=xa)return xa;if(194<=xa&&223>=xa)ba=1,qb=128,ea=xa-192;else if(224<=xa&&239>=xa)ba=2,qb=2048,ea=xa-224;else if(240<=xa&&244>=xa)ba=3,qb=65536,ea=xa-240;else return f(da);ea*=Math.pow(64,ba);return null}if(!(128<=xa&&191>=xa))return qb=Aa=ba=ea=0,Ia.offset(-1),f(da); +Aa+=1;ea+=(xa-128)*Math.pow(64,ba-Aa);if(Aa!==ba)return null;Ia=ea;xa=qb;qb=Aa=ba=ea=0;return xa<=Ia&&1114111>=Ia&&!(55296<=Ia&&57343>=Ia)?Ia:f(da)}}function G(){this.encode=function(ca,da){var ea=da.get();if(-1===ea)return-1;da.offset(1);if(55296<=ea&&57343>=ea)return g(ea);if(0<=ea&&127>=ea)return ca.h(ea);if(128<=ea&&2047>=ea){var ba=1;var Aa=192}else 2048<=ea&&65535>=ea?(ba=2,Aa=224):65536<=ea&&1114111>=ea&&(ba=3,Aa=240);for(da=ca.h(Math.floor(ea/Math.pow(64,ba))+Aa);0=Aa)return Aa;ba=ca[Aa-128];return null===ba?f(ea):ba}}function ka(ca){this.encode=function(da,ea){var ba=ea.get();if(-1===ba)return-1;ea.offset(1);if(0<=ba&&127>=ba)return da.h(ba);ea=ca.indexOf(ba);ea=-1===ea?null:ea;null===ea&&g(ba);return da.h(ea+128)}}var ja={},va={};[{encodings:[{labels:"csisolatin2 iso-8859-2 iso-ir-101 iso8859-2 iso_8859-2 l2 latin2".split(" "), +name:"iso-8859-2"},{labels:"csisolatin3 iso-8859-3 iso_8859-3 iso-ir-109 l3 latin3".split(" "),name:"iso-8859-3"},{labels:"csisolatin4 iso-8859-4 iso_8859-4 iso-ir-110 l4 latin4".split(" "),name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso_8859-5","iso-ir-144"],name:"iso-8859-5"},{labels:"arabic csisolatinarabic ecma-114 iso-8859-6 iso_8859-6 iso-ir-127".split(" "),name:"iso-8859-6"},{labels:"csisolatingreek ecma-118 elot_928 greek greek8 iso-8859-7 iso_8859-7 iso-ir-126".split(" "), +name:"iso-8859-7"},{labels:"csisolatinhebrew hebrew iso-8859-8 iso-8859-8-i iso-ir-138 iso_8859-8 visual".split(" "),name:"iso-8859-8"},{labels:"csisolatin6 iso-8859-10 iso-ir-157 iso8859-10 l6 latin6".split(" "),name:"iso-8859-10"},{labels:["iso-8859-13"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14"],name:"iso-8859-14"},{labels:["iso-8859-15","iso_8859-15"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:"ascii ansi_x3.4-1968 csisolatin1 iso-8859-1 iso8859-1 iso_8859-1 l1 latin1 us-ascii windows-1252".split(" "), +name:"windows-1252"},{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"Legacy single-byte encodings"}].forEach(function(ca){ca.encodings.forEach(function(da){ja[da.name]=da;da.labels.forEach(function(ea){va[ea]=da})})});var Xa={"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357, +378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180, +181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173, +381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030, +1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138, +139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null, +null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952, +953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280, +203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262, +196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767, +7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176, +177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169, +536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382, +376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]};ja["utf-8"].AB=function(ca){return new G(ca)};ja["utf-8"].zB=function(ca){return new l(ca)};(function(){"iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-10 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 windows-1252".split(" ").forEach(function(ca){var da= +ja[ca],ea=Xa[ca];da.zB=function(ba){return new u(ea,ba)};da.AB=function(ba){return new ka(ea,ba)}})})();oa=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.Ts=!1;this.zi=null;this.os={fatal:!!da.fatal};Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};oa.prototype={encode:function(ca,da){ca=ca?String(ca):"";da=Object(da);this.Ts||(this.zi=this.uk.AB(this.os));this.Ts=!!da.stream;da=[];var ea=new c(da);for(ca= +new d(ca);-1!==ca.get();)this.zi.encode(ea,ca);if(!this.Ts){do var ba=this.zi.encode(ea,ca);while(-1!==ba);this.zi=null}return new Uint8Array(da)}};na=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.os={fatal:!!da.fatal};this.yb=this.uk.zB(this.os);Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};na.prototype={decode:function(ca){if(ca&&!("buffer"in ca&&"byteOffset"in ca&&"byteLength"in ca))throw new TypeError("Expected ArrayBufferView"); +ca=new Uint8Array(ca.buffer,ca.byteOffset,ca.byteLength);return this.qx(new a(ca))},yN:function(ca){if(!ca)throw new TypeError("Expected array of bytes");return this.qx(new b(ca))},qx:function(ca){for(var da=new e,ea;-1!==ca.get();)ea=this.yb.decode(ca),null!==ea&&-1!==ea&&da.h(ea);return da.m()}}})(); +(function(a,b){void 0!==window.Promise&&("function"===typeof define&&define.$S?define([],function(){return a.msrCrypto=b(a)}):"object"===typeof exports?module.exports=b(a):a.msrCrypto=b(a))})(this,function(a){a=a||{};return function(){function b(h,p,A){function Q(){if(!A||!A.Vd)throw Error("missing hash function");}var E=c(h);if(!p)throw Error("padding mode");var t=null,m=null;switch(p){case "RSAES-PKCS1-V1_5":h=Zb.GT(h);break;case "RSASSA-PKCS1-V1_5":Q();h=Zb.HT(h,A);break;case "RSA-OAEP":Q();h= +Zb.lP(h,A);break;case "RSA-PSS":Q();h=Zb.JT(h,A);break;case "raw":h={mp:function(q){return q},Dp:function(q){return q}};break;default:throw Error("invalid mode");}h&&(t=h.mp||h.sign,m=h.Dp||h.verify);return{encrypt:function(q,y){q=null!==t?t(q,y):q.slice();return E.encrypt(q)},decrypt:function(q,y){q=E.decrypt(q);if(null!==m){q=m(q,y);if(!1===q.valid)throw Error("OperationError");q=q.data}else q=q.slice(0);return q},bS:function(q,y,C){return E.decrypt(t(q,y,C))},CS:function(q,y,C){q=E.encrypt(q); +return m(q,y,C)},Fl:function(q){genRsaKeyFromRandom(q)},mode:p}}function c(h){function p(q){q=la.iB(q);Q.rP(q,0,m);return q}function A(q,y,C){y=la.Ch(y);C=la.OE(C);q=C.rN(q);return C.bP(q,y).Xa}var Q=ba,E=h.hasOwnProperty("n")&&h.hasOwnProperty("d"),t=h.hasOwnProperty("p")&&h.hasOwnProperty("q"),m=h.n.length;return{encrypt:function(q){return p(A(q,h.e,h.n,!0))},decrypt:function(q){if(t){var y=la.Ch,C=h.q,M=h.dp,B=h.dq,v=h.qi,F=y(h.p);C=y(C);var H=Array(F.length+C.length),O=Array(F.length+1),U=Array(C.length+ +1);q=y(q);var ia=la.Wh,Z=new ia(h.Dt?void 0:F,h.Dt);ia=new ia(h.Et?void 0:C,h.Et);Z.reduce(q,H);Z.Cj(H,y(M),O);ia.reduce(q,H);ia.Cj(H,y(B),U);M=la.Tc(O,U,H);0!==M&&la.Tc(U,O,H);la.rC(H,y(v),F,q);0!==M&&la.Tc(F,q,q);la.multiply(q,C,H);la.add(U,H,O);return p(O)}if(E)return y=A(q,h.d,h.n),p(y);throw Error("missing private key");}}}function d(h){function p(X,x){for(var n=Math.floor(x.length/16),z,w=0;wS;S++){var L= +-(z[Math.floor(S/8)]>>7-S%8&1)&255;for(K=0;16>K;K++)W[K]^=T[K]&L;L=-(T[15]&1)&255;K=T;for(var P=K.length-1;0>>1;K[0]>>>=1;T[0]^=225&L}O=W}U=x.slice(16*n);return O}function A(){var X=16*Math.ceil(ma/16)-ma,x=t(8*M.length),n=t(8*ma);X=U.concat(q.vc(X)).concat(x).concat(n);return p(H,X)}function Q(X){for(var x=256,n=1;4>=n;n++)x=(x>>>8)+X[X.length-n],X[X.length-n]=x&255;return X}function E(X,x){var n=Math.ceil(x.length/16),z=[];Z!==X&&(Z=X.slice());for(var w=0;w>>24&255,X>>>16&255,X>>>8&255,X&255]}function m(){ma=0;y=[];ia=[];O=q.vc(16);U=[];Z=C=M=null}var q=ba,y=[],C,M,B,v,F,H=h.encrypt(q.vc(16)),O=q.vc(16),U=[],ia=[],Z,ma=0;return{ud:function(X,x,n){M=x||[];B=isNaN(n)?128:n;if(0!==B%8)throw Error("DataError");C=X;12===C.length?v=C.concat([0,0,0,1]):(v=p(H,C.concat(q.vc(16*Math.ceil(C.length/16)-C.length+8)).concat(t(8*C.length))),O=q.vc(16)); +F=Q(v.slice());p(H,M.concat(q.vc(16*Math.ceil(M.length/16)-M.length)))},encrypt:function(X){ma=X.length;X=E(F,X);p(H,X);var x=A();x=E(v,x).slice(0,B/8);m();return X.slice().concat(x)},decrypt:function(X,x){ma=X.length;var n=E(F,X);p(H,X);X=A();X=E(v,X).slice(0,B/8);m();return q.zl(X,x)?n:null},nu:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor(y.length/16));ma+=X.length;y=y.slice(X.length);X=E(Z||F,X);ia=ia.concat(X);p(H,X)},op:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor((y.length-B/8)/ +16));ma+=X.length;y=y.slice(X.length);var x=E(Z||F,X);ia=ia.concat(x);p(H,X)},Qo:function(){var X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);X=ia.slice().concat(X);m();return X},Po:function(){var X=Math.floor(B/8),x=y.slice(-X);y=y.slice(0,y.length-X);X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);var n=ia.slice();m();return q.zl(X,x)?n:null}}}function e(h){function p(C){var M=[],B,v;for(B=0;Bm?Q(p.Vd(h),m):Q(h,m),y;var C=Array(m);var M=Array(m);for(var B=0;B=Z;Z++)U[O-Z]=ia%256,ia=Math.floor(ia/256);if(0!==q(H.concat(U)).length)throw Error("buffer.length !== 0");H=[];for(O=0;O=E&&(v=q(v))},finish:y, +lT:p,Xt:m,maxMessageSize:4294967295}}function k(){function h(x){var n,z=null;if(!arguments.length||"number"===typeof arguments[0])for(z=Array(x),n=0;n=x?1:Math.ceil(Math.log(x)/Math.LN2/24));for(var z=[];0=x.length&&(x[0]=0,x.length=1);return x}function y(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("bit count must be smaller than DIGIT_BITS and positive in shiftLeft");void 0===w&&(w=x.length);var K=24-z;n[w]=x[w-1]>>>24-z||n[w];for(--w;0>>K)&16777215;n[0]=x[0]<>=24; +for(S=x;S>=24;z.length=K.length;0!==n&&(z[S]=n&16777215);return n}function M(x,n,z){var w=n.length;if(x.length>=24;for(;K>=24;return S}function B(x,n,z){n="number"===typeof n?[n]:n;var w,K,S,W=x.length,T=n.length;for(w=0;wP;P++)aa=Math.max(aa,-(n[T-1]>>>P&1)&P);aa=23-aa;K=K||[];K.length=T;y(n,K,aa,T);S=S||[];S.length=W;y(x,S,aa,W);S[W]=S[W]||0;z.length=W-T+1;w.length=T;for(n=W-T;0<=n;n--){x=Math.floor((16777216*S[n+T]+S[n+T-1])/K[T-1]);for(P=16777216*S[n+T]+S[n+T-1]-x*K[T-1];;){if(16777216<=x||x*K[T-2]>16777216*P+S[n+T-2])if(--x,P+=K[T-1],16777216>P)continue;break}for(W=L=0;WL){--z[n];for(W=L=0;W>=24;S[n+T]=S[n+T]+L&16777215}}for(W=0;W>>aa|S[W+1]<<24-aa)&16777215;q(z);q(w)}}}function F(x,n,z,w,K){if(A(x))return p(n,0,K,0,n.length),K.length=n.length,0;if(A(n))return p(x,0,K,0,x.length),K.length=x.length,0;if(0>m(x,n)){var S=x.slice(0);p(n,0,K,0,n.length);K.length=n.length}else S=n.slice(0),p(x,0,K,0,x.length),K.length=x.length;q(K);q(S);x=Array(K.length);n=Array(K.length);var W=Array(K.length), +T=void 0!==w;if(T){var L=Array(K.length);L[0]=1;L.length=1;w[0]=0;w.length=1}var P=Array(K.length),aa=void 0!==z;if(aa){var ua=Array(K.length);ua[0]=0;ua.length=1;z[0]=1;z.length=1}for(var La=-1,Ya=z,Pa=w,sa=K,fa;!A(S);)v(K,S,x,n,P,W),aa&&(B(x,ua,P),C(P,z,P),q(P),fa=z,z=ua,ua=P,P=fa),T&&(B(x,L,W),C(W,w,W),q(W),fa=w,w=L,L=W,W=fa),fa=K,K=S,S=n,n=fa,La++;aa&&(p(z,0,Ya,0,z.length),Ya.length=z.length);T&&(p(w,0,Pa,0,w.length),Pa.length=w.length);p(K,0,sa,0,K.length);sa.length=K.length;return La}function H(x, +n,z,w){w=w||[];if(0===m(n,ma))w[0]=1;else if(0===m(n,X))p(x,0,w,0,x.length),w.length=x.length;else{var K=new O(z);q(x,K.vd,!0);K.Cj(x,n,w);w.length=z.length}return w}function O(x,n){function z(fa,ha,pa,ya){ya=ya||this;for(var Da=ya.ip,wa=Da.length,Ea=ya.fu,rb=ya.eu,Za,Ba,jb,eb=0,wb,jc=0,mb=h(wa+2);eb=rb;rb+=1)Dawa;wa++,Ba>>>=1)eb===Da&&(eb=jb[++Za]=0),jb[Za]+=(Ba&1)<>>31;for(pa=0;pa=Z;Z++)ia[Z]=256*ia[Z-1];var ma=[0], +X=[1];return{Op:24,KS:3,IS:16777215,YD:16777216,JS:16777215,VS:ma,YE:X,fP:q,Ch:Q,OT:function(x,n){x=x.replace(/^\s+|\s+$/g,"");var z=[0],w=[0];n=n||10;for(var K=0;K=n;)T[0]*=n,ua=ua.concat("0");for(P=0;PK;K+=1)S[3*w+K]=W&255,W=Math.floor(W/256)}S.reverse(); +void 0===z&&(z=1);if(n)for(;S.length>z&&0===S[0];)S.shift();return S},lC:A,AT:function(x){return 0===(x[0]&1)},pD:function(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("Invalid bit count for shiftRight");void 0===w&&(w=x.length);--w;for(var K=24-z,S=0;S>>z)&16777215;n[w]=x[w]>>>z},shiftLeft:y,Hf:m,bT:function(x){for(var n=0,z=0;n>>31)-1&16777215;var La=0;for(L=0;L>=24;aa.length=ua},Tc:function(L,P,aa){var ua=this.Bj,La=aa.Xa;P=la.Tc(L.Xa,P.Xa,aa.Xa);if(-1===P)for(L=P=0;L>=24},multiply:function(L,P,aa){return la.rC(L.Xa, +P.Xa,this.Dg,aa.Xa,S,W)},inverse:function(L,P){la.hu(L.Xa,this.Dg,P.Xa)},bP:function(L,P,aa){aa=aa||n([],this);if(0===m(P,w))aa.Xa=E(1,this.Bj);else if(0===m(P,K)){for(P=0;PK;){var S=1<C)throw Error("Incorrect entropy or additionalEntropy length");F=F.concat(ba.vc(C-F.length));v=v.concat(ba.vc((C-v.length%C)%C));for(var H=0;HB)throw Error("Reseeding is required");if(F&&0B;B+=1)v[B]=Math.floor(256*Math.random());if((B=q.crypto||q.msCrypto)&&"function"===typeof B.getRandomValues&&h.Uint8Array){var F=new h.Uint8Array(48);B.getRandomValues(F);v=v.concat(Array.prototype.slice.call(F));m=!0}if("undefined"!==typeof XMLHttpRequest)for(F=new XMLHttpRequest,B=0;B>8&255,B>>16&255,B>>24&255,v&255, +v>>8&255,M&255,M>>8&255])},om:function(){var M=(new Date).valueOf();A([M&255,M>>8&255,M>>16&255,M>>24&255])}}}();return{ud:function(){p();if(!m&&y)try{C.rD()}catch(M){}},Wl:function(M){E.Wl(M)},read:function(M){if(!t)throw Error("Entropy pool is not initialized.");M=E.ve(M);p();return M}}}var u={register:function(h,p,A){u[h]||(u[h]={});h=u[h];h[p]||(h[p]=A)},oB:function(h,p){return u[h]?u[h][p]?!0:!1:!1}},ka=self.location.href,ja="undefined"!==typeof Worker,va="function"===typeof importScripts&&self instanceof +WorkerGlobalScope,Xa=!1,ca="undefined"!==typeof ArrayBuffer;try{Object.defineProperty({},"oncomplete",{})}catch(h){}var da=!1,ea={},ba=function(){function h(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");0!==t.length%4;)t+="=";var m=[],q;t=t.replace(/[^A-Za-z0-9\+\/=]/g,"");for(q=0;q>4;C=(C&15)<<4|M>>2;var v=(M&3)<<6|B;m.push(y);64!==M&&m.push(C);64!==B&&m.push(v)}return m}function p(t){return Object.prototype.toString.call(t).slice(8,-1)}function A(t){return[t>>>24&255,t>>>16&255,t>>>8&255,t&255]}function Q(t){if(!t)return[];if(t.pop)return t;"ArrayBuffer"===p(t)?t=new Uint8Array(t):1 +t.length)return Array.apply(null,t);for(var m=Array(t.length),q=0;q>2;C=(C&3)<<4|M>>4;var F=(M&15)<<2|B>>6; +var H=B&63;isNaN(M)?F=H=64:isNaN(B)&&(H=64);q=q+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(v)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(C)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(F)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(H)}return m?q.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):q},El:h,eT:function(t,m,q){if(!t)throw Error(q);if(m&&p(t)!==m)throw Error(q); +return!0},Tt:p,bytesToHexString:function(t,m){var q="";"undefined"===typeof m&&(m=!1);for(var y=0;yC?m[y++]=C:2048>C?(m[y++]=C>>>6|192,m[y++]=C&63|128):55296>C||57343>>12|224,m[y++]=C>>>6&63|128,m[y++]=C&63|128):(C=1024*(C- +55296)+(t.charCodeAt(++q)-56320)+65536,m[y++]=C>>>18|240,m[y++]=C>>>12&63|128,m[y++]=C>>>6&63|128,m[y++]=C&63|128)}return m},JA:function(t){var m="",q;t=Q(t);for(var y=0;yC?q=C:q=224>C?(C<<6)+t[y++]-12416:240>C?(C<<12)+(t[y++]<<6)+t[y++]-925824:(C<<18)+(t[y++]<<12)+(t[y++]<<6)+t[y++]-63447168;m=65535m||255q)return!1}return!0},isInteger:E}}(),Aa=function(){function h(m,q){var y=t[m[0]&31],C=m[1],M=0,B=!!(m[0]&32);if(C&128)for(C=M=0;M<(m[1]&127);M++)C=(C<<8)+m[2+M];var v=2+M;if(void 0===y||C>m.length)return null;var F=B?[]:{};F.type=y;F.Ag=v;F.data=m.slice(0,C+v);if(B||q)for("BIT STRING"===F.type&&0===m[v]&&M++,m=m.slice(v,F.data.length);0>>=7;M[0]&=127;y=y.concat(M.reverse())}m=y;return q=[6].concat(A(m),m)}if(m.hasOwnProperty("SEQUENCE")){q=m.fi;m=[];for(M=0;M=m)return[m];m=Q(m);m.unshift(m.length|128);return m}function Q(m){var q=[];if(0===m)return[0];for(;0>>=8;return q}function E(m,q){var y=Array(q+1).join(" ")+m.type+" ("+m.length+") "+bytesToHexString(m.data).substring(0,16)+"\n";if(!m.children)return y;for(var C=0;CB;B++)M[B]=p.IA(m,64*q+4*B);for(B=16;80>B;B++)m=M[B-3]^M[B-8]^M[B-14]^M[B-16],M[B]=m<<1|m>>>31;for(B=0;80>B;B++)m=v<<5|v>>>27,m+=60<=B?F^H^O:40<=B?F&H^F&O^H&O:20<=B?F^H^O:F&H^~F&O,m+=U+C[B]+M[B],U=O,O=H,H=F<<30|F>>>2,F=v,v=m;y[0]+=v&4294967295;y[1]+=F&4294967295;y[2]+=H&4294967295;y[3]+=O&4294967295;y[4]+=U&4294967295;return y}var p=ba,A=p.Cp,Q=A("Z0UjAe/Nq4mYutz+EDJUdsPS4fA=",4,1),E=A("WoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroY8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdY", +4,1),t=A("MCEwCQYFKw4DAhoFAAQU");return{$l:function(){return g("SHA-1",t,Q,E,64,h,160)}}}();"undefined"!==typeof u&&(xa.Wb={},xa.rT=function(h){return xa.Wb[h]||(xa.Wb[h]=xa.$l())},xa.deleteInstance=function(h){xa.Wb[h]=null;delete xa.Wb[h]},xa.hash=function(h){if("process"===h.Ja)xa.$l.process(h.buffer);else return"finish"===h.Ja?xa.$l.finish():xa.$l().Vd(h.buffer)},u.register("digest","SHA-1",xa.hash));ea["SHA-1"]=xa.$l;var Ca=function(){function h(y,C,M,B,v){var F,H=M[0],O=M[1],U=M[2],ia=M[3], +Z=M[4],ma=M[5],X=M[6],x=M[7];for(F=0;16>F;F++)v[F]=p.IA(y,64*C+4*F);for(F=16;64>F;F++)y=v[F-15],C=v[F-2],v[F]=((C>>>17|C<<15)^(C>>>19|C<<13)^C>>>10)+v[F-7]+((y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3)+v[F-16],v[F]&=4294967295;for(F=0;64>F;F++)y=x+((Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7))+(Z&ma^~Z&X)+B[F]+v[F],ia+=y,y+=((H>>>2|H<<30)^(H>>>13|H<<19)^(H>>>22|H<<10))+(H&(O^U)^O&U),x=X,X=ma,ma=Z,Z=ia,ia=U,U=O,O=H,H=y;M[0]=M[0]+H>>>0;M[1]=M[1]+O>>>0;M[2]=M[2]+U>>>0;M[3]=M[3]+ia>>>0;M[4]=M[4]+Z>>>0;M[5]=M[5]+ +ma>>>0;M[6]=M[6]+X>>>0;M[7]=M[7]+x>>>0;return M}var p=ba,A=p.Cp;var Q=A("wQWe2DZ81QcwcN0X9w5ZOf/ACzFoWBURZPmPp776T6Q",4,1);var E=A("agnmZ7tnroU8bvNypU/1OlEOUn+bBWiMH4PZq1vgzRk",4,1);var t=A("QoovmHE3RJG1wPvP6bXbpTlWwltZ8RHxkj+CpKscXtXYB6qYEoNbASQxhb5VDH3Dcr5ddIDesf6b3AanwZvxdOSbacHvvkeGD8GdxiQMocwt6SxvSnSEqlywqdx2+YjamD5RUqgxxm2wAyfIv1l/x8bgC/PVp5FHBspjURQpKWcntwqFLhshOE0sbfxTOA0TZQpzVHZqCruBwskuknIshaK/6KGoGmZLwkuLcMdsUaPRkugZ1pkGJPQONYUQaqBwGaTBFh43bAgnSHdMNLC8tTkcDLNO2KpKW5zKT2gub/N0j4LueKVjb4TIeBSMxwIIkL7/+qRQbOu++aP3xnF48g", +4,1);var m=A("MC0wDQYJYIZIAWUDBAIEBQAEHA");var q=A("MDEwDQYJYIZIAWUDBAIBBQAEIA");return{Pu:function(){return g("SHA-224",m,Q,t,64,h,224)},Qu:function(){return g("SHA-256",q,E,t,64,h,256)}}}();"undefined"!==typeof u&&(Ca.dC=Ca.dC||Ca.Pu(),Ca.eC=Ca.eC||Ca.Qu(),Ca.Wb={},Ca.DB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Pu())},Ca.EB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Qu())},Ca.deleteInstance=function(h){Ca.Wb[h]=null;delete Ca.Wb[h]},Ca.oO=function(h){if("process"===h.Ja)return Ca.EB(h.Fc).process(h.buffer), +null;if("finish"===h.Ja){var p=Ca.EB(h.Fc).finish();Ca.deleteInstance(h.Fc);return p}if("abort"===h.Ja)Ca.deleteInstance(h.Fc);else return Ca.eC.Vd(h.buffer)},Ca.nO=function(h){if("process"===h.Ja)Ca.DB(h.Fc).process(h.buffer);else if("finish"===h.Ja&&Ca.DB(h.Fc).finish(),"abort"===h.Ja)msrcryptoSha224.deleteInstance(h.Fc);else return Ca.dC.Vd(h.buffer)},u.register("digest","SHA-224",Ca.nO),u.register("digest","SHA-256",Ca.oO));ea["SHA-224"]=Ca.Pu;ea["SHA-256"]=Ca.Qu;var Na=function(){function h(M, +B,v,F,H){B=B+F|0;H[0]=M+v+(B>>>0>>0)|0;H[1]=B}function p(M,B,v,F,H){var O,U=[],ia=[],Z=[],ma=v[0],X=v[1],x=v[2],n=v[3],z=v[4],w=v[5],K=v[6],S=v[7],W=v[8],T=v[9],L=v[10],P=v[11],aa=v[12],ua=v[13],La=v[14],Ya=v[15];for(O=0;32>O;O++){var Pa=128*B+4*O;H[O]=M.slice(Pa,Pa+4);H[O]=H[O][0]<<24|H[O][1]<<16|H[O][2]<<8|H[O][3]}for(O=32;160>O;O+=2){var sa=H[O-30];var fa=H[O-29];M=(sa>>>1|fa<<31)^(sa>>>8|fa<<24)^sa>>>7;B=(fa>>>1|sa<<31)^(fa>>>8|sa<<24)^(fa>>>7|sa<<25);sa=H[O-4];fa=H[O-3];Pa=(sa>>>19|fa<<13)^ +(fa>>>29|sa<<3)^sa>>>6;sa=(fa>>>19|sa<<13)^(sa>>>29|fa<<3)^(fa>>>6|sa<<26);h(Pa,sa,H[O-14],H[O-13],U);h(M,B,U[0],U[1],U);h(H[O-32],H[O-31],U[0],U[1],U);H[O]=U[0];H[O+1]=U[1]}for(O=0;160>O;O+=2)M=(W>>>14|T<<18)^(W>>>18|T<<14)^(T>>>9|W<<23),B=(T>>>14|W<<18)^(T>>>18|W<<14)^(W>>>9|T<<23),Pa=W&L^aa&~W,sa=T&P^ua&~T,h(La,Ya,M,B,U),h(Pa,sa,F[O],F[O+1],ia),h(U[0],U[1],H[O],H[O+1],Z),h(ia[0],ia[1],Z[0],Z[1],Z),h(Z[0],Z[1],K,S,U),K=U[0],S=U[1],B=(X>>>28|ma<<4)^(ma>>>2|X<<30)^(ma>>>7|X<<25),M=(ma>>>28|X<<4)^ +(X>>>2|ma<<30)^(X>>>7|ma<<25),sa=X&(n^w)^n&w,Pa=ma&(x^z)^x&z,h(Z[0],Z[1],M,B,U),M=U[0],B=U[1],h(Pa,sa,M,B,U),M=U[0],B=U[1],La=aa,Ya=ua,aa=L,ua=P,L=W,P=T,W=K,T=S,K=z,S=w,z=x,w=n,x=ma,n=X,ma=M,X=B;h(v[0],v[1],ma,X,U);v[0]=U[0];v[1]=U[1];h(v[2],v[3],x,n,U);v[2]=U[0];v[3]=U[1];h(v[4],v[5],z,w,U);v[4]=U[0];v[5]=U[1];h(v[6],v[7],K,S,U);v[6]=U[0];v[7]=U[1];h(v[8],v[9],W,T,U);v[8]=U[0];v[9]=U[1];h(v[10],v[11],L,P,U);v[10]=U[0];v[11]=U[1];h(v[12],v[13],aa,ua,U);v[12]=U[0];v[13]=U[1];h(v[14],v[15],La,Ya,U); +v[14]=U[0];v[15]=U[1];return v}var A=ba.Cp;var Q=A("y7udXcEFnthimikqNnzVB5FZAVowcN0XFS/s2PcOWTlnMyZn/8ALMY60SodoWBUR2wwuDWT5j6dHtUgdvvpPpA==",4,1);var E=A("agnmZ/O8yQi7Z66FhMqnOzxu83L+lPgrpU/1Ol8dNvFRDlJ/reaC0ZsFaIwrPmwfH4PZq/tBvWtb4M0ZE34heQ",4,1);var t=A("QoovmNcoriJxN0SRI+9lzbXA+8/sTTsv6bXbpYGJ27w5VsJb80i1OFnxEfG2BdAZkj+CpK8ZT5urHF7V2m2BGNgHqpijAwJCEoNbAUVwb74kMYW+TuSyjFUMfcPV/7Ticr5ddPJ7iW+A3rH+OxaWsZvcBqclxxI1wZvxdM9pJpTkm2nBnvFK0u++R4Y4TyXjD8GdxouM1bUkDKHMd6ycZS3pLG9ZKwJ1SnSEqm6m5INcsKncvUH71Hb5iNqDEVO1mD5RUu5m36uoMcZtLbQyELADJ8iY+yE/v1l/x77vDuTG4AvzPaiPwtWnkUeTCqclBspjUeADgm8UKSlnCg5ucCe3CoVG0i/8LhshOFwmySZNLG38WsQq7VM4DROdlbPfZQpzVIuvY952agq7PHeyqIHCyS5H7a7mknIshRSCNTuiv+ihTPEDZKgaZku8QjABwkuLcND4l5HHbFGjBlS+MNGS6BnW71IY1pkGJFVlqRD0DjWFV3EgKhBqoHAyu9G4GaTBFrjS0MgeN2wIUUGrUydId0zfjuuZNLC8teGbSKg5HAyzxclaY07YqkrjQYrLW5zKT3dj43NoLm/z1rK4o3SPgu5d77L8eKVjb0MXL2CEyHgUofCrcozHAggaZDnskL7/+iNjHiikUGzr3oK96b75o/eyxnkVxnF48uNyUyvKJz7O6iZhnNGGuMchwMIH6tp91s3g6x71fU9/7m7ReAbwZ6pyF2+6CmN9xaLImKYRP5gEvvkNrhtxCzUTHEcbKNt39SMEfYQyyqt7QMckkzyevgoVyb68Qx1nxJwQDUxMxdS+yz5Ctll/KZz8ZX4qX8tvqzrW+uxsRBmMSkdYFw==", +4,1);var m=A("MEEwDQYJYIZIAWUDBAICBQAEMA");var q=A("MFEwDQYJYIZIAWUDBAIDBQAEQA");var y=A("MC0wDQYJYIZIAWUDBAIFBQAEHA");var C=A("MDEwDQYJYIZIAWUDBAIGBQAEIA");return{am:function(){return g("SHA-384",m,Q,t,128,p,384)},bm:function(){return g("SHA-512",q,E,t,128,p,512)},MT:function(){return g("SHA-512.224",y,E,t,128,p,224)},NT:function(){return g("SHA-512.256",C,E,t,128,p,256)}}}();"undefined"!==typeof u&&(Na.Wb={},Na.sT=function(h){return Na.Wb[h]||(Na.Wb[h]=Na.am())},Na.tT=function(h){return Na.Wb[h]|| +(Na.Wb[h]=Na.bm())},Na.deleteInstance=function(h){Na.Wb[h]=null;delete Na.Wb[h]},Na.pO=function(h){if("process"===h.Ja)Na.am.process(h.buffer);else return"finish"===h.Ja?Na.am.finish():Na.am().Vd(h.buffer)},Na.qO=function(h){if("process"===h.Ja)Na.bm.process(h.buffer);else return"finish"===h.Ja?Na.bm.finish():Na.bm().Vd(h.buffer)},u.register("digest","SHA-384",Na.pO),u.register("digest","SHA-512",Na.qO));ea["SHA-384"]=Na.am;ea["SHA-512"]=Na.bm;var la=la||k();if("undefined"!==typeof u){var kb={};f.cS= +function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return h=kb[A].finish(),kb[A]=null,h;h=kb[A].RA(h.buffer);kb[A]=null;return h};f.BS=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return p=kb[A].finish(),p=ba.zl(p,h.qD),kb[A]=null,p; +p=kb[A].RA(h.buffer);p=ba.zl(p,h.qD);kb[A]=null;return p};f.generateKey=function(h){var p={"SHA-1":64,"SHA-224":64,"SHA-256":64,"SHA-384":128,"SHA-512":128},A=h.algorithm.length;void 0===A&&(A=p[h.algorithm.hash.name.toUpperCase()]);return{type:"keyGeneration",keyData:nb.ve(A),keyHandle:{algorithm:h.algorithm,extractable:h.extractable,usages:h.usages,type:"secret"}}};f.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,["k"]);p.alg=p.alg.replace("HS","SHA-")}else if("raw"=== +h.format)p={k:ba.wc(h.keyData)};else throw Error("unsupported import format");return{type:"keyImport",keyData:p.k,keyHandle:{algorithm:{name:"HMAC",hash:{name:h.algorithm.hash.name}},extractable:h.extractable||p.extractable,usages:h.usages,type:"secret"}}};f.exportKey=function(h){if("jwk"===h.format)return{type:"keyExport",keyHandle:Ia.hp(h.keyHandle,h.keyData)};if("raw"===h.format)return{type:"keyExport",keyHandle:h.keyData};throw Error("unsupported export format");};u.register("importKey","HMAC", +f.importKey);u.register("exportKey","HMAC",f.exportKey);u.register("generateKey","HMAC",f.generateKey);u.register("sign","HMAC",f.cS);u.register("verify","HMAC",f.BS)}var Db=function(){var h,p,A,Q,E,t,m,q,y,C;return{ug:function(M){function B(n,z){return[n[4*z],n[4*z+1],n[4*z+2],n[4*z+3]]}function v(n){for(var z=0;z=q;q+=2*m)B[q]=0;for(m=3;16384>=m;m+=2)0!==B[m]&& +v.push(m);p=v}q=p.length;A=Array(q);for(B=0;B>>=1,m--);v=q*la.Op+m}B=la.Wh(B);for(m=1;6>= +m;m++){q=!1;do var H=h(v);while(0<=la.Hf(H,y));F=[];B.Cj(H,M,F,!0);if(0!==la.Hf(F,[1])&&0!==la.Hf(F,y)){for(H=1;H>>24&255,E>>>16&255,E>>>8&255,E&255];m=A.Vd(h.concat(m));Q=Q.concat(m)}return Q.slice(0,p)},dT:function(h,p){if(h.length>(p.maxMessageSize||4294967295))throw Error("message too long"); +}},Zb=Zb||{};Zb.lP=function(h,p){var A=ba,Q=nb,E=h.n.length;if(null===p)throw Error("must supply hashFunction");return{mp:function(t,m){if(t.length>E-p.Xt/8*2-2)throw Error("Message too long.");null==m&&(m=[]);m=p.Vd(m);var q=A.vc(E-t.length-2*m.length-2);q=m.concat(q,[1],t);t=Q.ve(m.length);var y=Lc.jp(t,E-m.length-1,p);q=A.$e(q,y);m=Lc.jp(q,m.length,p);m=A.$e(t,m);return t=[0].concat(m,q).slice()},Dp:function(t,m){var q=m;m=0;var y=0===t[0];void 0===q&&(q=[]);q=p.Vd(q);var C=t.slice(1,q.length+ +1);t=t.slice(q.length+1);var M=Lc.jp(t,q.length,p);C=A.$e(C,M);C=Lc.jp(C,E-q.length-1,p);t=A.$e(t,C);C=t.slice(0,q.length);y=y&&A.zl(q,C);for(t=t.slice(q.length);!t[m++];);return{valid:y,data:t.slice(m)}}}};"undefined"!==typeof u&&(b.sign=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength,Q=h.algorithm.salt;return b(h.keyData,h.algorithm.name,p).bS(h.buffer,A,Q)},b.verify=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength; +return b(h.keyData,h.algorithm.name,p).CS(h.qD,h.buffer,A)},b.Gp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p=b(h.keyData,h.algorithm.name);h=p.encrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.encrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.Fp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p= +b(h.keyData,h.algorithm.name);h=p.decrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.decrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,"n e d p q dp dq qi".split(" "));p.d&&(p.Dt=(new la.Wh(la.Ch(p.p))).wg,p.Et=(new la.Wh(la.Ch(p.q))).wg)}else if("spki"===h.format){var A= +Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[1];A=Aa.parse(A.data.slice(A.Ag+1),!0);if(null==A)throw Error("invalid key data.");p=A[0];A=A[1];if("INTEGER"!==p.type||"INTEGER"!==A.type)throw Error("invalid key data.");p=p.data.slice(p.Ag);A=A.data.slice(A.Ag);0===p[0]&&p[1]&128&&(p=p.slice(1));0===A[0]&&A[1]&128&&(A=A.slice(1));p={n:p,e:A}}else if("pkcs8"===h.format){A=Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[2];A=Aa.parse(A.data.slice(A.Ag),!0);if(null== +A)throw Error("invalid key data.");var Q="n e d p q dp dq qi".split(" ");p={};for(var E=1;EF.usages.indexOf("wrapKey")||F.algorithm.name.toUpperCase()!==H.name)Z(Error("InvalidAccessError"));else U(B,v).then(function(ma){console.log(Qa.ce(ma));return O(H,F,"jwk"===B?Qa.Nj(JSON.stringify(ma,null,0)):ma)}).then(function(ma){ia(ma)})["catch"](function(ma){Z(ma)})})},unwrapKey:function(B,v,F,H,O,U,ia){var Z=this.decrypt,ma=this.importKey;return new Promise(function(X,x){if(0>F.usages.indexOf("unwrapKey")|| +F.algorithm.name.toUpperCase()!==H.name)x(Error("InvalidAccessError"));else Z(H,F,v).then(function(n){return ma(B,"jwk"===B?JSON.parse(Qa.JA(n)):n,O,U,ia)}).then(function(n){X(n)})["catch"](function(n){x(n)})})}},xO:{Ep:y.Ep}}}();Eb=function(){var h=ba;return{wrapKey:function(p){var A=b(p.QO,p.cu.algorithm.name,ea["SHA-1"])(),Q=Ia.RO(p.keyHandle,p.keyData);p=h.ce(JSON.stringify({alg:p.cu.algorithm.name.toUpperCase(),enc:"A128GCM"}),!0);var E=nb.ve(32);A=A.encrypt(E);A=h.ce(A,!0);var t=nb.ve(12),m= +h.ce(t,!0),q=p.concat(".",A,".",m);E=d(Db.ug(E));E.ud(t,h.Nj(q),128);E=E.encrypt(Q);t=E.slice(-16);Q=h.ce(t,!0);E=h.ce(E.slice(0,E.length-t.length),!0);return h.Nj(JSON.stringify({Rl:[{Ag:p,kB:A,wO:Q}],bC:m,gN:E}))},unwrapKey:function(p){var A=h.El,Q=JSON.parse(String.fromCharCode.apply(null,p.buffer));h.El(Q.Rl[0].Ag);var E=A(Q.Rl[0].kB),t=A(Q.Rl[0].wO),m=A(Q.bC);A=A(Q.gN);var q=ea["SHA-1"]();E=b(p.keyData,p.keyHandle.algorithm.name,q).decrypt(E);Q=Q.Rl[0].Ag.concat(".",Q.Rl[0].kB,".",Q.bC);E=d(Db.ug(E)); +E.ud(m,h.Nj(Q),128);t=E.decrypt(A,t);t=Ia.Ol(t,p.algorithm,["k"]);return{type:"keyImport",keyData:t.k,keyHandle:{algorithm:{name:p.algorithm.name},extractable:p.extractable||t.extractable,usages:p.usages,type:"secret"}}}}}();"undefined"!==typeof u&&(u.register("wrapKey","AES-GCM",Eb.wrapKey),u.register("unwrapKey","AES-CBC",Eb.unwrapKey));Eb={subtle:Mc?Mc.yP:null,getRandomValues:function(h){var p,A=nb.ve(h.length);for(p=0;p>>=1;while(0!==a);return b}};var D;D=function(){}; +D.bk=function(){return D.fA};D.ZD=function(){return D.zH};D.ci=function(a){var b=new I(a.offsetX,a.offsetY);null!==a.currentTarget&&(b=J.$O(a.currentTarget,b));return b};D.Vx=function(a){var b=new I(a.offsetLeft,a.offsetTop);a.offsetParent&&(a=D.Vx(a.offsetParent),b.X+=a.X,b.Y+=a.Y);return b};D.jA=!1;D.hq=function(a){var b=this.UF(a);null!==b&&(a=D.Vx(a.target),b.X-=a.X,b.Y-=a.Y);return b}; +D.UF=function(a){return a.pageX&&a.target?new I(a.pageX,a.pageY):(D.jA||(D.jA=!0,N.error("Evaluation of Touch events not supported because the browser uses an unexpected interface")),null)};D.FJ=navigator.userAgent.match(/OS 6(_\d)+ like Mac OS X/i);D.sO=function(){return D.FJ};D.rE=function(){var a=void 0!==window.TouchEvent&&"ontouchstart"in window&&"ontouchend"in document;return void 0!==window.PointerEvent&&void 0!==navigator.maxTouchPoints&&0a.length?null:new Ja(parseFloat(a[2]),parseFloat(a[3]))};D.fM=function(a){var b=new XMLHttpRequest;b.open("GET",a.src,!1);b.send();return b.responseXML&&b.responseXML.documentElement?b.responseXML&&b.responseXML.documentElement:null}; +D.rG=function(a,b){var c=new XMLHttpRequest;c.open("GET",a.src);c.onreadystatechange=function(){4===c.readyState&&(200===c.status?c.responseXML&&c.responseXML.documentElement?b(c.responseXML.documentElement):b(null):b(null))};c.send()}; +D.pL=function(a){try{if(0<=a.src.toLowerCase().indexOf(".svg")){N.h("Derivation of SVG size for '"+a.src+"' failed. Parsing manually");var b=D.fM(a);if(null!==b){var c=D.uz(b.getAttribute("width"));var d=D.uz(b.getAttribute("height"));if(c&&d)return new Ja(c,d);var e=D.wz(b.getAttribute("viewBox"));if(null!==e)return e}}}catch(f){N.error("Exception during manual parsing of SVG size.")}return null}; +D.Dv=function(a){if(a.naturalWidth&&a.naturalHeight)return new Ja(a.naturalWidth,a.naturalHeight);if(a.width&&a.height)return new Ja(a.width,a.height);a=D.pL(a);return null!==a?a:new Ja(0,0)};D.lq=function(){return D.tL};D.EI="undefined"!==typeof InstallTrigger;D.QE=function(a,b,c){return!D.EI&&!c.WorkaroundForceSVGEmptySizeWorkaround||c.WorkaroundDisableSVGEmptySizeWorkaround?!1:J.wq(b)&&void 0!==a.naturalWidth&&0===a.naturalWidth&&void 0!==a.naturalHeight&&0===a.naturalHeight}; +D.bE=function(a,b,c){try{D.rG(a,function(d){if(null===d)c("DoZeroWidthHeightWorkaround: svg xml not available");else{var e=D.wz(d.getAttribute("viewBox"));null===e?c("DoZeroWidthHeightWorkaround: no view box available"):(d.setAttribute("width",e.L),d.setAttribute("height",e.aa),d=(new XMLSerializer).serializeToString(d),b("data:image/svg+xml;base64,"+btoa(d)))}})}catch(d){c(d.toString())}}; +D.Qb=function(){return"onpointerdown"in window&&"PointerEvent"in window&&!Ka.kE("CFG_WorkaroundDisablePointerEvents",!1)};D.Cv=function(){var a=Ka.lE("CFG_WorkaroundFileTransferTimeout");return null!==a?a:D.lq()?400:0};D.tL=-1!==navigator.userAgent.indexOf("Safari")&&0>navigator.userAgent.indexOf("Chrome");var Ma="undefined"===typeof ArrayBuffer||"undefined"===typeof Uint8Array||"undefined"===typeof Int8Array,Oa,Ra;Ma||(Oa=new ArrayBuffer(4),Ra=new Int8Array(Oa,1,2),Ma=2!==Ra.byteLength);D.fA=Ma; +D.zH=function(){if(D.fA)return!1;var a="undefined"!==typeof DataView,b;if(/opera [56789]|opera\/[56789]/i.test(navigator.userAgent)||/MSIE (\d+\.\d+);/.test(navigator.userAgent))return!1;try{if(a){var c=new ArrayBuffer(8);var d=new Int8Array(c);for(b=0;8>b;++b)d[b]=b;var e=new DataView(c);if(a="function"===typeof e.getFloat64&&"function"===typeof e.getFloat32&&"function"===typeof e.getInt32&&"function"===typeof e.getUint32&&"function"===typeof e.getInt16&&"function"===typeof e.getUint16&&"function"=== +typeof e.getInt8&&"function"===typeof e.getInt8)e.getFloat64(0),e.getFloat32(0),e.getInt32(0),e.getUint32(0),e.getInt16(0),e.getUint16(0),e.getInt8(0),e.getInt8(0)}}catch(f){return!1}return a}();D.xb=function(a,b){return void 0!==a.includes?a.includes(b):0<=a.indexOf(b)};D.CF=function(a,b){return void 0!==a.startsWith?a.startsWith(b):0===a.lastIndexOf(b,0)}; +D.Av=function(){try{var a=void 0!==navigator.languages?navigator.languages.length?navigator.languages[0]:navigator.language:navigator.language;var b=a.split("-");b.length&&(a=b[0]);return a}catch(c){return""}};D.Vh=function(){return window.WindowZoomFactor?1E-4<=Math.abs(parseFloat(window.WindowZoomFactor)-1):!1};D.Yj=function(a){var b=D.Up();b&&a.Yl(1/b);return a};D.Up=function(){return parseFloat(window.WindowZoomFactor)};var Configuration; +Configuration=function(){this.PlcAddress="0101";this.UseLocalHost=!0;this.CommBufferSize=5E4;this.ErrorReconnectTime=1E4;this.Application="Application";this.UpdateRate=200;this.BestFitForDialogs=this.BestFit=!1;this.StartVisu="Visualization";this.StartVisuDefaultEncodingBase64="";this.XhrSendTimeout=0;this.LoginVisuDefLang=this.LoginVisuNamespace=this.LoginVisuErrorTexts=this.LoginVisuTexts=this.LoginVisu="";this.PollingRegistrationInterval=100;this.TimeMeasurements="";this.LogLevel="INFO";this.MaxUnusedImageAge= +2E4;this.MaxUndrawnImageAge=1E4;this.NumCachedImages=15;this.ChangeWindowTitle=!0;this.TooltipFont="";this.DefaultKeyActions=!0;this.KeysForWebVisu="Backspace,Tab";this.ANSIStringEncoding="iso-8859-1";this.CommitEditcontrolOnClickOut=!0;this.HandleTouchEvents=!1;this.FuzzyTransparencyColorEvaluation=!0;this.TouchHandlingActive=this.Benchmarking=this.HasKeyboard=this.LoadImagesById=!1;this.ClientName="";this.ScaleTypeIsotropic=this.IecSupportsCommonMiterLimit=this.SemiTransparencyActive=!1;this.GesturesFlickPanThresholdPxPerSecond= +1E3;this.GesturesPanFlickTimeThresholdMs=40;this.GesturesPanClickThresholdDistSquare=10;this.PostDataInHeader=0;this.vq=this.AutoFontReductionActive=!1;this.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application.";this.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";this.ConnectionInfoValidTimeMsForLeaveAfterError=1E3;this.WorkaroundDisableMouseUpDownAfterActiveTouch=!0;this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch= +500;this.WorkaroundForceSVGEmptySizeWorkaround=this.WorkaroundDisableSVGEmptySizeWorkaround=this.WorkaroundDisableSVGAspectRatioWorkaround=this.WorkaroundDisableResizeHandling=!1;this.ContentSecurityPolicyIncludeTrustedOrigins=this.RuntimeVersion=this.CasFactoryName="";this.DefaultConfigurationOnError=!1;this.MaxResizePixel=30;this.FillBackground=!1;this.tq=5E3;this.UseBrowserLanguage=this.ContextMenuDisabled=this.TouchContextMenuEnabled=this.DebugHTML5=this.DebugOnlyInputReactionExplCoord=this.DebugOnlyInputReactionOnUp= +this.DebugOnlyDiagnosisDisplay=this.DebugOnlyPrintTouchRectangles=this.DebugOnlyPrintGestures=this.DebugOnlyPrintRawTouches=this.DebugOnlyPrintPaintCommands=!1}; +Configuration.prototype={validate:function(){if("string"!==typeof this.PlcAddress)throw Error("Plc address must be of type string");if("boolean"!==typeof this.UseLocalHost)throw Error("UseLocalHost must be of type boolean");if("number"!==typeof this.CommBufferSize)throw Error("CommBufferSize must be of type number");if("number"!==typeof this.ErrorReconnectTime)throw Error("ErrorReconnectTime must be of type number");if("string"!==typeof this.Application)throw Error("Application must be of type string"); +if("number"!==typeof this.UpdateRate)throw Error("UpdateRate must be of type number");if("number"!==typeof this.MaxResizePixel)throw Error("MaxResizePixel must be of type number");void 0!==this.LoginMaxResizePixel&&30===this.MaxResizePixel&&(this.MaxResizePixel=this.LoginMaxResizePixel);if("boolean"!==typeof this.BestFit)throw Error("BestFit must be of type boolean");if("boolean"!==typeof this.BestFitForDialogs)throw Error("BestFitForDialogs must be of type boolean");if("string"!==typeof this.StartVisu)throw Error("StartVisu must be of type string"); +if("string"!==typeof this.LoginVisu)throw Error("LoginVisu must be of type string");if("string"!==typeof this.LoginVisuTexts)throw Error("LoginVisuTexts must be of type string");if("string"!==typeof this.LoginVisuErrorTexts)throw Error("LoginVisuErrorTexts must be of type string");if("string"!==typeof this.LoginVisuNamespace)throw Error("LoginVisuNamespace must be of type string");if("string"!==typeof this.LoginVisuDefLang)throw Error("LoginVisuDefLang must be of type string");if("number"!==typeof this.PollingRegistrationInterval)throw Error("PollingRegistrationInterval must be of type number"); +if("string"!==typeof this.TimeMeasurements)throw Error("TimeMeasurements must be of type string");if("string"!==typeof this.TooltipFont)throw Error("TooltipFont must be of type string");if("boolean"!==typeof this.DefaultKeyActions)throw Error("DefaultKeyActions must be of type boolean");if("string"!==typeof this.ANSIStringEncoding)throw Error("ANSIStringEncoding must be of type string");if("boolean"!==typeof this.FuzzyTransparencyColorEvaluation)throw Error("FuzzyTransparencyColorEvaluation must be of type boolean"); +if("boolean"!==typeof this.LoadImagesById)throw Error("LoadImagesById must be of type boolean");if("boolean"!==typeof this.Benchmarking)throw Error("Benchmarking must be of type boolean");if("boolean"!==typeof this.TouchHandlingActive)throw Error("TouchHandlingActive must be of type boolean");if("boolean"!==typeof this.HasKeyboard)throw Error("HasKeyboard must be of type boolean");if("boolean"!==typeof this.SemiTransparencyActive)throw Error("SemiTransparencyActive must be of type boolean");if("boolean"!== +typeof this.ScaleTypeIsotropic)throw Error("ScaleTypeIsotropic must be of type boolean");if("number"!==typeof this.GesturesFlickPanThresholdPxPerSecond||0>this.GesturesFlickPanThresholdPxPerSecond)throw Error("GesturesFlickPanThresholdPxPerSecond must be of type nonnegative number");if("number"!==typeof this.GesturesPanFlickTimeThresholdMs||0>this.GesturesPanFlickTimeThresholdMs)throw Error("GesturesPanFlickTimeThresholdMs must be of type nonnegative number");if("number"!==typeof this.GesturesPanClickThresholdDistSquare|| +0>this.GesturesPanClickThresholdDistSquare)throw Error("GesturesPanClickThresholdDistSquare must be of type nonnegative number");if("number"!==typeof this.PostDataInHeader||0>this.PostDataInHeader||2this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch)throw Error("WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch must be of type nonnegative number");if("string"!==typeof this.CasFactoryName)throw Error("CasFactoryName must be of type string");if("string"!==typeof this.RuntimeVersion)throw Error("RuntimeVersion must be of type string");if("string"!==typeof this.ContentSecurityPolicyIncludeTrustedOrigins)throw Error("ContentSecurityPolicyIncludeTrustedOrigins must be of type string"); +if("number"!==typeof this.tq)throw Error("TouchSanityInterval must be of type number");if("boolean"!==typeof this.ContextMenuDisabled)throw Error("ContextMenuDisabled must be of type boolean");if("boolean"!==typeof this.TouchContextMenuEnabled)throw Error("TouchContextMenuEnabled must be of type boolean");this.yg()},PB:function(){try{return new Sa(this.TooltipFont)}catch(a){return this.TooltipFont=""}},yg:function(){return new na(this.ANSIStringEncoding)},td:function(){return new oa(this.ANSIStringEncoding)}}; +var Ta;Ta=function(a,b,c,d,e){this.CommBufferSize=a;this.Fa=b;this.cf=c;this.$p=d;this.Th=Ua.xa;this.la=Ua.m;this.eq="";this.yF=e;this.Lp=!1;this.Gc=""};Ta.prototype={IQ:function(a){this.Gc=a}};var Va;Va=function(){};Va.Pp="";Va.RE="";Va.Qp="2";Va.cv="3";Va.bF="4";Va.PF="5";Va.xF="6";var Wa;Wa=function(){};Wa.h="NOSP";Wa.xa="---";Wa.m=1E3;Wa.J=1100;var $a;$a=function(){};$a.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";$a.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application."; +$a.h=1;$a.Ya=$a.h;$a.Pb=$a.h+1;$a.J=$a.h+2;$a.m=$a.h+3;$a.xa=$a.h+4;$a.Uc=$a.h+5;var ab;ab=function(a,b,c,d,e,f,g,k,l){this.xr=a;this.jb=d%360;this.MG=e;this.NG=f;this.ur=g;(0===this.ur||2===this.ur)&&180=b&&0<=l&&1>=l},aJ:function(a,b){var c=[];c[0]=this.Vm(new I(a.u,a.v),b);c[1]=this.Vm(new I(a.V,a.v),b);c[2]=this.Vm(new I(a.V,a.ca),b);c[3]=this.Vm(new I(a.u,a.ca),b);for(a=b=0;4>a;++a)b= +Math.max(b,c[a]);return Math.sqrt(b)},Vm:function(a,b){return(a.X-b.X)*(a.X-b.X)+(a.Y-b.Y)*(a.Y-b.Y)}};var bb;bb=function(a){this.g=a;this.Er()}; +bb.prototype={Er:function(){var a=this;window.document.addEventListener("keydown",function(b){a.tK(b)},!1);window.document.addEventListener("keypress",function(b){a.uK(b)},!1);window.document.addEventListener("keyup",function(b){a.vK(b)},!1)},uK:function(a){if(a.repeat)a.preventDefault();else{var b=this.g.A;a=this.sn(a);null!==b&&null!==a&&this.g.rd(Fa.Ya(b.la,a))}},tK:function(a){if(a.repeat)a.preventDefault();else{var b=this.Yx(a),c=this.g.A;this.lz("onKeyDown",b)||(this.Jw(a),null!==c&&null!== +b&&void 0!==b.key&&this.g.rd(Fa.J(128,c.la,b.key,b.flags)))}},vK:function(a){var b=this.Yx(a),c=this.g.A;this.lz("onKeyUp",b)||(this.Jw(a),null!==c&&null!==b&&void 0!==b.key&&this.g.rd(Fa.J(256,c.la,b.key,b.flags)))},lz:function(a,b){return this.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess[a]&&window.ProgrammingSystemAccess[a](b.key,b.flags)?!0:!1},Yx:function(a){var b=a.keyCode,c=0;if(16<=b&&18>=b)return null;a.shiftKey&&(c|=1);a.altKey&&(c|=2);a.ctrlKey&&(c|=4);return{key:b, +flags:c}},sn:function(a){var b=0;a.charCode?b=a.charCode:a.which&&(b=a.which);if(0===b||void 0!==a.altKey&&!0===a.altKey&&48<=b&&57>=b)return null;if(void 0!==a.ctrlKey&&a.ctrlKey||void 0!==a.altKey&&a.altKey)if(void 0===a.ctrlKey||!a.ctrlKey||void 0===a.altKey||!a.altKey)return null;return String.fromCharCode(b)},VK:function(a){var b;if(void 0===this.g.getConfiguration().KeysForWebVisu||""===this.g.getConfiguration().KeysForWebVisu)return!1;var c=this.g.getConfiguration().KeysForWebVisu.split(","); +for(b=0;bb.L||c.aa>b.aa)&&this.Hq(c.scale(a))}catch(d){N.warn("Exception during resizing canvasses: "+d),this.Hq((new Ja(window.innerWidth,window.innerHeight)).scale(a))}},aR:function(a,b,c){c?(this.oi.FR(),this.Cs=this.Zz(a,"cdsClip_before_canvas",b)):(this.oi.ER(),this.Bs=this.Zz(a,"cdsClip_after_canvas",b))},Zz:function(a,b,c){a=J.xa(a.O(),b); +if(null===a)return null;a=this.Bk(a);a=new tb(a);a.LS=c;a.HR();return a},PC:function(){this.oi.aQ()},wx:function(a,b){this.Rq&&(this.g.OA(),this.Rq=!1);var c,d=this;if(this.g.Tb.Rp){for(c=0;ca?this.ll[a]:null},OM:function(a,b){this.ll[a]=b},WP:function(a){this.ll.length>a&&(this.ll[a]=null)},lt:function(){return 0=b&&(b=0);this.Ns(b)},RQ:function(a){this.bn=a},ML:function(a){this.cd=a},U:function(){return this.gb},error:function(a,b){if(!this.Yh){this.Oc||N.error(a);var c=null!==this.lb?this.lb.ErrorReconnectTime:1E4;N.info("Will restart in "+c+"ms");null!==this.A&&(this.an=new vc(this.A,this.lb));this.Es();this.lL();if(this.Oc){var d=this.Vp.ProgrammingSystemModeErrorText;window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.errorOccurred(d,a)}else d="An error happened; will automatically restart"; +if("The maximum number of visualization clients is already connected. Please try again later."===a||"Not enough memory in the PLC to create the client."===a)d=a;this.nl(d,b);this.I(new wc(this),c)}},XO:function(){this.Uu("The webvisualization license expired.","License Expired")},Uu:function(a,b){this.Yh||(N.warn(a+" Webvisualization is stopped"),this.nl(b),this.Es(),this.ML(new wc(this)))},QQ:function(a){this.Bb=a},Ns:function(a){var b=this;this.nb=window.setTimeout(function(){b.Kx()},a)},rd:function(a){null!== +this.Bb&&(this.Bb.push(a),null!==this.cd&&this.cd.qt()&&(clearTimeout(this.nb),this.Ns(0)))},pE:function(){return""!==this.getConfiguration().LoginVisu.toLowerCase()},wK:function(){if(!this.Oc){var a=this.A;null===a&&null!==this.an&&this.an.iS()&&(a=this.an.ri);null!==a&&a.la!==Ua.m&&a.Th!==Ua.xa&&(new lb(this,a)).mQ()}},lL:function(){var a=this.gb.Hl(),b;for(b=0;20>b;++b)a.restore()},WG:function(){Ka.Tj(this.sg,"ProgrammingSystemMode",!1)?(this.Oc=!0,Ka.Tj(this.sg,"ProgrammingSystemModeCefSharp", +!1)&&CefSharp.BindObjectAsync("ProgrammingSystemAccess")):this.Oc=!1},changeUpdateRate:function(a){null!==this.lb&&(aa?2*a:Math.floor(1.3*a)},lo:function(a,b){this.Dd[a]=b},OC:function(a){a>this.ma.byteLength&&this.Oz(a)},yo:function(a){this.cb>=this.ma.byteLength&&this.mL();var b=this.cb;this.cb++;this.lo(b,a)},Bo:function(a,b,c){var d=new Uint8Array(a);this.OC(this.size()+c);if(200>4)+65)+String.fromCharCode((b&15)+65)}Ha=function(){this.ma="";this.cb=0};Ha.prototype={lo:function(b,c){var d=null,e=null;0G)throw Error("Invalid start offset");if(0===u||G+u>g.byteLength)throw Error("Valid data range exceeded");this.ha=k;this.Sf=u;this.ma=g;this.s=G;this.Dd=new Uint8Array(this.ma);this.oe=l;this.M=new xc(this,this.ha)};Mb.D=function(g,k,l,G,u){return D.ZD()?new yc(g,k,l,G,u):D.bk()?new zc(g,k,l,G,u):new Mb(g,k,l,G,u)};Mb.prototype= +{xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(g){this.oe=new na(g)},ja:function(g,k){var l=g*(k?2:1);if(0>g||this.s+l>this.ma.byteLength)throw Error("INDEX_SIZE_ERR: DOM Exception 1");g=this.M.HC(this.ma,this.s,g,l,k,this.oe);this.s+=l;return g},Xe:function(g){return this.M.Xe(g)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(g){this.s=g},size:function(){return this.Sf},m:function(){return this.M.bB()}, +h:function(){return this.M.aB()},xa:function(){return this.M.dB()},Mf:function(){return this.M.Gt()},J:function(){return this.M.cB()},Uc:function(){return this.M.Ft()},Pb:function(){return this.M.eB()},Ya:function(){return this.M.Xd()},Nf:function(){return this.M.Yd()},Da:function(g){return this.Dd[g]},getUint8:function(){var g=this.Da(this.s);this.s++;return g},oj:function(){return this.ma}};var d={Int8:1,Int16:2,Int32:4,Uint16:2,Uint32:4,Float32:4,Float64:8},e;for(e in d)if(d.hasOwnProperty(e)){c(this, +e,d[e]);var f="_getFloat64";Mb.prototype[f]=Mb.prototype.m;f="_getFloat32";Mb.prototype[f]=Mb.prototype.h;f="_getInt64";Mb.prototype[f]=Mb.prototype.Ya;f="_getUint64";Mb.prototype[f]=Mb.prototype.Nf;f="_getInt32";Mb.prototype[f]=Mb.prototype.xa;f="_getUint32";Mb.prototype[f]=Mb.prototype.Mf;f="_getInt16";Mb.prototype[f]=Mb.prototype.J;f="_getUint16";Mb.prototype[f]=Mb.prototype.Uc;f="_getInt8";Mb.prototype[f]=Mb.prototype.Pb}})();var Nb;Nb=function(a){this.M=a}; +Nb.prototype={xj:function(){return this.M.xj()},Mj:function(){return this.M.Mj()},Lj:function(a){this.M.Lj(a)},ja:function(a,b){return this.M.ja(a,b)},Xe:function(a){return this.M.Xe(a)},qj:function(){return this.M.qj()},If:function(){return this.M.If()},ga:function(){return this.M.ga()},seek:function(a){this.M.seek(a)},size:function(){return this.M.size()},getFloat64:function(){this.Ad(8);return this.M.getFloat64()},getFloat32:function(){this.Ad(4);return this.M.getFloat32()},getInt32:function(){this.Ad(4); +return this.M.getInt32()},getUint32:function(){this.Ad(4);return this.M.getUint32()},getInt16:function(){this.Ad(2);return this.M.getInt16()},getUint16:function(){this.Ad(2);return this.M.getUint16()},Yd:function(){this.Ad(8);return this.M.Yd()},Xd:function(){this.Ad(8);return this.M.Xd()},getInt8:function(){return this.M.getInt8()},getUint8:function(){return this.M.getUint8()},Da:function(a){return this.M.Da(a)},oj:function(){return this.M.oj()},Ad:function(a){if(8===a||4===a||2===a){var b=this.M.ga(); +0!==b%a&&this.M.seek(b+a-b%a)}}};var yc; +yc=function(a,b,c,d,e){if(!(a instanceof ArrayBuffer))throw new TypeError("BinaryReader_DataView requires an ArrayBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.byteLength);if(!(c instanceof na))throw new TypeError("BinaryReader_DataView requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.byteLength)throw Error("Valid data range exceeded");this.ha=b;this.Pd= +new DataView(a,0,e+d);this.Sf=e;this.ma=a;this.s=d;this.oe=c;this.M=new xc(this,this.ha)}; +yc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");a=this.M.HC(this.ma,this.s,a,c,b,this.oe);this.s+=c;return a},Xe:function(a){return this.M.Xe(a)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf}, +getFloat64:function(){var a=this.Pd.getFloat64(this.s,this.ha);this.s+=8;return a},getFloat32:function(){var a=this.Pd.getFloat32(this.s,this.ha);this.s+=4;return a},Xd:function(){if("function"===typeof this.Pd.Xd){var a=this.Pd.Xd(this.s,this.ha);this.s+=8}else a=this.M.Xd();return a},Yd:function(){if("function"===typeof this.Pd.Yd){var a=this.Pd.Yd(this.s,this.ha);this.s+=8}else a=this.M.Yd();return a},getInt32:function(){var a=this.Pd.getInt32(this.s,this.ha);this.s+=4;return a},getUint32:function(){var a= +this.Pd.getUint32(this.s,this.ha);this.s+=4;return a},getInt16:function(){var a=this.Pd.getInt16(this.s,this.ha);this.s+=2;return a},getUint16:function(){var a=this.Pd.getUint16(this.s,this.ha);this.s+=2;return a},getInt8:function(){var a=this.Pd.getInt8(this.s);this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.Pd.getUint8(a)},oj:function(){return this.ma}};var zc; +zc=function(a,b,c,d,e){if("string"!==typeof a)throw new TypeError("BinaryReader_StringBased expects a string");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.length/2);if(!(c instanceof na))throw new TypeError("BinaryReader requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.length/2)throw Error("Valid data range exceeded");this.ha=b;this.Sf=e;this.ma=a;this.s=d;this.oe= +c;this.M=new xc(this,b)}; +zc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");var d=Array(a);if(b){if(this.ha)for(b=0;b=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf},getFloat64:function(){var a=this.M.bB();this.s+=8;return a},getFloat32:function(){var a=this.M.aB();this.s+=4;return a},Xd:function(){return this.M.Xd()},Yd:function(){return this.M.Yd()},getInt32:function(){var a=this.M.dB();this.s+=4;return a},getUint32:function(){var a= +this.M.Gt();this.s+=4;return a},getInt16:function(){var a=this.M.cB();this.s+=2;return a},getUint16:function(){var a=this.M.Ft();this.s+=2;return a},getInt8:function(){var a=this.M.eB();this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.ma.charCodeAt(2*a)-65<<4|this.ma.charCodeAt(2*a+1)-65},oj:function(){return this.ma}};var xc;xc=function(a,b){this.va=a;this.ha=b}; +xc.prototype={Xe:function(a){var b=this.va.ga(),c=0;if(a)for(;0!==this.va.getUint16();)c++;else for(;0!==this.va.getUint8();)c++;this.va.seek(b);b=this.va.ja(c,a);a?this.va.getUint16():this.va.getUint8();return b},bB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,8)),c=this.va.Da(this.Sb(a,1,8)),d=this.va.Da(this.Sb(a,2,8)),e=this.va.Da(this.Sb(a,3,8)),f=this.va.Da(this.Sb(a,4,8)),g=this.va.Da(this.Sb(a,5,8)),k=this.va.Da(this.Sb(a,6,8)),l=this.va.Da(this.Sb(a,7,8));a=1-2*(b>>7);b=((b<<1& +255)<<3|c>>4)-(Math.pow(2,10)-1);c=(c&15)*Math.pow(2,48)+d*Math.pow(2,40)+e*Math.pow(2,32)+f*Math.pow(2,24)+g*Math.pow(2,16)+k*Math.pow(2,8)+l;return 1024===b?0!==c?NaN:Infinity*a:-1023===b?a*c*Math.pow(2,-1074):a*(1+c*Math.pow(2,-52))*Math.pow(2,b)},aB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4)),e=this.va.Da(this.Sb(a,3,4));a=1-2*(b>>7);b=(b<<1&255|c>>7)-127;c=(c&127)<<16|d<<8|e;return 128===b?0!==c?NaN:Infinity*a:-127===b? +a*c*Math.pow(2,-149):a*(1+c*Math.pow(2,-23))*Math.pow(2,b)},dB:function(){var a=this.Gt();return a>Math.pow(2,31)-1?a-Math.pow(2,32):a},Gt:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4));a=this.va.Da(this.Sb(a,3,4));return b*Math.pow(2,24)+(c<<16)+(d<<8)+a},cB:function(){var a=this.Ft();return a>Math.pow(2,15)-1?a-Math.pow(2,16):a},Ft:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,2));a=this.va.Da(this.Sb(a,1,2));return(b<< +8)+a},eB:function(){var a=this.va.Da(this.va.ga());return a>Math.pow(2,7)-1?a-Math.pow(2,8):a},HC:function(a,b,c,d,e,f){var g=null;if(e){if(this.ha&&0===b%2)try{g=new Int16Array(a,b,c)}catch(k){}if(null===g)if(g=new Int16Array(Array(c)),b=new Uint8Array(a,b,d),this.ha)for(a=0;a>>0)+1;d=~b;4294967296<=a&&(a-=4294967296,d+=1);return-1*(a+Math.pow(2,32)*d)},Sb:function(a,b,c){return a+(this.ha?c-b-1:b)}};var Ac; +Ac=function(a,b,c){if(!(a instanceof Ga))throw new TypeError("BinaryWriter expects a BinaryBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");this.bh=a;this.ha=b;this.gd=-1;this.Us=c};Ac.D=function(a,b,c){null===c|void 0===c&&(c=(new Configuration).td());return D.bk()?new Bc(a,b,c):new Ac(a,b,c)}; +Ac.prototype={dM:function(a){var b=a.length/2,c;if(1!==b&&2!==b&&4!==b)throw Error("Unexpected size for swapping");for(c=0;ca){var d=~(-a&4294967295|0)+1|0;b[0]=d;b[1]=~(-a/4294967296|0)+!d|0}this.Eq(c,8)},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d=a.data(),e=0;ea&&(b=c=~(-a&4294967295|0)+1|0,c=~(-a/4294967296|0)+!c|0);this.Bd(this.Je(b,32,!1));this.Bd(this.Je(c,32,!1))},Ao:function(a){this.Bd(this.Gx(a,23,8))},ot:function(a){this.Bd(this.Gx(a,52,11))},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d= +a.data(),e=0;e(g=0!==k?0:g),ja=Math.floor(g=Math.abs(g)),va=g-ja,Xa;for(a=G;a;u[--a]=0);for(a=d+2;ja&&a;u[--a]=ja%2,ja=Math.floor(ja/2));for(a=d+1;0=e&&l<=d?a+1:d+1-(l=e- +1)))+1]){if(!(Xa=u[g]))for(va=g+2;!Xa&&vaa-2?-1:a-3;++a=e&&l<=d?++a:l>=1);va=g=0;a=(c=(ka?"1":"0")+c+u.slice(a,a+b).join("")).length;for(b=[];a;va=(va+1)% +8)g+=(1<-c-1||ae||0>a)this.tA("encodeInt::overflow"),a=0;for(0>a&&(a+=e);a;a=Math.floor(a/256))d[d.length]=String.fromCharCode(a%256);for(b=-(-b>>3)-d.length;b;b--)d[d.length]=String.fromCharCode(0);return(this.ha?d:d.reverse()).join("")}, +tA:function(a){throw Error(a);}};var Dc;Dc=function(a,b,c){this.M=Mb.D(a,b,c,void 0,void 0)};Dc.prototype={uj:function(){var a=0,b=0;do{var c=this.M.getUint8();a|=(c&127)<>=7;this.jf.Ra(d&127);if(0!==d>>7)throw Error("Value "+a+" cannot be written as an MBUI with "+b+" bytes");},HB:function(a){var b=0;do a>>=7,b++;while(0b&&(this.to=b-a.L,this.re.style.left=this.to+"px");this.uo+a.aa>c&&(this.uo=c-a.aa,this.re.style.top=this.uo+"px")},vH:function(a,b,c,d){var e=document.createElement("div");e.id="cdsTooltip";e.style.msUserSelect= +"none";e.style.WebkitUserSelect="none";e.style.MozUserSelect="none";e.style.userSelect="none";e.style.position="absolute";e.style.left=a+"px";e.style.top=b+"px";this.to=a;this.uo=b;e.innerHTML=c;e.style.borderStyle="solid";e.style.font=d;e.style.color=this.ej.yv;e.style.borderColor=this.ej.dv;e.style.borderWidth=this.ej.Pj+"px";e.style.padding="2px 3px 2px 3px";e.style.backgroundColor=this.ej.wv;e.style.zIndex=Va.PF;return e}};var Xc; +Xc=function(a,b,c,d){this.T=null;this.eh=this.jb=this.Ah=this.zh=this.Rd=this.Qd=this.ra=this.na=this.qd=this.pd=0;this.Ii="solid";this.Hi="";this.mc=null;this.up=this.tp=1;this.Ma=new ib(0);this.bc=a;c?(this.Z=window.document.createElement("div"),this.Z.id="cdsClip",this.Z.style.overflow="hidden",this.Z.style.position="relative",this.bc.appendChild(this.Z)):this.Z=this.bc;this.fa=b;this.fg=null;this.ta="";this.Zq=Va.Pp;this.Ub=d}; +Xc.prototype={initialize:function(){},MA:function(){},pb:function(){this.T&&this.O().parentNode===this.T?this.T.removeChild(this.O()):N.warn("Error when removing a client object. This node doesn't have a parent:"+this.O().id)},update:function(a,b,c,d,e,f,g,k,l,G,u){this.pd=a;this.qd=b;this.na=c;this.ra=d;this.Qd=e;this.Rd=f;this.zh=g;this.Ah=k;this.jb=l;this.fa.bD(G);this.rM(a,b,c,d,e,f,g,k,l,u)},lx:function(){},mx:function(a){var b=window.document.createElement("div");b.style.overflow="hidden";b.style.position= +"absolute";b.style.margin="";b.style.padding="";b.id=a;b.style.left="0px";b.style.top="0px";b.style.width=this.na+"px";b.style.height=this.ra+"px";a=J.eP(a+"_canvas",this.na,this.ra);b.appendChild(a);return b},IR:function(a){a?this.LR():this.JR()},aS:function(a,b){this.tp=a;this.up=b},O:function(){return this.bc},rM:function(a,b,c,d,e,f,g,k,l,G){var u=this;e=void 0===this.vl;void 0!==this.vl&&this.vl!==this.fa.gC()?window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G)}):(this.vl=!this.fa.gC())?(null!== +this.fg&&(this.O().removeEventListener("transitionend",this.fg,!1),this.fg=null),e?(window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,100)}),window.WebvisuInst.wo(function(){u.Xi()})):(this.Xi(),window.WebvisuInst.wo(function(){u.wi(a,b,c,d,g,k,l,G,100)}))):(e||""===G?window.WebvisuInst.wo(function(){u.Xi()}):(this.fg=function(){u.Xi()},this.O().addEventListener("transitionend",this.fg,!1)),window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,0)}))},wi:function(a,b,c,d,e,f,g,k,l){c=this.O(); +d=this.Z;g=1/this.tp;var G=1/this.up;this.We()&&this.lx();c.style.left=a+"px";c.style.top=b+"px";c.style.width=this.ag()+"px";c.style.height=this.$f()+"px";d.style.width=this.ag()+"px";d.style.height=this.$f()+"px";0d&&(e=c[d].O().nextSibling);null===e||void 0===e?this.Z.append(a.O()):this.Z.insertBefore(a.O(),e)}else for(d in c){if(bb||0>c||b>this.na||c>this.ra)throw Error("Illegal argument!");"mousedown"===a?this.mc(d.rc(),0,db.J,[],void 0):"mousemove"===a?this.mc(d.rc(),0,db.m,[],void 0):"mouseup"===a&&this.mc(d.rc(),0,db.h,[],void 0)}; +r.YM=function(a,b){if(this.Gd instanceof $c)this.fc.Sc(this,Vc.RD(a,b));else{a=a.split(".");var c=this.Gd;if(null!==c){for(var d=0;dk&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.xc().X,b=this.Wa.Ud().Y,d>k&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.Ud().X,b=this.Wa.Ud().Y,a>ja&&(a=this.Wa.xc().X-c),b>va&&(b=this.Wa.xc().Y-d),a=Math.min(Math.max(0,ja),Math.max(0,a)),b=Math.min(Math.max(0,va),Math.max(0,b)))),g=this.Wa.Gl().X-a,k=this.Wa.Gl().Y-b);Oc.prototype.update.call(this, +a,b,c,d,e,f,g,k,l,G,u);this.O().style.opacity=1;this.Aa&&(this.Aa.style.transition=u,this.it&&(this.Aa.style.backgroundColor=ka),this.Aa.style.opacity=1)}};r.Mq=function(a){return this.s.zA?this.Wa.xc().X:this.s.nt?this.Wa.Ud().X-a:this.Wa.xc().X+(this.Wa.Ud().X-this.Wa.xc().X)/2-a/2};r.ae=function(a){this.Aa&&a.appendChild(this.Aa);Oc.prototype.ae.call(this,a)}; +r.close=function(a){if(this.lA)this.lB(a);else{var b=this;this.ld(this.O(),"transitionend",function(){b.lB(a)})}this.Aa&&(this.Aa.style.opacity=0);this.O().style.transform="scale(0)";this.O().style.opacity=0};r.lB=function(a){this.Aa&&this.T===this.Aa.parentNode&&this.T.removeChild(this.Aa);a()}; +r.bL=function(){var a=this,b=D.Qb();this.ld(this.Aa,b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointermove":"mousemove",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.ld(this.Aa,"touchstart",function(c){a.Fd(c)}),this.ld(this.Aa,"touchmove",function(c){a.Fd(c)}),this.ld(this.Aa,"touchend",function(c){a.Fd(c)}))}; +r.pM=function(){var a=this,b=D.Qb();this.Aa.removeEventListener(b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointermove":"mousemove",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.Aa.removeEventListener("touchstart",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchmove",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchend",function(c){a.Fd(c)}))}; +r.Fd=function(a){this.Aa&&a.target===this.Aa&&a.stopPropagation()};r.Ej=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.lp=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.ku=function(a){if(null!==a.touches&&1<=a.touches.length){var b=J.sm(a.touches[0]);this.ms(a,b,!0)}}; +r.ms=function(a,b,c){switch(a.type){case "mouseout":case "pointerout":this.Vk?(a.preventDefault(),this.Fw(a,b)):this.Pz();break;case "mousedown":case "pointerdown":case "touchstart":a.preventDefault();this.zK(b,c);var d=this;this.g.Bi.tt(a,d,function(e){d.Ej(e)},function(e){d.Ej(e)});break;case "mousemove":case "pointermove":case "touchmove":a.preventDefault();this.ls(a,b,c);break;case "mouseup":case "pointerup":case "touchend":a.preventDefault(),this.AK(a,c)}}; +r.zK=function(a,b){b||(this.Yq=this.Z.style.cursor,this.Z.style.cursor="move");this.yc=J.Za().getBoundingClientRect();this.yc.x=0;this.yc.y=0;this.xz=this.yc.x+2;this.Zn=this.yc.x+this.yc.width-2;this.yz=this.yc.y+2;this.Yn=this.yc.y+this.yc.height-2;b=new I(parseInt(this.O().offsetLeft,10),parseInt(this.O().offsetTop,10));this.Is(a);this.bs=new I(b.X-a.X,b.Y-a.Y);this.Vk=!0};r.ls=function(a,b,c){this.Vk?this.Fw(a,b):c||this.Pz()};r.AK=function(a,b){this.Vk&&(this.bz(b),this.Vz(a))}; +r.Fw=function(a,b){this.Is(b);b.X<=this.xz||b.X>=this.Zn||b.Y<=this.yz||b.Y>=this.Yn?(this.bz(this),this.Vz(a)):(a=b.X+this.bs.X,b=b.Y+this.bs.Y,a<=this.yc.x&&(a=this.yc.x),a+this.na>=this.Zn&&(a=this.Zn-this.na),b<=this.yc.y&&(b=this.yc.y),b+this.ra>=this.Yn&&(b=this.Yn-this.ra),this.O().style.top=b+"px",this.O().style.left=a+"px")};r.bz=function(a){a||(this.Z.style.cursor=""!==this.Yq?this.Yq:"default");this.Vk=!1}; +r.Vz=function(a){if(null!==this.g.A){var b=new I(parseInt(this.O().style.left,10),parseInt(this.O().style.top,10));a=this.rj(a).Ld;this.Is(a);a=this.Hx(a);this.mc(b.rc(),0,537,[],a)}};r.Pz=function(){"move"===this.Z.style.cursor&&(this.Z.style.cursor="default")};r.Is=function(a){D.Vh()&&D.Yj(a)};var Rc;Rc=function(a,b,c){this.Ga=a;this.Vf=b;(this.Li=null!==b)&&this.Vf.appendChild(this.Ga.canvas);this.qy=c}; +Rc.prototype={O:function(){return this.Li?this.Vf:this.Ga.canvas},eR:function(a,b){this.Ga.canvas.id="cdsCanvas"+a+"_Layer_"+b.toString();this.Li&&(this.Vf.id="cdsClip"+a+"_Layer_"+b.toString())},vS:function(a,b,c,d,e,f,g,k,l,G,u){g.Qc()?(this.Ga.x=a,this.Ga.y=b,this.Ga.canvas.style.left=a+"px",this.Ga.canvas.style.top=b+"px"):this.gG(g);this.Ga.width=c;this.Ga.height=d;this.Ga.kQ=e;this.Ga.lQ=f;this.Ga.canvas.style.width=-1===this.Ga.width?"100%":c+"px";this.Ga.canvas.style.height=-1===this.Ga.height? +"100%":d+"px";this.Li&&(this.Vf.fT=u,this.Vf.style.left=k+"px",this.Vf.style.top=l+"px",this.Vf.style.width=G+"px",this.Vf.style.height=u+"px")},gG:function(a){a.right()&&(this.Ga.canvas.style.right="0px");a.left()&&(this.Ga.canvas.style.left="0px");a.top()&&(this.Ga.canvas.style.top="0px");a.bottom()&&(this.Ga.canvas.style.bottom="0px")},zu:function(){this.Ga.x=0;this.Ga.y=0;this.Ga.width=-1;this.Ga.height=-1}};var Jc; +Jc=function(a){this.T=null;this.sa=[];this.$b={};this.Qa=-1;this.mc=null;this.Gf=-1;this.kh=a;this.gr=this.Wi=null;this.ps=!1;this.ng=new cd;this.Ma=new ib(0);this.$q=null}; +Jc.prototype={uA:function(a,b){32767===a?(b.O().id="cdsDemoMode",b.O().style.zIndex=Va.cv,b.ae(J.Za()),this.$q=b):-1===this.Qa?(b.zj()||b.SB()?(b.Fg(a),this.Du(b,1),b.Gu(!0),this.ps=!0):(b.ua instanceof Jc?null===this.Wi&&(this.Wi=a):this.ps&&!this.kh?this.Du(b,a+1):this.Du(b,a),b.Gu(this.kh),b.Fg(a)),b.Kg(this.ix(a)),this.Yz(a,b)):(b.Fg(this.Qa),this.Me(this.Qa).JM(a,b))},Du:function(a,b){if(this.Ma.cm()&&!a.Ma.Qc()){var c=this.LB(a.Ma);a.KR(this.T,c,b)}else a.ae(this.T,b)},su:function(){if(-1=== +this.Qa)this.vx(),this.Ma.cm()&&this.T&&this.ng.clear(this.T),this.ps=!1;else{var a=this.Me(this.Qa);void 0!==a&&a.QP()}},tu:function(){this.vx();this.Qa=-1},Dh:function(a){for(var b=0;bb.byteLength?!0:!1:!1}};var Ua;Ua=function(){};Ua.xa=43981;Ua.m=0;Ua.Pb=1;Ua.Uc=129;Ua.h=0;Ua.J=0; +Ua.Ya=1;var id;id=function(a,b,c){this.Ks=a;this.Ls=b;this.Wz=c;this.ne=0};id.read=function(a){var b=a.getUint16(),c;if(52565!==b)throw Error("Unsupported protocol: "+b);this.Dk=a.getUint16();if(12>this.Dk)throw Error("Unsupported length of header: "+this.Dk);this.Ks=a.getUint16();this.Ls=a.getUint16();this.Wz=a.getUint32();this.ne=a.getUint32();b=this.Dk-12;16<=this.Dk&&(a.getUint16(),b-=2);for(c=0;ca.length)return"Unexpected format of service: 2";5<=a.length&&(b="true"===a[4]);return new Ta(parseInt(a[0],10),0===parseInt(a[1],10),parseInt(a[2],10),"true"!==a[3],b)}catch(c){return"Exception during readOpenConnectionResult: "+c}},JP:function(){var a=this.iA(),b;for(b=0;bb?b:4294967290===b?"Visualization is not allowed":4294967292===b?"No more memory on the plc":4294967293===b?"Connection to invalid application":4294967289===b?"Too many clients are registering at the same time":"Unknown error"}return 65410===a?"no rights":65407===a?"Visu not supported by the plc":"Unknown tag ID"}return"Unexpected format of service: 4"}catch(c){return"Exception during readVisuRegisterClientResult: "+ +c}},KP:function(){try{for(this.Md(4,3);!this.P.If();){var a=this.sh.uj();this.sh.uj();if(65407===a)return"Visu not supported by the plc";var b=this.P.getUint32();return 0===b||1===b?b:2===b?"Client registration failed":3===b?"Client registration failed due to an invalid external id":4===b?"The maximum number of visualization clients is already connected. Please try again later.":5===b?"Not enough memory in the PLC to create the client.":"Unknown error"}return"Unexpected format of service: 5"}catch(c){return"Exception during readVisuIsRegisteredClientResult: "+ +c}},MP:function(){try{return this.Md(4,2),0}catch(a){return"Exception during readVisuRemoveClientResult: "+a}},qu:function(a){var b=0===a.direction?5:2,c=132;a.status.Yb===kd.J&&(b=Ua.Pb,c=Ua.Uc);try{var d=this.Md(8,b);b={};b[c]=function(e,f){e.Gb(f,{2:function(g){a.bi.uS=g.P.getUint32();a.bi.xe=g.P.getUint32()},3:function(g){a.Bp=g.P.getUint32()},8:function(g){a.status.result=g.P.getUint16()}})};b[34]=function(e){e.P.getUint32()};b[65410]=function(e,f){e.Gb(f,{32:function(g){a.status.result=g.P.getUint16()}})}; +this.Gb(d.ne,b)}catch(e){return"Exception during readtFileAndSessionInfoResult: "+e}},FC:function(a){var b=0===a.direction?7:4,c=0;try{var d=this.Md(8,b),e=0===a.direction?a.bi.xe:a.Uh.xe,f={};0===a.direction?(f[6]=function(g){c=g.P.getUint32()},f[7]=function(g,k){a.status.se=!0;f[5](g,k)},f[5]=function(g,k){null===a.buffer&&(a.buffer=Ga.D(e));if(a.status.wd+c<=e&&c<=k){for(k=0;k=e):a.status.result=g};this.Gb(d.ne,f)}catch(g){return"Exception during readtFileAndSessionInfoResult: "+g}},GP:function(a){var b=0===a.direction?a.bi.xe:a.Uh.xe;b=a.status.result===Ua.h&&a.status.wd===b&&a.status.se?8:9;try{var c=this.Md(8,b);this.Gb(c.ne,{7:function(d){d.P.getUint16();a.status.se=!0}})}catch(d){return"Exception during readFinishFileTransferResult: "+d}},Gj:function(a){try{var b= +this.Md(4,4),c=0,d=a;this.Gb(b.ne,{132:function(e,f){e.Gb(f,{2:function(g){g.P.getUint32();var k=g.P.getUint32(),l=g.P.getUint32();g=g.P.getUint32();d=new hb(k,l,g)},4:function(){d.finish()},1:function(g){c=g.P.getUint32()},3:function(g,k){d.Wd().Bo(g.P.oj(),g.P.ga(),Math.min(k,d.aP()))}})}});return 0!==c?65535===c?"Client id not present or no longer valid":c.toString():null===d?"Unexpected format of service: 6":d}catch(e){return"Exception during readVisuGetPaintDataResult: "+e}},RL:function(a){this.P.seek(this.P.ga()+ +a)},Md:function(a,b){var c=id.read(this.P),d=4+c.Dk+c.ne;if(this.P.size()=c.HB(b.size())?2:6;c.G(b.size(),e);this.Fm(d,b)},BN:function(b){var c=this.Pc(1,2);this.yw(b,1);this.Ic(c)},yw:function(b,c){this.ea.G(34);this.ea.G(4,3);this.F.K(b);this.ea.G(37);this.ea.G(4,3);this.F.K(c)},CN:function(b,c){var d=this.Pc(1,2);b= +this.wH(b,c);this.yw(2,2);this.ea.G(129);this.Fq(b,this.ea,this.F);this.Ic(d)},It:function(b,c,d,e){if(void 0===b||null===b)b="";void 0===c&&(c=null);void 0===d&&(d=0);void 0===e&&(e=Ua.J);var f=this.Pc(1,2),g=null,k=null,l=new oa("utf-8");this.ea.G(34);this.ea.G(4,3);this.F.K(e);0!==d&&(this.ea.G(35),this.ea.G(4,3),this.F.K(d));null!==c&&(k=l.encode(c));b=l.encode(b);b=this.VI(b);null!==k&&0!==d&&e===Ua.Ya&&(g=this.UI(k,d));this.ea.G(129);this.ea.G(b.size()+(null!==g?g.size():0),2);this.Fm(this.F, +b);null!==g&&this.Fm(this.F,g);this.Ic(f)},DN:function(){var b=this.Pc(1,3);this.F.K(0);this.Ic(b)},GS:function(b,c,d,e){var f=this.Pc(4,1);b=this.F.hb(b,!1);var g=b.length()+4+1,k=this.bg(g,4,0),l=0,G=0,u=524288,ka=this.F.hb(c,!1),ja=this.F.hb(d,!1);c&&0d-b.status.wd&&(f=d-b.status.wd);d=this.bg(f,4,0);this.ea.G(6);this.ea.G(4,3);this.F.K(f);b.status.Rh=f;this.ea.G(5);this.ea.G(4+f+d,3);this.F.K(b.Bp);for(e=0;el&&(l=32);0!==l%4&&(l+=4-l%4);for(c=0;cMath.abs(a-d)&&2>Math.abs(b-e)&&2>Math.abs(c-f)}:function(a,b,c,d,e,f){return a===d&&b===e&&c===f}},FI:function(){N.m("Workaround for image "+this.hh+" without width/height activated");var a=this;D.bE(this.Oe,function(b){a.Rs(!1,b)},function(b){N.warn("Retrieving workaround image failed so going on as formerly, reason: "+b);a.Lm(3)})}};var vb; +vb=function(){this.yf={};this.hf=null;this.tm=""}; +vb.prototype={Ih:function(a){a=a.toLowerCase().split(".");var b=[],c;for(c=0;cb.length)return null;a=b[b.length-1];if(1===b.length)return this.Zi(this.kn(a));c=b[b.length-2];if(2===b.length){var d=this.yI(c);if(null!==d)return this.Zi(this.jr(a,d));d=this.lr(c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Zi(this.kn(a))}b=b.slice(0,b.length-2).join(".");d=this.lr(b);if(null!==d&&(d=this.kr(c,d),null!==d))return this.Zi(this.jr(a,d)); +d=this.lr(b+"."+c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Ih(c+"."+a)},uQ:function(a){this.hf=a},Zi:function(a){return null!==a?a.path:null},lr:function(a){var b=this.Px(a);null===b&&(b=this.zI(a));return b},Px:function(a){a=this.yf[a];return void 0!==a?a:null},zI:function(a){if(null!==this.hf){a=a.toLowerCase();var b,c=null;for(b=0;bc.length)){var d=this.mK(J.Sh(c[1]));var e=J.Sh(c[0]).toLowerCase();var f=J.Sh(c[2]).toLowerCase();var g=J.Sh(c[3]);c=this.yf[d];if(void 0===c){c={Fj:{}};var k=this.kx(e);k.entries[f]=this.Vq(f,g);c.Fj[e]=k;this.yf[d]=c}else k=c.Fj[e],void 0===k?(k=this.kx(e),k.entries[f]=this.Vq(f, +g),c.Fj[e]=k):k.entries[f]=this.Vq(f,g)}}},mK:function(a){return null===a||""===a?this.tm:a.toLowerCase()},kx:function(a){return{name:a,entries:{}}},Vq:function(a,b){return{id:a,path:b}}};var Fb;Fb=function(){};Fb.prototype={j:function(a){if(a.g.pa){var b=a.g.ba().wa();if(null!==b&&!(b instanceof Gc)&&(b=b.hd,null!==b&&void 0!==b)){b.xl();return}}a=a.g.qa;null!==a&&a.xl()}};var nd;nd=function(a,b){this.l=R.ye(b)};nd.prototype={j:function(a){a.vt();a.g.rb.Tl(this.l)}};var od; +od=function(a,b){this.l=R.ye(b)};od.prototype={j:function(a){a.getContext().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B());a.g.rb.Tl(this.l)}};var pd;pd=function(a,b){this.l=R.ye(b)};pd.prototype={j:function(a){a=a.getContext();a.save();a.beginPath();a.rect(this.l.u,this.l.v,this.l.C()+1,this.l.B()+1);a.clip()}};var qd;qd=function(){};qd.prototype={j:function(a){(a=a.g.so)&&a.QA()}};var rd; +rd=function(a,b,c,d){this.l=R.di(b,!1);this.ao=0!==b.getInt8();this._type=b.getInt8();switch(this._type){case 2:case 4:this.Xm=b.getUint32();this.Ym=b.getUint32();this.xi=b.getUint32();break;case 1:case 3:this.Yw=b.getInt16(),this.Xm=b.getUint32()}d.Zd()&&(this.l=d.gi(this.l))}; +rd.prototype={j:function(a){var b=a.getContext(),c=this.l.u,d=this.l.v,e=this.l.C(),f=this.l.B(),g=b.lineWidth;b.save();this.ko=a.g.getConfiguration().SemiTransparencyActive;a.getState().zg()?a.getState().Co(this.l):b.fillStyle=!0===this.ko?R.$a(this.Xm):R.ib(this.Xm);b.lineWidth=1;c+=.5;d+=.5;switch(this._type){case 2:case 4:this.KK(b,c,d,e,f);break;case 1:case 3:this.JK(b,c,d,e,f)}b.lineWidth=g;a.getState().zg()&&a.getState().Xl();b.restore()},uc:function(){return this.l},eO:function(){return!0=== +this.ko?R.$a(this.Ym):R.ib(this.Ym)},VN:function(){return!0===this.ko?R.$a(this.xi):R.ib(this.xi)},KK:function(a,b,c,d,e){if(!0===this.ko){var f=this.ao?R.$a(this.xi):"#000000";var g=R.$a(this.Ym);var k=R.$a(this.xi)}else f=this.ao?R.ib(this.xi):"#000000",g=R.ib(this.Ym),k=R.ib(this.xi);this.ao?(a.strokeStyle=f,a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e)):(a.fillRect(b,c,d,e),a.strokeStyle=g,a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c),a.moveTo(b,c),a.lineTo(b,c+e),a.stroke(),a.closePath(),a.strokeStyle= +f,a.beginPath(),a.moveTo(b,c+e),a.lineTo(b+d,c+e),a.lineTo(b+d,c),a.stroke(),a.closePath(),a.strokeStyle=k,a.beginPath(),a.moveTo(b+1,c+e-1),a.lineTo(b+d-2,c+e-1),a.moveTo(b+d-1,c+1),a.lineTo(b+d-1,c+e-1),a.stroke(),a.closePath())},JK:function(a,b,c,d,e){var f=new sd(this.Xm,this.Yw);if(this.ao)a.strokeStyle=R.ib(f.yB(0)),a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e);else{a.strokeStyle="#000000";a.fillRect(b,c,d,e);a.strokeRect(b,c,d,e);var g;for(g=0;g=b.ga()-a+16&&(this.wk= +!0,this.en=b.getFloat32(),this.fn=b.getFloat32(),d.Zd()&&(this.en=d.jo,this.fn=d.bj));this.Ea=null}; +Cb.prototype={j:function(a){a=a.getContext();var b=R.PE(this.l),c=this.l.clone(),d=this;this.OL(a,c,b);null!==this.Ea&&(this.Ea.loaded()?this.rk(a,this.Ea.Vo(),function(){return d.Ea.Wo()},c,!1):this.XH(a,this.l));this.QL&&(c=R.aq(a),a.strokeRect(this.l.u+c,this.l.v+c,this.l.C(),this.l.B()));this.YG(a,b)},iR:function(a){this.sf=a},YB:function(a,b){var c;this.vh&&null!==(c=b.Ih(this.sf))&&a.UP(c);if(null===this.Ea){if(a.pC())return b="ImageByImagePoolId?id="+this.sf,this.Ea=this.fj?a.tj(b,this.vh, +this.rg):a.tj(b,this.vh),this.Ea.Cg();c=b.Ih(this.sf);if(null!==c)return this.Ea=this.fj?a.tj(c,this.vh,this.rg):a.tj(c,this.vh),this.Ea.Cg();-1===this.sf.indexOf("VisuUserManagement.__VisualizationStyle.")&&N.warn("Imagepoolentry for "+this.sf+" not found");return!0}return this.Ea.Cg()},qv:function(){var a=this,b=this.l.clone();null!==this.Ea&&(this.rk(null,this.Ea.Vo(),function(){return a.Ea.Wo()},b,!0),this.Ea.bQ());return this.Jz},rk:function(a,b,c,d,e){if(this.mn&&this.wk){var f=c();f=new Ja(Math.round(this.en* +f.L),Math.round(this.fn*f.aa));d=J.fq(d,f,this);this.mn=!1;this.Em=!0}if(this.Em)e||a.drawImage(b,d.u,d.v,d.C(),d.B());else if(this.Lr){f=c();d.C()/f.L=c||0>=d||(b.save(),this.lG(b),a.getState().zg()&&a.getState().Co(this.cJ(g)),b.beginPath(),b.arc(0,0,g,this.aA,this.aA+this.eM,!1),this.uI&&(b.lineTo(0,0),b.closePath(),e&&b.fill()),b.restore(),f&&b.stroke(),a.getState().zg()&&a.getState().Xl())},cJ:function(a){return new Bb(-a,-a,a,a)},lG:function(a){var b=this.l.C(),c=this.l.B();null!==this.l.yd?this.l.yd.Do(a, +this.l):a.translate(this.l.u+.5,this.l.v+.5);a.translate(b/2,c/2);b>c?a.scale(b/c,1):a.scale(1,c/b)}};var ud;ud=function(a,b){this.ia=R.Pv(b)};ud.prototype={j:function(a){a=a.getContext();var b;for(b=0;bthis.ia.length)){a.getState().zg()&&a.getState().Co(this.cM());d&&this.UK(b);switch(this._type){case 0:this.YH(b,c,d);break;case 1:d&&this.ZH(b);break;case 2:d&&this.TH(b)}a.getState().zg()&&a.getState().Xl()}},UK:function(a){a=R.aq(a);var b;if(0!==a)for(b=0;bb&&(b=this.ia[e].X),this.ia[e].Y>d&&(d=this.ia[e].Y);return new Bb(a,c,b,d)}};var wd;wd=function(a,b,c,d){this._type=b.getUint16();switch(a){case 1:this.l=R.di(b,!0);break;case 45:this.l=R.ye(b);break;case 60:this.l=R.jF(b);break;case 61:this.l=R.iF(b)}d.Zd()&&(this.l=d.gi(this.l));this.Ek=!1;this.xM=new xd(this._type,this.l)}; +wd.prototype={j:function(a){this.Ek||(this.xM.mj(a),a.g.rb.eN())},uc:function(){return this.l},Fu:function(a){this.Ek=a}};var yd;yd=function(a,b){this._type=b.getUint16();a=b.getUint16();var c=b.getUint16();this.cj=new Ja(a,c);a=b.getUint16();c=b.getUint16();this.Ps=new Ja(a,c);b=b.getUint32();this.uM=0!==(b&1);this.vM=0!==(b&2);this.et=0!==(b&4)}; +yd.prototype={j:function(a){var b=a.getState().ys;var c=new I(b.X+this.Ps.L,b.Y+this.Ps.aa);if(this.et){var d=a.getState().ts;var e=c.X;c.X=d.X+this.Ps.L;d=e-c.X}else d=this.cj.L;c=new Bb(c.X,c.Y,c.X+d,c.Y+this.cj.aa);(new xd(this._type,c)).mj(a);this.uM&&(b.X+=this.cj.L);this.vM&&(b.Y+=this.cj.aa)}};var xd;xd=function(a,b){this._type=a;this.l=b.gP()}; +xd.prototype={UH:function(a,b,c,d,e,f,g){a.beginPath();if("function"===typeof a.ellipse){var k=d/2;e/=2;a.ellipse(b+k,c+e,k,e,0,0,2*Math.PI)}else{k=d/2*.5522848;var l=e/2*.5522848,G=b+d,u=c+e;d=b+d/2;e=c+e/2;a.moveTo(b,e);a.bezierCurveTo(b,e-l,d-k,c,d,c);a.bezierCurveTo(d+k,c,G,e-l,G,e);a.bezierCurveTo(G,e+l,d+k,u,d,u);a.bezierCurveTo(d-k,u,b,e+l,b,e);a.closePath()}f&&a.fill();g&&a.stroke()},$H:function(a,b,c,d,e,f,g){f&&a.fillRect(b,c,d,e);g&&a.strokeRect(b,c,d,e)},WH:function(a,b,c,d,e){a.beginPath(); +a.moveTo(b,c+e);a.lineTo(b+d,c);a.stroke()},mj:function(a){this.wg=a.getContext();this.Hg=a;this.x=this.l.u;this.y=this.l.v;this.w=this.l.C();this.Ec=this.l.B();this.radiusX=a.getState().ky;this.radiusY=a.getState().ly;this.fill=!a.getState().Yt();this.stroke=!a.getState().Oi;this.CC=this.l.yd;0>this.w||0>this.Ec||(this.Hg.getState().zg()&&this.Hg.getState().Co(this.l),this.NH())},NH:function(){var a=this.wg,b=this.x,c=this.y,d=this.w,e=this.Ec,f=this.radiusX,g=this.radiusY,k=this.fill,l=this.stroke, +G=this.CC;null!==G&&(a.save(),this.l.yd.Do(a,this.l));if(this.stroke&&null===this.CC){var u=R.aq(a);b+=u;c+=u}switch(this._type){case 0:this.$H(a,b,c,d,e,k,l);break;case 1:R.cE(a,b,c,d,e,k,l,f,g);break;case 2:this.UH(a,b,c,d,e,k,l);break;case 3:l&&this.WH(a,b,c,d,e);break;case 4:l&&(a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c+e),a.stroke())}null!==G&&a.restore();this.Hg.getState().zg()&&this.Hg.getState().Xl()}};var Ad; +Ad=function(a,b,c,d){if(3===a||11===a)var e=R.Nv(b);else if(46===a||47===a)e=R.lF(b);c=b.getUint32();this.dc=this.rJ(c);this.Jb=this.zM(c);this.Bw=0!==(c&16);this.BG=0!==(c&32);this.dL=0!==(c&64);this.vL=0!==(c&1024);this.et=0!==(c&2048);this.po=0!==(c&256);this.ql=0!==(c&512);this.l=R.ov(e,0!==(c&128));d.Zd()&&(this.l=d.gi(this.l));d=b.getUint16();this.ka=b.ja(d,11===a||47===a);this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka;this.Ek=!1}; +Ad.prototype={j:function(a){if(!this.Ek){this.Hg=a;this.wg=a.getContext();this.state=a.getState();if(this.dL){var b=this.state.ys;if(this.et){b=this.state.ts;var c=b.X;b=b.Y}else c=b.X,b=b.Y;a.Zd()&&(c=a.wm(c),b=a.xm(b));this.l=new Bb(c,b,c+this.l.C(),b+this.l.B())}this.OH()}},Ob:function(a){this.ka=a;this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka},uc:function(){return this.l},Qt:function(){switch(this.dc){case 1:return"LEFT";case 2:return"RIGHT";default:return"HCENTER"}},Vt:function(){switch(this.Jb){case 1:return"TOP"; +case 2:return"BOTTOM";default:return"VCENTER"}},Fu:function(a){this.Ek=a},OH:function(){var a=this.wg,b=this.state,c=this.Hg;a.save();null!==this.l.yd&&this.l.yd.Do(a,this.l);a.beginPath();a.rect(this.l.u-.5,this.l.v-.5,this.l.C()+1,this.l.B()+1);a.clip();a.fillStyle=b.hA;a.font=b.sj();var d=!1;var e=b.Gi;var f=a.font;!c.g.Yh&&(this.eG(a,c),!0===c.g.getConfiguration().AutoFontReductionActive&&this.ql||!1===c.g.getConfiguration().AutoFontReductionActive&&(this.po||this.ql))&&(d=this.iL(a,c));!1=== +d&&(this.Ui?this.As(a,c):this.Mz(a));if(this.BG){d=b.ys;var g=b.ts;d.X=this.l.u;d.Y=this.l.v;this.vL&&(g.X=d.X+1,g.Y=d.Y);d.X=this.l.u+this.hM(a)}c.g.Yh||!0!==c.g.getConfiguration().AutoFontReductionActive||!1!==this.ql||(b.cD(e),b.Lg(f));a.restore()},eG:function(a,b){var c=b.getState(),d,e;if(!0===b.g.getConfiguration().AutoFontReductionActive&&!this.ql){var f=a.font;var g=c.Gi;var k=this.l.C()+1;var l=this.l.B()+1;for(d=!0;(k>this.l.C()||l>this.l.B())&&1g&&(f=!0,d=this.BM(a,d,g,e),!1===c?(this.ka=d,this.As(a,b)):this.Ef=d);return f},BM:function(a,b,c,d){var e=!1,f="",g=!1,k=1;do{if(1===b.length)break;for(;this.Ys(a, +b.slice(0,k))g?(d=f,g=!1):(e=f,g=!0)}return!0===g?0"),this.dz?d.pP(u.u,u.v,this.ka,g.Sp):d.$M(this.ka,l,document.getElementById("background").width, +document.getElementById("background").height)):(c.save(),this.VH(c,f,u,g,G,e,k.lineHeight),this.dz&&(a=new Bb(0,0,0,0)),null!==a&&u.No(a)||this.EL(b.g,u),a=u,c.restore())},EL:function(b,c){var d=new Fa(513,b.A.la,0,0),e=Ga.D(8),f=Ac.D(e,!0);f.Dc(Math.floor(c.u));f.Dc(Math.floor(c.v));f.Dc(Math.ceil(c.V));f.Dc(Math.ceil(c.ca));d.Nb(e);b.Bb.push(d)},CG:function(b,c,d){var e=new Ja(0,0),f=b.font,g,k=0;b.font=c.Sp;for(g=0;g=b.C()?f=this.s.X-20-d.L-c.L:f=this.s.X+20,this.s.Y+20+c.aa>=b.B()?g=this.s.Y-20- +c.aa:g=this.s.Y+20;0>f&&(f=c.Lg&&(g=c.aa=b.ga()-d+10?(a=b.getUint16(),this.Xw=b.ja(a,!1)):this.Xw=""}; +Dd.prototype={j:function(){switch(this.cH){case 0:N.warn("The functionality start process is not possible in the webvisualization.");break;case 1:case 2:case 3:N.warn("The functionality printing is not possible in the webvisualization.");break;case 4:this.iK()}},iK:function(){"replace"===this.Xw?window.location.href=this.Ww:window.open(this.Ww)}};var Ed;Ed=function(a,b){this.pk=b.getUint8();this.pk=0===this.pk?2:3;this.gn=new Fd(b)}; +Ed.prototype={j:function(a){var b=new Gd(0,this.pk,this.gn.jh,null,this.gn);a.g.Kj(b)}};var Hd;Hd=function(a,b,c,d){a=d.g.i;c=0;this.Jc=b.getUint32();d=b.getUint16();this.gt=b.ja(d,!1);d=b.getUint32();null===a.buffer&&(a.buffer=Ga.D(d));for(;c=b.ga()-a+12&&(this.Qq=0===(b.getUint32()&1))}; +Kb.prototype={j:function(a){a.on.mt(this.l);this.Qq&&(a.xg().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B()),J.UO(a,this.l));a.g.rb.Tl(this.l)}};var Nd; +Nd=function(a,b){var c;this.Bx=b.getUint32();this.fI=b.getUint32();a=b.getUint16();this.Zy=b.ja(a,!1);a=b.getUint32();var d=b.getUint16();this.Id=[];this.sz=!1;try{for(c=0;c=c&&c-8192>4&15]+a[d&15]};var c=function(d){return d&255};R=function(){};R.ii=50;R.pv=0;R.em=1;R.Qj=2;R.dm=3;R.ei=function(d){var e=d.getInt16();d=d.getInt16();return new I(e,d)};R.jq=function(d){var e=d.getFloat32();d=d.getFloat32();return new I(e,d)};R.sw=function(d,e){var f=[],g;for(g=0;4>g;++g)f[g]=e(d);return f};R.Nv=function(d){return R.sw(d,R.ei)};R.kF=function(d){return R.sw(d,R.jq)};R.lF=function(d){var e=[];e[0]=R.ei(d);e[2]= +R.ei(d);e[1]=new I(e[2].X,e[0].Y);e[3]=new I(e[0].X,e[2].Y);return e};R.eF=function(d){return d[1].Y!==d[0].Y||d[2].X!==d[1].X||d[3].Y>16)+b(d>>8)+b(d)};R.$a=function(d){var e=d>>24&255;if(255===e)return"#"+b(d>>16)+b(d>>8)+b(d);e/=255;return"rgba("+ +c(d>>16)+", "+c(d>>8)+", "+c(d)+", "+e+")"};R.aq=function(d){return 1===d.lineWidth%2?.5:0};R.Yp=function(d){return 0<=d.indexOf("\n")||0<=d.indexOf("\r")};R.Nh=function(d,e,f){return e>d.length-1?d:d.substr(0,e)+f+d.substr(e+1)};R.fF=function(d){var e,f;var g=d.length;var k=e=0;for(f=R.pv;ef&&0!==(g&256)){var G=1,u=0,ka=0,ja=0,va=-1;for(g=0;g=va?(u+=Xa," "===l&&(ja=u,va=g)):(++G,ka=Math.max(u,ja),u=u-ja+Xa))}ka=Math.max(u,ka);return new I(ka,G*J.Pb(d))}return new I(l, +J.Pb(d))};R.pq=function(d,e){e=R.zF(e);var f=[],g;for(g=0;gu||0>ka?ja=Math.max(1,Math.min(g,k)/8):ja=u;d.beginPath();d.moveTo(e+ja,f);d.lineTo(e+g-ja,f);d.quadraticCurveTo(e+g,f,e+g,f+ja);d.lineTo(e+g,f+k-ja+.5);d.quadraticCurveTo(e+g,f+k,e+g-ja,f+k);d.lineTo(e+ja+.5,f+k); +d.quadraticCurveTo(e,f+k,e,f+k-ja+.5);d.lineTo(e,f+ja);d.quadraticCurveTo(e,f,e+ja+.5,f);d.closePath();l&&d.fill();G&&d.stroke()}})();var jf;jf=function(a,b,c,d){a=b.getUint32();!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(a):this.kb=R.ib(a)};jf.prototype={j:function(){J.Za().style.backgroundColor=this.kb}};var Oe;Oe=function(a,b){this.cK=b.getUint16();this.dK=b.getUint16();a=b.getUint16();this.ka=b.ja(a,!1)}; +Oe.prototype={j:function(){var a=J.h("Message ID: {0} Message description: {1}",this.dK,this.ka);switch(this.cK){case 0:break;case 1:N.info(a);break;case 2:N.warn(a);break;case 4:case 8:N.error(a);break;case 16:N.m(a);break;default:N.h("Unknown log level")}}};var Ve;Ve=function(a,b){this.gK=1===b.getUint16()?"copy":"source-over"};Ve.prototype={j:function(a){a.getContext().globalCompositeOperation=this.gK}};var qe; +qe=function(a,b){this.gA=b.getUint16();this.tg=b.getUint32();this.Uv=8;this.gA===this.Uv&&this.tg&&b.Lj("utf-8")}; +qe.prototype={j:function(a){switch(this.gA){case 1:a=a.g.qg;null!==a&&a.VR(this.tg/100);break;case 2:a=a.g.qg;null!==a&&a.NQ(this.tg/100);break;case 3:a=a.g.qg;null!==a&&a.SR(!!this.tg);break;case 4:a.g.getConfiguration().AutoFontReductionActive=!0;break;case 6:mc.prototype.hS(0!==this.tg);break;case 7:a.g.getConfiguration().XhrSendTimeout=this.tg;break;case this.Uv:a.g.getConfiguration().vq=!!this.tg,this.tg&&(a.g.getConfiguration().ANSIStringEncoding="utf-8")}}};var $d; +$d=function(a,b){switch(b.getUint16()){case 0:this.kc="pointer";break;case 1:this.kc="default";break;case 2:this.kc="pointer";break;case 3:this.kc="wait";break;case 4:this.kc="text";break;case 5:this.kc="crosshair";break;case 6:this.kc="help";break;case 7:this.kc="col-resize";break;case 8:this.kc="row-resize";break;case 9:this.kc="nw-resize";break;case 10:this.kc="ne-resize";break;case 11:this.kc="w-resize";break;case 12:this.kc="s-resize";break;case 13:this.kc="pointer";break;default:this.kc="default"}}; +$d.prototype={j:function(a){a.g.pa?(a=a.g.ba().wa(),null!==a&&(a=a.Z,null!==a&&(a.style.cursor=this.kc))):a.Hl().canvas.style.cursor=this.kc}};var Td;Td=function(a,b,c,d){a=b.getUint32();b=b.getUint32();this.xr=1===(a&1);!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(b):this.kb=R.ib(b)};Td.prototype={j:function(a){a.getState().Eu(this.kb,this.xr)},Ro:function(){return this.kb}};var Vd;Vd=function(a,b,c,d){this.od=R.Ov(b,d)}; +Vd.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var cf;cf=function(a,b,c,d){this.od=R.oF(b,d)};cf.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var ae; +ae=function(a,b,c,d){c=1===b.getUint32();var e=b.getUint32(),f=b.getUint32();if(30===a){var g=b.getUint32();var k=b.getUint32()/100;var l=b.getUint32()/100;var G=b.getUint32();var u=0===b.getUint32();b.getUint32();b=b.getUint32()}else g=b.getUint16(),k=b.getUint8()/100,l=b.getUint8()/100,G=b.getUint8(),u=!0,b=0;!0===d.g.getConfiguration().SemiTransparencyActive?(e=R.$a(e),f=R.$a(f),30===a&&(b=R.$a(b))):(e=R.ib(e),f=R.ib(f),30===a&&(b=R.ib(b)));this.iJ=new ab(c,e,f,g,k,l,G,u,b)};ae.prototype={j:function(a){a.getState().dR(this.iJ)}}; +var fe;fe=function(a,b,c,d){this.mb=b.getUint32();d.g.getConfiguration().SemiTransparencyActive=2===(this.mb&2);d.g.getConfiguration().IecSupportsCommonMiterLimit=8===(this.mb&8)};fe.prototype={j:function(a){a=a.g.qa;null!==a&&(a.g.N.dD(1===(this.mb&1)),a.xp(0!==(this.mb&4)))}};var Me; +Me=function(a,b,c){a=b.ga();var d=b.getUint16();var e=b.ja(d,!1);d=b.getUint16();d=b.ja(d,!1);""!==e&&(d=e+"."+d);this.sf=d;this.l=R.di(b,!0);this.l.normalize();e=b.getUint32();this.Lr=0!==(e&1);this.Em=0!==(e&2);this.mn=0!==(e&4);this.vr=0!==(e&128);this.Hs=0!==(e&256);this.ft=0!==(e&1024);this.Lq=0!==(e&2048);this.vh=0!==(e&4096);this.wk=!1;c>=b.ga()-a+16&&(this.wk=!0,this.en=b.getFloat32(),this.fn=b.getFloat32());this.Ea=null}; +Me.prototype={j:function(a){var b=a.g.ba().wa(),c=this;this.Hg=a;window.WebvisuInst.yl(function(){var d=c.sH(c.Hg);b.hR(d,c)})},uc:function(){return this.l.clone()},sH:function(a){var b=new Image;var c=a.cg.Ih(this.sf);null===c?b.src="#":b.src=c;c=b.src;this.vh&&(b.src+="?"+J.m());J.wq(c)&&(D.lq()?this.KM():a.g.getConfiguration().WorkaroundDisableSVGAspectRatioWorkaround||(b.src+="#svgView(preserveAspectRatio(none))"));b.style.position="absolute";b.style.msUserSelect="none";b.style.WebkitUserSelect= +"none";b.style.MozUserSelect="none";b.style.userSelect="none";return b},KM:function(){N.warn("Anisotropic scaling of Svg images in Safari is not supported because of known bugs in WebKit. The default (isotropic) scaling is used instead.")}};var he; +he=function(a,b,c,d){var e;a=b.getUint16();var f=[];for(c=0;c=b.ga()-e+11?(c=b.getUint16(),this.ff=k[0],0!==(c&0)&&(this.ff=k[0]),0!==(c&1)&&(this.ff=k[1]),0!==(c&2)&&(this.ff=k[2]),c=b.getUint16(),this.gf=l[0],0!==(c&0)&&(this.gf=l[0]),0!==(c&1)&&(this.gf=l[1]),0!==(c&2)&&(this.gf=l[2]),b=b.getUint16(),d.g.getConfiguration().IecSupportsCommonMiterLimit? +this.Of=b/2:this.Of=1===b?1.7*a:2*b):(this.ff=k[0],this.gf=l[0],d.g.getConfiguration().IecSupportsCommonMiterLimit?this.Of=1.5:this.Of=1.7*a)};Ud.prototype={j:function(a){a.getState().Hu(this.na,this.kb,this.wf,this.ff,this.gf,this.Of)},C:function(){return this.na},Ro:function(){return this.kb}};var ge; +ge=function(a,b,c){this.ya=[];var d=null;a=b.ga();for(var e,f;b.ga()-a>16,f=b.ga()+f,this.aL(b,d,e),b.seek(f))}; +ge.prototype={j:function(a){var b=a.g.qa;if(a.g.pa){var c=a.g.ba().wa();if(null!==c&&!(c instanceof Gc)){var d=c.hd;null!==d?d.Lu(this.ya):c.kR(a.g,Xb.QD(this.ya,a.g));b.uu(c);for(d=0;d {1}",J.Uc(b.info().scroll().Sa().Bc),J.Uc(b.info().scroll().Sa().Ac)));b.$(Uc.ow)&&N.m(J.h(" Zoomlimits: {0} -> {1}",b.info().zoom().Sa().Bc,b.info().zoom().Sa().Ac))}}};var Xd;Xd=function(a,b){this.uG=1===b.getUint16()};Xd.prototype={j:function(a){this.uG?a.NC():a.XP()}};var te;te=function(a,b){this.VB=b.getInt16();this.WB=b.getInt16()}; +te.prototype={j:function(a){a.getState().NR(this.VB,this.WB)}};var df;df=function(a,b){a=b.getUint16();this.Ke=b.ja(a,!1);this.zk=b.getUint32();this.Ak=b.getUint16();this.wG=b.getUint32();this.hk=b.getUint32();this.Fi=b.getUint32()};df.prototype={j:function(a){var b=a.g.so;a=new Qb(this.Ke,this.Ak,this.zk,this.hk,this.wG,this.Fi);null!==b&&b.YR(a)}};var ee;ee=function(a,b){a=b.getUint16();this.ka=b.ja(a,!1)}; +ee.prototype={j:function(a){a.g.getConfiguration().ChangeWindowTitle&&(window.document.title=this.ka);a.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.setVisualizationName(this.ka)}};var Wd;Wd=function(a,b){this.l=R.ye(b)};Wd.prototype={j:function(a){a.getContext().restore();a.getState().apply()}};var gf;gf=function(a,b){this.ec=b.getUint32()};gf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.yQ(this.ec))}};var hf;hf=function(a,b){this.uJ=b.getUint16()}; +hf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.zQ(this.uJ))}};var Re;Re=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Re.prototype={j:function(a){var b=this.wn.length-1,c=a.g.ba();for(a=0;a<=b;++a)c.Lh()}};var xe;xe=function(a,b){this.ta=b.getInt16()};xe.prototype={j:function(a){a.g.ba().Lh()}};var ue; +ue=function(a,b){this.ta=b.getInt16();a=b.getUint32();this.pJ=0!==(a&1);this.GJ=0!==(a&2);this.nJ=0!==(a&4);this.oJ=0!==(a&16);this.lM=0!==(a&8);this.vG=0!==(a&32);this.aH=0===(a&64);this.ik=0===(a&128);this.$i=0!==(a&1024);this.Ma=new ib(a);this.En=this.Ma.cm()}; +ue.prototype={j:function(a){this.kL(a);var b=Xb.SD(a.g,this.nJ,this.oJ,this.pJ,this.GJ,this.lM,this.vG,this.aH);b.$Q(this.Ma);a.g.ba().uA(this.ta,b);b instanceof Oc&&(b.WC(this.ik),b.kD(this.$i));b.initialize()},kL:function(a){this.Ma.Qc()||a.PC()}};var Ce;Ce=function(a,b){this.zc=b.getInt16()};Ce.prototype={j:function(a){a.g.ba().wa().KN()}};var ze;ze=function(a,b,c){this.zc=b.getInt16();this.Li=2=b.ga()-a+9?(this.Tw=b.getInt16(),this.Uw=b.getInt16(),this.Sw=b.getInt16(),this.Rw=b.getInt16()):(this.Uw=this.Tw=0,this.Rw=this.Sw=-1)};Ae.prototype={j:function(a){a.g.ba().wa().yS(this.pd,this.qd,this.na,this.ra,this.zL,this.AL,this.iG,this.Tw,this.Uw,this.Sw,this.Rw)}};var Se;Se=function(a,b){this.si=b.getInt16()}; +Se.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).SQ(this.si)}};var Ne;Ne=function(a,b){this.Gf=b.getUint8()};Ne.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).Ou(this.Gf)}};var Te;Te=function(a,b){this.wL=b.getFloat32();this.xL=b.getFloat32()};Te.prototype={j:function(a){a.g.ba().wa().aS(this.wL,this.xL)}};var Ee; +Ee=function(a,b){this.eh=b.getInt16();a=b.getInt16();switch(a){case 0:case 5:this.Ii="solid";break;case 1:this.Ii="dashed";break;case 2:case 3:case 4:this.Ii="dotted"}this.IJ=5===a;this.Hi=b.getUint32()};Ee.prototype={j:function(a){var b=this.IJ?R.$a(this.Hi&16777215):!0===a.g.getConfiguration().SemiTransparencyActive?R.$a(this.Hi):R.ib(this.Hi);a.g.ba().wa().ZQ(this.eh,this.Ii,b)}};var De; +De=function(a,b){this.Tk=b.getInt32();this.Uk=b.getInt32();this.Qk=b.getInt32();this.Rk=b.getInt32();this.lf=b.getInt32();this.mf=b.getInt32()};De.prototype={j:function(a){a.g.ba().wa().Mu(this.Tk,this.Uk,this.Qk,this.Rk,this.lf,this.mf)}};var ye;ye=function(){};ye.prototype={j:function(a){a.g.ba().su();var b=a.getContext(),c=a.g.ba().wa();b.save();b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,b.canvas.width,b.canvas.height);b.restore();null!==c&&c.MA();a.g.rb.Tl(this.l)}};var Qe; +Qe=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Qe.prototype={j:function(a){var b,c=this.wn.length-1;for(b=0;b<=c;b++)a.g.ba().Ql(this.wn[b])}};var we;we=function(a,b){this.ta=b.getInt16()};we.prototype={j:function(a){a.g.ba().Ql(this.ta)}};var ve;ve=function(a,b){this.pd=b.getInt16();this.qd=b.getInt16();this.na=b.getInt16();this.ra=b.getInt16();this.Qd=b.getInt16();this.Rd=b.getInt16();this.zh=b.getInt16();this.Ah=b.getInt16();this.jb=b.getInt16();this.nd=b.getInt16();this.Te=b.getUint32()}; +ve.prototype={j:function(a){this.nd||(this.nd=0);var b=a.g.ba().wa(),c="",d=this;0b?this.nc.push(a):this.nc[b]=a},Ev:function(a){a=this.tn(a);return 0>a?null:this.nc[a]},tF:function(){this.Gn=-1},tn:function(a){for(var b=0;b=d.LowerBorder&&b<=d.UpperBorder?!0:!1:this.By(b,a)?!0:this.SJ(b,a)?!0:!1}}catch(f){return!1}},Mw:function(a,b){return null===a||void 0===a||a.length>b-1?!1:!0},By:function(a,b){switch(b){case Af.EF:case Af.DF:return this.AO(a); +case Af.FF:case Af.NF:return this.OO(a);case Af.OF:case Af.MF:return this.MO(a);case Af.HF:case Af.LF:case Af.ew:case Af.Vv:case Af.Wv:case Af.fw:return this.LO(a);case Af.dw:case Af.gw:case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.NO(a);case Af.KF:return this.JO(a);case Af.JF:return this.CO(a);case Af.GF:return this.BO(a);case Af.$v:return this.EO(a);case Af.sq:return this.HO(a);case Af.aw:return this.FO(a);default:return!1}},SJ:function(a,b){return(b=this.$s.we(b))&&b instanceof Ff?this.By(a, +b.sd()):!1},AO:function(a){return 0===a||1===a},OO:function(a){return a>=Bf.ME&&a<=Bf.LE},MO:function(a){return a>=Bf.IE&&a<=Bf.HE},LO:function(a){return a>=Bf.GE&&a<=Bf.FE},NO:function(a){var b=BigInt(Cf.KE),c=BigInt(Cf.JE);var d=a;"bigint"!==typeof a&&(d=BigInt(a));return d>=b&&d<=c},JO:function(a){return a>=Bf.EE&&a<=Bf.DE},CO:function(a){return a>=Bf.wE&&a<=Bf.vE},BO:function(a){return a>=Bf.uE&&a<=Bf.tE},EO:function(a){var b=BigInt(Cf.yE),c=BigInt(Cf.xE);var d=a;"bigint"!==typeof a&&(d=BigInt(a)); +return d>=b&&d<=c},HO:function(a){return a>=Bf.CE&&a<=Bf.BE},FO:function(a){return a>=Bf.AE&&a<=Bf.zE},yA:function(a,b){switch(a){case Af.ew:case Af.fw:return Number(b.valueOf());case Af.Vv:case Af.Wv:return this.QM(b.valueOf());case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.RM(BigInt(b.valueOf()))}return b},QM:function(a){return Math.floor(Number(a)/1E3)},RM:function(a){return BigInt(a)*BigInt(1E6)}}; +Af={EF:0,DF:1,FF:2,OF:3,HF:4,dw:5,KF:6,JF:7,GF:8,$v:9,NF:10,MF:11,LF:12,gw:13,sq:14,aw:15,ji:16,Qg:17,ew:18,Vv:19,Wv:20,fw:21,bw:37,Yv:46,Zv:47,cw:48};Bf={ME:0,LE:255,IE:0,HE:65535,GE:0,FE:4294967295,EE:-128,DE:127,wE:-32768,vE:32767,uE:-2147483648,tE:2147483647,CE:-3.402823466E38,BE:3.402823466E38,AE:-1.7976931348623157E308,zE:1.7976931348623157E308};Cf={KE:"0",JE:"0xffffffffffffffff",yE:"-9223372036854775808",xE:"9223372036854775807"};var $c; +$c=function(a,b,c,d,e){this.Ci=a;this.Fn=b;this.Xq=c;this.bG=d;this.Um=e;void 0===this.Um&&(this.Um=!1);this.Um||this.Fn.push("webvisu-support.js")}; +$c.prototype={Ct:function(a,b,c,d,e){b=' + + + + + +
+ Webvisu not supported due to missing browser feature HTML5-Canvas + Webvisu not supported due to missing browser feature HTML5-Canvas +
+ + diff --git a/codesys-hde2e/plc/IO_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js b/codesys-hde2e/plc/IO_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js new file mode 100644 index 0000000..adeb947 --- /dev/null +++ b/codesys-hde2e/plc/IO_PLC_02/data/codesyscontrol/PlcLogic/visu/webvisu.js @@ -0,0 +1,897 @@ +// CAS: "1.0.0" +// This software uses the following Open Source software: +// - a simplified (and thus modified) version of stringencoding +// * Licensed under Apache License 2.0 and Unlicense (can be found here: http://www.apache.org/licenses/, http://unlicense.org/) +// * Source: https://github.com/inexorabletash/text-encoding +// - requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// * MIT license +// * Source: https://gist.github.com/paulirish/1579671 +// - a simplified (and thus modified) version of the Microsoft Research JavaScript Cryptography Library (msrCrypto) +// * Licensed under Apache License 2.0 (can be found here: http://www.apache.org/licenses/LICENSE-2.0) +// * Source: https://github.com/microsoft/MSR-JavaScript-Cryptovar r,na,oa; +(function(){function a(ca){var da=0;this.get=function(){return da>=ca.length?-1:Number(ca[da])};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function b(ca){var da=0;this.get=function(){return da>=ca.length?-1:ca[da]};this.offset=function(ea){da+=ea;if(0>da)throw Error("Seeking past start of the buffer");if(da>ca.length)throw Error("Seeking past EOF");}}function c(ca){var da=0;this.h=function(ea){var ba=-1, +Aa;for(Aa=0;Aa=Ia)if(56320<=Ia&&57343>=Ia)ba.push(65533);else if(Aa===qb-1)ba.push(65533);else{var xa=ca.charCodeAt(Aa+1);56320<=xa&&57343>=xa?(Ia&=1023,xa&=1023,Aa+=1,ba.push(65536+(Ia<<10)+xa)):ba.push(65533)}else ba.push(Ia);Aa+=1}return ba}();this.offset=function(ba){da+=ba;if(0>da)throw Error("Seeking past start of the buffer"); +if(da>ea.length)throw Error("Seeking past EOF");};this.get=function(){return da>=ea.length?-1:ea[da]}}function e(){var ca="";this.m=function(){return ca};this.h=function(da){65535>=da?ca+=String.fromCharCode(da):(da-=65536,ca+=String.fromCharCode(55296+(da>>10&1023)),ca+=String.fromCharCode(56320+(da&1023)))}}function f(ca,da){if(ca)throw Error("EncodingError");return da||65533}function g(){throw Error("EncodingError");}function k(ca){ca=String(ca).trim().toLowerCase();if(Object.prototype.hasOwnProperty.call(va, +ca))return va[ca];throw Error("EncodingError: Unknown encoding: "+ca);}function l(ca){var da=ca.fatal,ea=0,ba=0,Aa=0,qb=0;this.decode=function(Ia){var xa=Ia.get();if(-1===xa)return 0!==ba?f(da):-1;Ia.offset(1);if(0===ba){if(0<=xa&&127>=xa)return xa;if(194<=xa&&223>=xa)ba=1,qb=128,ea=xa-192;else if(224<=xa&&239>=xa)ba=2,qb=2048,ea=xa-224;else if(240<=xa&&244>=xa)ba=3,qb=65536,ea=xa-240;else return f(da);ea*=Math.pow(64,ba);return null}if(!(128<=xa&&191>=xa))return qb=Aa=ba=ea=0,Ia.offset(-1),f(da); +Aa+=1;ea+=(xa-128)*Math.pow(64,ba-Aa);if(Aa!==ba)return null;Ia=ea;xa=qb;qb=Aa=ba=ea=0;return xa<=Ia&&1114111>=Ia&&!(55296<=Ia&&57343>=Ia)?Ia:f(da)}}function G(){this.encode=function(ca,da){var ea=da.get();if(-1===ea)return-1;da.offset(1);if(55296<=ea&&57343>=ea)return g(ea);if(0<=ea&&127>=ea)return ca.h(ea);if(128<=ea&&2047>=ea){var ba=1;var Aa=192}else 2048<=ea&&65535>=ea?(ba=2,Aa=224):65536<=ea&&1114111>=ea&&(ba=3,Aa=240);for(da=ca.h(Math.floor(ea/Math.pow(64,ba))+Aa);0=Aa)return Aa;ba=ca[Aa-128];return null===ba?f(ea):ba}}function ka(ca){this.encode=function(da,ea){var ba=ea.get();if(-1===ba)return-1;ea.offset(1);if(0<=ba&&127>=ba)return da.h(ba);ea=ca.indexOf(ba);ea=-1===ea?null:ea;null===ea&&g(ba);return da.h(ea+128)}}var ja={},va={};[{encodings:[{labels:"csisolatin2 iso-8859-2 iso-ir-101 iso8859-2 iso_8859-2 l2 latin2".split(" "), +name:"iso-8859-2"},{labels:"csisolatin3 iso-8859-3 iso_8859-3 iso-ir-109 l3 latin3".split(" "),name:"iso-8859-3"},{labels:"csisolatin4 iso-8859-4 iso_8859-4 iso-ir-110 l4 latin4".split(" "),name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso_8859-5","iso-ir-144"],name:"iso-8859-5"},{labels:"arabic csisolatinarabic ecma-114 iso-8859-6 iso_8859-6 iso-ir-127".split(" "),name:"iso-8859-6"},{labels:"csisolatingreek ecma-118 elot_928 greek greek8 iso-8859-7 iso_8859-7 iso-ir-126".split(" "), +name:"iso-8859-7"},{labels:"csisolatinhebrew hebrew iso-8859-8 iso-8859-8-i iso-ir-138 iso_8859-8 visual".split(" "),name:"iso-8859-8"},{labels:"csisolatin6 iso-8859-10 iso-ir-157 iso8859-10 l6 latin6".split(" "),name:"iso-8859-10"},{labels:["iso-8859-13"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14"],name:"iso-8859-14"},{labels:["iso-8859-15","iso_8859-15"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:"ascii ansi_x3.4-1968 csisolatin1 iso-8859-1 iso8859-1 iso_8859-1 l1 latin1 us-ascii windows-1252".split(" "), +name:"windows-1252"},{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"Legacy single-byte encodings"}].forEach(function(ca){ca.encodings.forEach(function(da){ja[da.name]=da;da.labels.forEach(function(ea){va[ea]=da})})});var Xa={"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357, +378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180, +181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173, +381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030, +1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138, +139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null, +null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952, +953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280, +203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262, +196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767, +7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176, +177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169, +536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382, +376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]};ja["utf-8"].AB=function(ca){return new G(ca)};ja["utf-8"].zB=function(ca){return new l(ca)};(function(){"iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-10 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 windows-1252".split(" ").forEach(function(ca){var da= +ja[ca],ea=Xa[ca];da.zB=function(ba){return new u(ea,ba)};da.AB=function(ba){return new ka(ea,ba)}})})();oa=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.Ts=!1;this.zi=null;this.os={fatal:!!da.fatal};Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};oa.prototype={encode:function(ca,da){ca=ca?String(ca):"";da=Object(da);this.Ts||(this.zi=this.uk.AB(this.os));this.Ts=!!da.stream;da=[];var ea=new c(da);for(ca= +new d(ca);-1!==ca.get();)this.zi.encode(ea,ca);if(!this.Ts){do var ba=this.zi.encode(ea,ca);while(-1!==ba);this.zi=null}return new Uint8Array(da)}};na=function(ca){ca=ca?String(ca):"utf-8";var da=Object(da);this.uk=k(ca);this.os={fatal:!!da.fatal};this.yb=this.uk.zB(this.os);Object.defineProperty&&Object.defineProperty(this,"encoding",{get:function(){return this.uk.name}});return this};na.prototype={decode:function(ca){if(ca&&!("buffer"in ca&&"byteOffset"in ca&&"byteLength"in ca))throw new TypeError("Expected ArrayBufferView"); +ca=new Uint8Array(ca.buffer,ca.byteOffset,ca.byteLength);return this.qx(new a(ca))},yN:function(ca){if(!ca)throw new TypeError("Expected array of bytes");return this.qx(new b(ca))},qx:function(ca){for(var da=new e,ea;-1!==ca.get();)ea=this.yb.decode(ca),null!==ea&&-1!==ea&&da.h(ea);return da.m()}}})(); +(function(a,b){void 0!==window.Promise&&("function"===typeof define&&define.$S?define([],function(){return a.msrCrypto=b(a)}):"object"===typeof exports?module.exports=b(a):a.msrCrypto=b(a))})(this,function(a){a=a||{};return function(){function b(h,p,A){function Q(){if(!A||!A.Vd)throw Error("missing hash function");}var E=c(h);if(!p)throw Error("padding mode");var t=null,m=null;switch(p){case "RSAES-PKCS1-V1_5":h=Zb.GT(h);break;case "RSASSA-PKCS1-V1_5":Q();h=Zb.HT(h,A);break;case "RSA-OAEP":Q();h= +Zb.lP(h,A);break;case "RSA-PSS":Q();h=Zb.JT(h,A);break;case "raw":h={mp:function(q){return q},Dp:function(q){return q}};break;default:throw Error("invalid mode");}h&&(t=h.mp||h.sign,m=h.Dp||h.verify);return{encrypt:function(q,y){q=null!==t?t(q,y):q.slice();return E.encrypt(q)},decrypt:function(q,y){q=E.decrypt(q);if(null!==m){q=m(q,y);if(!1===q.valid)throw Error("OperationError");q=q.data}else q=q.slice(0);return q},bS:function(q,y,C){return E.decrypt(t(q,y,C))},CS:function(q,y,C){q=E.encrypt(q); +return m(q,y,C)},Fl:function(q){genRsaKeyFromRandom(q)},mode:p}}function c(h){function p(q){q=la.iB(q);Q.rP(q,0,m);return q}function A(q,y,C){y=la.Ch(y);C=la.OE(C);q=C.rN(q);return C.bP(q,y).Xa}var Q=ba,E=h.hasOwnProperty("n")&&h.hasOwnProperty("d"),t=h.hasOwnProperty("p")&&h.hasOwnProperty("q"),m=h.n.length;return{encrypt:function(q){return p(A(q,h.e,h.n,!0))},decrypt:function(q){if(t){var y=la.Ch,C=h.q,M=h.dp,B=h.dq,v=h.qi,F=y(h.p);C=y(C);var H=Array(F.length+C.length),O=Array(F.length+1),U=Array(C.length+ +1);q=y(q);var ia=la.Wh,Z=new ia(h.Dt?void 0:F,h.Dt);ia=new ia(h.Et?void 0:C,h.Et);Z.reduce(q,H);Z.Cj(H,y(M),O);ia.reduce(q,H);ia.Cj(H,y(B),U);M=la.Tc(O,U,H);0!==M&&la.Tc(U,O,H);la.rC(H,y(v),F,q);0!==M&&la.Tc(F,q,q);la.multiply(q,C,H);la.add(U,H,O);return p(O)}if(E)return y=A(q,h.d,h.n),p(y);throw Error("missing private key");}}}function d(h){function p(X,x){for(var n=Math.floor(x.length/16),z,w=0;wS;S++){var L= +-(z[Math.floor(S/8)]>>7-S%8&1)&255;for(K=0;16>K;K++)W[K]^=T[K]&L;L=-(T[15]&1)&255;K=T;for(var P=K.length-1;0>>1;K[0]>>>=1;T[0]^=225&L}O=W}U=x.slice(16*n);return O}function A(){var X=16*Math.ceil(ma/16)-ma,x=t(8*M.length),n=t(8*ma);X=U.concat(q.vc(X)).concat(x).concat(n);return p(H,X)}function Q(X){for(var x=256,n=1;4>=n;n++)x=(x>>>8)+X[X.length-n],X[X.length-n]=x&255;return X}function E(X,x){var n=Math.ceil(x.length/16),z=[];Z!==X&&(Z=X.slice());for(var w=0;w>>24&255,X>>>16&255,X>>>8&255,X&255]}function m(){ma=0;y=[];ia=[];O=q.vc(16);U=[];Z=C=M=null}var q=ba,y=[],C,M,B,v,F,H=h.encrypt(q.vc(16)),O=q.vc(16),U=[],ia=[],Z,ma=0;return{ud:function(X,x,n){M=x||[];B=isNaN(n)?128:n;if(0!==B%8)throw Error("DataError");C=X;12===C.length?v=C.concat([0,0,0,1]):(v=p(H,C.concat(q.vc(16*Math.ceil(C.length/16)-C.length+8)).concat(t(8*C.length))),O=q.vc(16)); +F=Q(v.slice());p(H,M.concat(q.vc(16*Math.ceil(M.length/16)-M.length)))},encrypt:function(X){ma=X.length;X=E(F,X);p(H,X);var x=A();x=E(v,x).slice(0,B/8);m();return X.slice().concat(x)},decrypt:function(X,x){ma=X.length;var n=E(F,X);p(H,X);X=A();X=E(v,X).slice(0,B/8);m();return q.zl(X,x)?n:null},nu:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor(y.length/16));ma+=X.length;y=y.slice(X.length);X=E(Z||F,X);ia=ia.concat(X);p(H,X)},op:function(X){y=y.concat(X);X=y.slice(0,16*Math.floor((y.length-B/8)/ +16));ma+=X.length;y=y.slice(X.length);var x=E(Z||F,X);ia=ia.concat(x);p(H,X)},Qo:function(){var X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);X=ia.slice().concat(X);m();return X},Po:function(){var X=Math.floor(B/8),x=y.slice(-X);y=y.slice(0,y.length-X);X=E(Z,y);ia=ia.concat(X);ma+=y.length;X=A();X=E(v,X).slice(0,B/8);var n=ia.slice();m();return q.zl(X,x)?n:null}}}function e(h){function p(C){var M=[],B,v;for(B=0;Bm?Q(p.Vd(h),m):Q(h,m),y;var C=Array(m);var M=Array(m);for(var B=0;B=Z;Z++)U[O-Z]=ia%256,ia=Math.floor(ia/256);if(0!==q(H.concat(U)).length)throw Error("buffer.length !== 0");H=[];for(O=0;O=E&&(v=q(v))},finish:y, +lT:p,Xt:m,maxMessageSize:4294967295}}function k(){function h(x){var n,z=null;if(!arguments.length||"number"===typeof arguments[0])for(z=Array(x),n=0;n=x?1:Math.ceil(Math.log(x)/Math.LN2/24));for(var z=[];0=x.length&&(x[0]=0,x.length=1);return x}function y(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("bit count must be smaller than DIGIT_BITS and positive in shiftLeft");void 0===w&&(w=x.length);var K=24-z;n[w]=x[w-1]>>>24-z||n[w];for(--w;0>>K)&16777215;n[0]=x[0]<>=24; +for(S=x;S>=24;z.length=K.length;0!==n&&(z[S]=n&16777215);return n}function M(x,n,z){var w=n.length;if(x.length>=24;for(;K>=24;return S}function B(x,n,z){n="number"===typeof n?[n]:n;var w,K,S,W=x.length,T=n.length;for(w=0;wP;P++)aa=Math.max(aa,-(n[T-1]>>>P&1)&P);aa=23-aa;K=K||[];K.length=T;y(n,K,aa,T);S=S||[];S.length=W;y(x,S,aa,W);S[W]=S[W]||0;z.length=W-T+1;w.length=T;for(n=W-T;0<=n;n--){x=Math.floor((16777216*S[n+T]+S[n+T-1])/K[T-1]);for(P=16777216*S[n+T]+S[n+T-1]-x*K[T-1];;){if(16777216<=x||x*K[T-2]>16777216*P+S[n+T-2])if(--x,P+=K[T-1],16777216>P)continue;break}for(W=L=0;WL){--z[n];for(W=L=0;W>=24;S[n+T]=S[n+T]+L&16777215}}for(W=0;W>>aa|S[W+1]<<24-aa)&16777215;q(z);q(w)}}}function F(x,n,z,w,K){if(A(x))return p(n,0,K,0,n.length),K.length=n.length,0;if(A(n))return p(x,0,K,0,x.length),K.length=x.length,0;if(0>m(x,n)){var S=x.slice(0);p(n,0,K,0,n.length);K.length=n.length}else S=n.slice(0),p(x,0,K,0,x.length),K.length=x.length;q(K);q(S);x=Array(K.length);n=Array(K.length);var W=Array(K.length), +T=void 0!==w;if(T){var L=Array(K.length);L[0]=1;L.length=1;w[0]=0;w.length=1}var P=Array(K.length),aa=void 0!==z;if(aa){var ua=Array(K.length);ua[0]=0;ua.length=1;z[0]=1;z.length=1}for(var La=-1,Ya=z,Pa=w,sa=K,fa;!A(S);)v(K,S,x,n,P,W),aa&&(B(x,ua,P),C(P,z,P),q(P),fa=z,z=ua,ua=P,P=fa),T&&(B(x,L,W),C(W,w,W),q(W),fa=w,w=L,L=W,W=fa),fa=K,K=S,S=n,n=fa,La++;aa&&(p(z,0,Ya,0,z.length),Ya.length=z.length);T&&(p(w,0,Pa,0,w.length),Pa.length=w.length);p(K,0,sa,0,K.length);sa.length=K.length;return La}function H(x, +n,z,w){w=w||[];if(0===m(n,ma))w[0]=1;else if(0===m(n,X))p(x,0,w,0,x.length),w.length=x.length;else{var K=new O(z);q(x,K.vd,!0);K.Cj(x,n,w);w.length=z.length}return w}function O(x,n){function z(fa,ha,pa,ya){ya=ya||this;for(var Da=ya.ip,wa=Da.length,Ea=ya.fu,rb=ya.eu,Za,Ba,jb,eb=0,wb,jc=0,mb=h(wa+2);eb=rb;rb+=1)Dawa;wa++,Ba>>>=1)eb===Da&&(eb=jb[++Za]=0),jb[Za]+=(Ba&1)<>>31;for(pa=0;pa=Z;Z++)ia[Z]=256*ia[Z-1];var ma=[0], +X=[1];return{Op:24,KS:3,IS:16777215,YD:16777216,JS:16777215,VS:ma,YE:X,fP:q,Ch:Q,OT:function(x,n){x=x.replace(/^\s+|\s+$/g,"");var z=[0],w=[0];n=n||10;for(var K=0;K=n;)T[0]*=n,ua=ua.concat("0");for(P=0;PK;K+=1)S[3*w+K]=W&255,W=Math.floor(W/256)}S.reverse(); +void 0===z&&(z=1);if(n)for(;S.length>z&&0===S[0];)S.shift();return S},lC:A,AT:function(x){return 0===(x[0]&1)},pD:function(x,n,z,w){if(void 0===z)z=1;else if(24<=z||0>z)throw Error("Invalid bit count for shiftRight");void 0===w&&(w=x.length);--w;for(var K=24-z,S=0;S>>z)&16777215;n[w]=x[w]>>>z},shiftLeft:y,Hf:m,bT:function(x){for(var n=0,z=0;n>>31)-1&16777215;var La=0;for(L=0;L>=24;aa.length=ua},Tc:function(L,P,aa){var ua=this.Bj,La=aa.Xa;P=la.Tc(L.Xa,P.Xa,aa.Xa);if(-1===P)for(L=P=0;L>=24},multiply:function(L,P,aa){return la.rC(L.Xa, +P.Xa,this.Dg,aa.Xa,S,W)},inverse:function(L,P){la.hu(L.Xa,this.Dg,P.Xa)},bP:function(L,P,aa){aa=aa||n([],this);if(0===m(P,w))aa.Xa=E(1,this.Bj);else if(0===m(P,K)){for(P=0;PK;){var S=1<C)throw Error("Incorrect entropy or additionalEntropy length");F=F.concat(ba.vc(C-F.length));v=v.concat(ba.vc((C-v.length%C)%C));for(var H=0;HB)throw Error("Reseeding is required");if(F&&0B;B+=1)v[B]=Math.floor(256*Math.random());if((B=q.crypto||q.msCrypto)&&"function"===typeof B.getRandomValues&&h.Uint8Array){var F=new h.Uint8Array(48);B.getRandomValues(F);v=v.concat(Array.prototype.slice.call(F));m=!0}if("undefined"!==typeof XMLHttpRequest)for(F=new XMLHttpRequest,B=0;B>8&255,B>>16&255,B>>24&255,v&255, +v>>8&255,M&255,M>>8&255])},om:function(){var M=(new Date).valueOf();A([M&255,M>>8&255,M>>16&255,M>>24&255])}}}();return{ud:function(){p();if(!m&&y)try{C.rD()}catch(M){}},Wl:function(M){E.Wl(M)},read:function(M){if(!t)throw Error("Entropy pool is not initialized.");M=E.ve(M);p();return M}}}var u={register:function(h,p,A){u[h]||(u[h]={});h=u[h];h[p]||(h[p]=A)},oB:function(h,p){return u[h]?u[h][p]?!0:!1:!1}},ka=self.location.href,ja="undefined"!==typeof Worker,va="function"===typeof importScripts&&self instanceof +WorkerGlobalScope,Xa=!1,ca="undefined"!==typeof ArrayBuffer;try{Object.defineProperty({},"oncomplete",{})}catch(h){}var da=!1,ea={},ba=function(){function h(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");0!==t.length%4;)t+="=";var m=[],q;t=t.replace(/[^A-Za-z0-9\+\/=]/g,"");for(q=0;q>4;C=(C&15)<<4|M>>2;var v=(M&3)<<6|B;m.push(y);64!==M&&m.push(C);64!==B&&m.push(v)}return m}function p(t){return Object.prototype.toString.call(t).slice(8,-1)}function A(t){return[t>>>24&255,t>>>16&255,t>>>8&255,t&255]}function Q(t){if(!t)return[];if(t.pop)return t;"ArrayBuffer"===p(t)?t=new Uint8Array(t):1 +t.length)return Array.apply(null,t);for(var m=Array(t.length),q=0;q>2;C=(C&3)<<4|M>>4;var F=(M&15)<<2|B>>6; +var H=B&63;isNaN(M)?F=H=64:isNaN(B)&&(H=64);q=q+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(v)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(C)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(F)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(H)}return m?q.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):q},El:h,eT:function(t,m,q){if(!t)throw Error(q);if(m&&p(t)!==m)throw Error(q); +return!0},Tt:p,bytesToHexString:function(t,m){var q="";"undefined"===typeof m&&(m=!1);for(var y=0;yC?m[y++]=C:2048>C?(m[y++]=C>>>6|192,m[y++]=C&63|128):55296>C||57343>>12|224,m[y++]=C>>>6&63|128,m[y++]=C&63|128):(C=1024*(C- +55296)+(t.charCodeAt(++q)-56320)+65536,m[y++]=C>>>18|240,m[y++]=C>>>12&63|128,m[y++]=C>>>6&63|128,m[y++]=C&63|128)}return m},JA:function(t){var m="",q;t=Q(t);for(var y=0;yC?q=C:q=224>C?(C<<6)+t[y++]-12416:240>C?(C<<12)+(t[y++]<<6)+t[y++]-925824:(C<<18)+(t[y++]<<12)+(t[y++]<<6)+t[y++]-63447168;m=65535m||255q)return!1}return!0},isInteger:E}}(),Aa=function(){function h(m,q){var y=t[m[0]&31],C=m[1],M=0,B=!!(m[0]&32);if(C&128)for(C=M=0;M<(m[1]&127);M++)C=(C<<8)+m[2+M];var v=2+M;if(void 0===y||C>m.length)return null;var F=B?[]:{};F.type=y;F.Ag=v;F.data=m.slice(0,C+v);if(B||q)for("BIT STRING"===F.type&&0===m[v]&&M++,m=m.slice(v,F.data.length);0>>=7;M[0]&=127;y=y.concat(M.reverse())}m=y;return q=[6].concat(A(m),m)}if(m.hasOwnProperty("SEQUENCE")){q=m.fi;m=[];for(M=0;M=m)return[m];m=Q(m);m.unshift(m.length|128);return m}function Q(m){var q=[];if(0===m)return[0];for(;0>>=8;return q}function E(m,q){var y=Array(q+1).join(" ")+m.type+" ("+m.length+") "+bytesToHexString(m.data).substring(0,16)+"\n";if(!m.children)return y;for(var C=0;CB;B++)M[B]=p.IA(m,64*q+4*B);for(B=16;80>B;B++)m=M[B-3]^M[B-8]^M[B-14]^M[B-16],M[B]=m<<1|m>>>31;for(B=0;80>B;B++)m=v<<5|v>>>27,m+=60<=B?F^H^O:40<=B?F&H^F&O^H&O:20<=B?F^H^O:F&H^~F&O,m+=U+C[B]+M[B],U=O,O=H,H=F<<30|F>>>2,F=v,v=m;y[0]+=v&4294967295;y[1]+=F&4294967295;y[2]+=H&4294967295;y[3]+=O&4294967295;y[4]+=U&4294967295;return y}var p=ba,A=p.Cp,Q=A("Z0UjAe/Nq4mYutz+EDJUdsPS4fA=",4,1),E=A("WoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlagnmZWoJ5mVqCeZlu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroW7Z66Fu2euhbtnroY8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcjxu83I8bvNyPG7zcymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdbKYsHWymLB1spiwdY", +4,1),t=A("MCEwCQYFKw4DAhoFAAQU");return{$l:function(){return g("SHA-1",t,Q,E,64,h,160)}}}();"undefined"!==typeof u&&(xa.Wb={},xa.rT=function(h){return xa.Wb[h]||(xa.Wb[h]=xa.$l())},xa.deleteInstance=function(h){xa.Wb[h]=null;delete xa.Wb[h]},xa.hash=function(h){if("process"===h.Ja)xa.$l.process(h.buffer);else return"finish"===h.Ja?xa.$l.finish():xa.$l().Vd(h.buffer)},u.register("digest","SHA-1",xa.hash));ea["SHA-1"]=xa.$l;var Ca=function(){function h(y,C,M,B,v){var F,H=M[0],O=M[1],U=M[2],ia=M[3], +Z=M[4],ma=M[5],X=M[6],x=M[7];for(F=0;16>F;F++)v[F]=p.IA(y,64*C+4*F);for(F=16;64>F;F++)y=v[F-15],C=v[F-2],v[F]=((C>>>17|C<<15)^(C>>>19|C<<13)^C>>>10)+v[F-7]+((y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3)+v[F-16],v[F]&=4294967295;for(F=0;64>F;F++)y=x+((Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7))+(Z&ma^~Z&X)+B[F]+v[F],ia+=y,y+=((H>>>2|H<<30)^(H>>>13|H<<19)^(H>>>22|H<<10))+(H&(O^U)^O&U),x=X,X=ma,ma=Z,Z=ia,ia=U,U=O,O=H,H=y;M[0]=M[0]+H>>>0;M[1]=M[1]+O>>>0;M[2]=M[2]+U>>>0;M[3]=M[3]+ia>>>0;M[4]=M[4]+Z>>>0;M[5]=M[5]+ +ma>>>0;M[6]=M[6]+X>>>0;M[7]=M[7]+x>>>0;return M}var p=ba,A=p.Cp;var Q=A("wQWe2DZ81QcwcN0X9w5ZOf/ACzFoWBURZPmPp776T6Q",4,1);var E=A("agnmZ7tnroU8bvNypU/1OlEOUn+bBWiMH4PZq1vgzRk",4,1);var t=A("QoovmHE3RJG1wPvP6bXbpTlWwltZ8RHxkj+CpKscXtXYB6qYEoNbASQxhb5VDH3Dcr5ddIDesf6b3AanwZvxdOSbacHvvkeGD8GdxiQMocwt6SxvSnSEqlywqdx2+YjamD5RUqgxxm2wAyfIv1l/x8bgC/PVp5FHBspjURQpKWcntwqFLhshOE0sbfxTOA0TZQpzVHZqCruBwskuknIshaK/6KGoGmZLwkuLcMdsUaPRkugZ1pkGJPQONYUQaqBwGaTBFh43bAgnSHdMNLC8tTkcDLNO2KpKW5zKT2gub/N0j4LueKVjb4TIeBSMxwIIkL7/+qRQbOu++aP3xnF48g", +4,1);var m=A("MC0wDQYJYIZIAWUDBAIEBQAEHA");var q=A("MDEwDQYJYIZIAWUDBAIBBQAEIA");return{Pu:function(){return g("SHA-224",m,Q,t,64,h,224)},Qu:function(){return g("SHA-256",q,E,t,64,h,256)}}}();"undefined"!==typeof u&&(Ca.dC=Ca.dC||Ca.Pu(),Ca.eC=Ca.eC||Ca.Qu(),Ca.Wb={},Ca.DB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Pu())},Ca.EB=function(h){return Ca.Wb[h]||(Ca.Wb[h]=Ca.Qu())},Ca.deleteInstance=function(h){Ca.Wb[h]=null;delete Ca.Wb[h]},Ca.oO=function(h){if("process"===h.Ja)return Ca.EB(h.Fc).process(h.buffer), +null;if("finish"===h.Ja){var p=Ca.EB(h.Fc).finish();Ca.deleteInstance(h.Fc);return p}if("abort"===h.Ja)Ca.deleteInstance(h.Fc);else return Ca.eC.Vd(h.buffer)},Ca.nO=function(h){if("process"===h.Ja)Ca.DB(h.Fc).process(h.buffer);else if("finish"===h.Ja&&Ca.DB(h.Fc).finish(),"abort"===h.Ja)msrcryptoSha224.deleteInstance(h.Fc);else return Ca.dC.Vd(h.buffer)},u.register("digest","SHA-224",Ca.nO),u.register("digest","SHA-256",Ca.oO));ea["SHA-224"]=Ca.Pu;ea["SHA-256"]=Ca.Qu;var Na=function(){function h(M, +B,v,F,H){B=B+F|0;H[0]=M+v+(B>>>0>>0)|0;H[1]=B}function p(M,B,v,F,H){var O,U=[],ia=[],Z=[],ma=v[0],X=v[1],x=v[2],n=v[3],z=v[4],w=v[5],K=v[6],S=v[7],W=v[8],T=v[9],L=v[10],P=v[11],aa=v[12],ua=v[13],La=v[14],Ya=v[15];for(O=0;32>O;O++){var Pa=128*B+4*O;H[O]=M.slice(Pa,Pa+4);H[O]=H[O][0]<<24|H[O][1]<<16|H[O][2]<<8|H[O][3]}for(O=32;160>O;O+=2){var sa=H[O-30];var fa=H[O-29];M=(sa>>>1|fa<<31)^(sa>>>8|fa<<24)^sa>>>7;B=(fa>>>1|sa<<31)^(fa>>>8|sa<<24)^(fa>>>7|sa<<25);sa=H[O-4];fa=H[O-3];Pa=(sa>>>19|fa<<13)^ +(fa>>>29|sa<<3)^sa>>>6;sa=(fa>>>19|sa<<13)^(sa>>>29|fa<<3)^(fa>>>6|sa<<26);h(Pa,sa,H[O-14],H[O-13],U);h(M,B,U[0],U[1],U);h(H[O-32],H[O-31],U[0],U[1],U);H[O]=U[0];H[O+1]=U[1]}for(O=0;160>O;O+=2)M=(W>>>14|T<<18)^(W>>>18|T<<14)^(T>>>9|W<<23),B=(T>>>14|W<<18)^(T>>>18|W<<14)^(W>>>9|T<<23),Pa=W&L^aa&~W,sa=T&P^ua&~T,h(La,Ya,M,B,U),h(Pa,sa,F[O],F[O+1],ia),h(U[0],U[1],H[O],H[O+1],Z),h(ia[0],ia[1],Z[0],Z[1],Z),h(Z[0],Z[1],K,S,U),K=U[0],S=U[1],B=(X>>>28|ma<<4)^(ma>>>2|X<<30)^(ma>>>7|X<<25),M=(ma>>>28|X<<4)^ +(X>>>2|ma<<30)^(X>>>7|ma<<25),sa=X&(n^w)^n&w,Pa=ma&(x^z)^x&z,h(Z[0],Z[1],M,B,U),M=U[0],B=U[1],h(Pa,sa,M,B,U),M=U[0],B=U[1],La=aa,Ya=ua,aa=L,ua=P,L=W,P=T,W=K,T=S,K=z,S=w,z=x,w=n,x=ma,n=X,ma=M,X=B;h(v[0],v[1],ma,X,U);v[0]=U[0];v[1]=U[1];h(v[2],v[3],x,n,U);v[2]=U[0];v[3]=U[1];h(v[4],v[5],z,w,U);v[4]=U[0];v[5]=U[1];h(v[6],v[7],K,S,U);v[6]=U[0];v[7]=U[1];h(v[8],v[9],W,T,U);v[8]=U[0];v[9]=U[1];h(v[10],v[11],L,P,U);v[10]=U[0];v[11]=U[1];h(v[12],v[13],aa,ua,U);v[12]=U[0];v[13]=U[1];h(v[14],v[15],La,Ya,U); +v[14]=U[0];v[15]=U[1];return v}var A=ba.Cp;var Q=A("y7udXcEFnthimikqNnzVB5FZAVowcN0XFS/s2PcOWTlnMyZn/8ALMY60SodoWBUR2wwuDWT5j6dHtUgdvvpPpA==",4,1);var E=A("agnmZ/O8yQi7Z66FhMqnOzxu83L+lPgrpU/1Ol8dNvFRDlJ/reaC0ZsFaIwrPmwfH4PZq/tBvWtb4M0ZE34heQ",4,1);var t=A("QoovmNcoriJxN0SRI+9lzbXA+8/sTTsv6bXbpYGJ27w5VsJb80i1OFnxEfG2BdAZkj+CpK8ZT5urHF7V2m2BGNgHqpijAwJCEoNbAUVwb74kMYW+TuSyjFUMfcPV/7Ticr5ddPJ7iW+A3rH+OxaWsZvcBqclxxI1wZvxdM9pJpTkm2nBnvFK0u++R4Y4TyXjD8GdxouM1bUkDKHMd6ycZS3pLG9ZKwJ1SnSEqm6m5INcsKncvUH71Hb5iNqDEVO1mD5RUu5m36uoMcZtLbQyELADJ8iY+yE/v1l/x77vDuTG4AvzPaiPwtWnkUeTCqclBspjUeADgm8UKSlnCg5ucCe3CoVG0i/8LhshOFwmySZNLG38WsQq7VM4DROdlbPfZQpzVIuvY952agq7PHeyqIHCyS5H7a7mknIshRSCNTuiv+ihTPEDZKgaZku8QjABwkuLcND4l5HHbFGjBlS+MNGS6BnW71IY1pkGJFVlqRD0DjWFV3EgKhBqoHAyu9G4GaTBFrjS0MgeN2wIUUGrUydId0zfjuuZNLC8teGbSKg5HAyzxclaY07YqkrjQYrLW5zKT3dj43NoLm/z1rK4o3SPgu5d77L8eKVjb0MXL2CEyHgUofCrcozHAggaZDnskL7/+iNjHiikUGzr3oK96b75o/eyxnkVxnF48uNyUyvKJz7O6iZhnNGGuMchwMIH6tp91s3g6x71fU9/7m7ReAbwZ6pyF2+6CmN9xaLImKYRP5gEvvkNrhtxCzUTHEcbKNt39SMEfYQyyqt7QMckkzyevgoVyb68Qx1nxJwQDUxMxdS+yz5Ctll/KZz8ZX4qX8tvqzrW+uxsRBmMSkdYFw==", +4,1);var m=A("MEEwDQYJYIZIAWUDBAICBQAEMA");var q=A("MFEwDQYJYIZIAWUDBAIDBQAEQA");var y=A("MC0wDQYJYIZIAWUDBAIFBQAEHA");var C=A("MDEwDQYJYIZIAWUDBAIGBQAEIA");return{am:function(){return g("SHA-384",m,Q,t,128,p,384)},bm:function(){return g("SHA-512",q,E,t,128,p,512)},MT:function(){return g("SHA-512.224",y,E,t,128,p,224)},NT:function(){return g("SHA-512.256",C,E,t,128,p,256)}}}();"undefined"!==typeof u&&(Na.Wb={},Na.sT=function(h){return Na.Wb[h]||(Na.Wb[h]=Na.am())},Na.tT=function(h){return Na.Wb[h]|| +(Na.Wb[h]=Na.bm())},Na.deleteInstance=function(h){Na.Wb[h]=null;delete Na.Wb[h]},Na.pO=function(h){if("process"===h.Ja)Na.am.process(h.buffer);else return"finish"===h.Ja?Na.am.finish():Na.am().Vd(h.buffer)},Na.qO=function(h){if("process"===h.Ja)Na.bm.process(h.buffer);else return"finish"===h.Ja?Na.bm.finish():Na.bm().Vd(h.buffer)},u.register("digest","SHA-384",Na.pO),u.register("digest","SHA-512",Na.qO));ea["SHA-384"]=Na.am;ea["SHA-512"]=Na.bm;var la=la||k();if("undefined"!==typeof u){var kb={};f.cS= +function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return h=kb[A].finish(),kb[A]=null,h;h=kb[A].RA(h.buffer);kb[A]=null;return h};f.BS=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.Fc;kb[A]||(kb[A]=f(h.keyData,p));if("process"===h.Ja)return kb[A].process(h.buffer),null;if("finish"===h.Ja)return p=kb[A].finish(),p=ba.zl(p,h.qD),kb[A]=null,p; +p=kb[A].RA(h.buffer);p=ba.zl(p,h.qD);kb[A]=null;return p};f.generateKey=function(h){var p={"SHA-1":64,"SHA-224":64,"SHA-256":64,"SHA-384":128,"SHA-512":128},A=h.algorithm.length;void 0===A&&(A=p[h.algorithm.hash.name.toUpperCase()]);return{type:"keyGeneration",keyData:nb.ve(A),keyHandle:{algorithm:h.algorithm,extractable:h.extractable,usages:h.usages,type:"secret"}}};f.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,["k"]);p.alg=p.alg.replace("HS","SHA-")}else if("raw"=== +h.format)p={k:ba.wc(h.keyData)};else throw Error("unsupported import format");return{type:"keyImport",keyData:p.k,keyHandle:{algorithm:{name:"HMAC",hash:{name:h.algorithm.hash.name}},extractable:h.extractable||p.extractable,usages:h.usages,type:"secret"}}};f.exportKey=function(h){if("jwk"===h.format)return{type:"keyExport",keyHandle:Ia.hp(h.keyHandle,h.keyData)};if("raw"===h.format)return{type:"keyExport",keyHandle:h.keyData};throw Error("unsupported export format");};u.register("importKey","HMAC", +f.importKey);u.register("exportKey","HMAC",f.exportKey);u.register("generateKey","HMAC",f.generateKey);u.register("sign","HMAC",f.cS);u.register("verify","HMAC",f.BS)}var Db=function(){var h,p,A,Q,E,t,m,q,y,C;return{ug:function(M){function B(n,z){return[n[4*z],n[4*z+1],n[4*z+2],n[4*z+3]]}function v(n){for(var z=0;z=q;q+=2*m)B[q]=0;for(m=3;16384>=m;m+=2)0!==B[m]&& +v.push(m);p=v}q=p.length;A=Array(q);for(B=0;B>>=1,m--);v=q*la.Op+m}B=la.Wh(B);for(m=1;6>= +m;m++){q=!1;do var H=h(v);while(0<=la.Hf(H,y));F=[];B.Cj(H,M,F,!0);if(0!==la.Hf(F,[1])&&0!==la.Hf(F,y)){for(H=1;H>>24&255,E>>>16&255,E>>>8&255,E&255];m=A.Vd(h.concat(m));Q=Q.concat(m)}return Q.slice(0,p)},dT:function(h,p){if(h.length>(p.maxMessageSize||4294967295))throw Error("message too long"); +}},Zb=Zb||{};Zb.lP=function(h,p){var A=ba,Q=nb,E=h.n.length;if(null===p)throw Error("must supply hashFunction");return{mp:function(t,m){if(t.length>E-p.Xt/8*2-2)throw Error("Message too long.");null==m&&(m=[]);m=p.Vd(m);var q=A.vc(E-t.length-2*m.length-2);q=m.concat(q,[1],t);t=Q.ve(m.length);var y=Lc.jp(t,E-m.length-1,p);q=A.$e(q,y);m=Lc.jp(q,m.length,p);m=A.$e(t,m);return t=[0].concat(m,q).slice()},Dp:function(t,m){var q=m;m=0;var y=0===t[0];void 0===q&&(q=[]);q=p.Vd(q);var C=t.slice(1,q.length+ +1);t=t.slice(q.length+1);var M=Lc.jp(t,q.length,p);C=A.$e(C,M);C=Lc.jp(C,E-q.length-1,p);t=A.$e(t,C);C=t.slice(0,q.length);y=y&&A.zl(q,C);for(t=t.slice(q.length);!t[m++];);return{valid:y,data:t.slice(m)}}}};"undefined"!==typeof u&&(b.sign=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength,Q=h.algorithm.salt;return b(h.keyData,h.algorithm.name,p).bS(h.buffer,A,Q)},b.verify=function(h){var p=ea[h.keyHandle.algorithm.hash.name.toUpperCase()](),A=h.algorithm.saltLength; +return b(h.keyData,h.algorithm.name,p).CS(h.qD,h.buffer,A)},b.Gp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p=b(h.keyData,h.algorithm.name);h=p.encrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.encrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.Fp=function(h){switch(h.algorithm.name){case "RSAES-PKCS1-V1_5":var p= +b(h.keyData,h.algorithm.name);h=p.decrypt(h.buffer);break;case "RSA-OAEP":p=h.keyHandle.algorithm.hash.name;if(!p)throw Error("unsupported hash algorithm");p=ea[p.toUpperCase()]();p=b(h.keyData,h.algorithm.name,p);h=p.decrypt(h.buffer);break;default:throw Error("unsupported algorithm");}return h},b.importKey=function(h){if("jwk"===h.format){var p=Ia.Ol(h.keyData,h.algorithm,"n e d p q dp dq qi".split(" "));p.d&&(p.Dt=(new la.Wh(la.Ch(p.p))).wg,p.Et=(new la.Wh(la.Ch(p.q))).wg)}else if("spki"===h.format){var A= +Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[1];A=Aa.parse(A.data.slice(A.Ag+1),!0);if(null==A)throw Error("invalid key data.");p=A[0];A=A[1];if("INTEGER"!==p.type||"INTEGER"!==A.type)throw Error("invalid key data.");p=p.data.slice(p.Ag);A=A.data.slice(A.Ag);0===p[0]&&p[1]&128&&(p=p.slice(1));0===A[0]&&A[1]&128&&(A=A.slice(1));p={n:p,e:A}}else if("pkcs8"===h.format){A=Aa.parse(h.keyData);if(null==A)throw Error("invalid key data.");A=A[2];A=Aa.parse(A.data.slice(A.Ag),!0);if(null== +A)throw Error("invalid key data.");var Q="n e d p q dp dq qi".split(" ");p={};for(var E=1;EF.usages.indexOf("wrapKey")||F.algorithm.name.toUpperCase()!==H.name)Z(Error("InvalidAccessError"));else U(B,v).then(function(ma){console.log(Qa.ce(ma));return O(H,F,"jwk"===B?Qa.Nj(JSON.stringify(ma,null,0)):ma)}).then(function(ma){ia(ma)})["catch"](function(ma){Z(ma)})})},unwrapKey:function(B,v,F,H,O,U,ia){var Z=this.decrypt,ma=this.importKey;return new Promise(function(X,x){if(0>F.usages.indexOf("unwrapKey")|| +F.algorithm.name.toUpperCase()!==H.name)x(Error("InvalidAccessError"));else Z(H,F,v).then(function(n){return ma(B,"jwk"===B?JSON.parse(Qa.JA(n)):n,O,U,ia)}).then(function(n){X(n)})["catch"](function(n){x(n)})})}},xO:{Ep:y.Ep}}}();Eb=function(){var h=ba;return{wrapKey:function(p){var A=b(p.QO,p.cu.algorithm.name,ea["SHA-1"])(),Q=Ia.RO(p.keyHandle,p.keyData);p=h.ce(JSON.stringify({alg:p.cu.algorithm.name.toUpperCase(),enc:"A128GCM"}),!0);var E=nb.ve(32);A=A.encrypt(E);A=h.ce(A,!0);var t=nb.ve(12),m= +h.ce(t,!0),q=p.concat(".",A,".",m);E=d(Db.ug(E));E.ud(t,h.Nj(q),128);E=E.encrypt(Q);t=E.slice(-16);Q=h.ce(t,!0);E=h.ce(E.slice(0,E.length-t.length),!0);return h.Nj(JSON.stringify({Rl:[{Ag:p,kB:A,wO:Q}],bC:m,gN:E}))},unwrapKey:function(p){var A=h.El,Q=JSON.parse(String.fromCharCode.apply(null,p.buffer));h.El(Q.Rl[0].Ag);var E=A(Q.Rl[0].kB),t=A(Q.Rl[0].wO),m=A(Q.bC);A=A(Q.gN);var q=ea["SHA-1"]();E=b(p.keyData,p.keyHandle.algorithm.name,q).decrypt(E);Q=Q.Rl[0].Ag.concat(".",Q.Rl[0].kB,".",Q.bC);E=d(Db.ug(E)); +E.ud(m,h.Nj(Q),128);t=E.decrypt(A,t);t=Ia.Ol(t,p.algorithm,["k"]);return{type:"keyImport",keyData:t.k,keyHandle:{algorithm:{name:p.algorithm.name},extractable:p.extractable||t.extractable,usages:p.usages,type:"secret"}}}}}();"undefined"!==typeof u&&(u.register("wrapKey","AES-GCM",Eb.wrapKey),u.register("unwrapKey","AES-CBC",Eb.unwrapKey));Eb={subtle:Mc?Mc.yP:null,getRandomValues:function(h){var p,A=nb.ve(h.length);for(p=0;p>>=1;while(0!==a);return b}};var D;D=function(){}; +D.bk=function(){return D.fA};D.ZD=function(){return D.zH};D.ci=function(a){var b=new I(a.offsetX,a.offsetY);null!==a.currentTarget&&(b=J.$O(a.currentTarget,b));return b};D.Vx=function(a){var b=new I(a.offsetLeft,a.offsetTop);a.offsetParent&&(a=D.Vx(a.offsetParent),b.X+=a.X,b.Y+=a.Y);return b};D.jA=!1;D.hq=function(a){var b=this.UF(a);null!==b&&(a=D.Vx(a.target),b.X-=a.X,b.Y-=a.Y);return b}; +D.UF=function(a){return a.pageX&&a.target?new I(a.pageX,a.pageY):(D.jA||(D.jA=!0,N.error("Evaluation of Touch events not supported because the browser uses an unexpected interface")),null)};D.FJ=navigator.userAgent.match(/OS 6(_\d)+ like Mac OS X/i);D.sO=function(){return D.FJ};D.rE=function(){var a=void 0!==window.TouchEvent&&"ontouchstart"in window&&"ontouchend"in document;return void 0!==window.PointerEvent&&void 0!==navigator.maxTouchPoints&&0a.length?null:new Ja(parseFloat(a[2]),parseFloat(a[3]))};D.fM=function(a){var b=new XMLHttpRequest;b.open("GET",a.src,!1);b.send();return b.responseXML&&b.responseXML.documentElement?b.responseXML&&b.responseXML.documentElement:null}; +D.rG=function(a,b){var c=new XMLHttpRequest;c.open("GET",a.src);c.onreadystatechange=function(){4===c.readyState&&(200===c.status?c.responseXML&&c.responseXML.documentElement?b(c.responseXML.documentElement):b(null):b(null))};c.send()}; +D.pL=function(a){try{if(0<=a.src.toLowerCase().indexOf(".svg")){N.h("Derivation of SVG size for '"+a.src+"' failed. Parsing manually");var b=D.fM(a);if(null!==b){var c=D.uz(b.getAttribute("width"));var d=D.uz(b.getAttribute("height"));if(c&&d)return new Ja(c,d);var e=D.wz(b.getAttribute("viewBox"));if(null!==e)return e}}}catch(f){N.error("Exception during manual parsing of SVG size.")}return null}; +D.Dv=function(a){if(a.naturalWidth&&a.naturalHeight)return new Ja(a.naturalWidth,a.naturalHeight);if(a.width&&a.height)return new Ja(a.width,a.height);a=D.pL(a);return null!==a?a:new Ja(0,0)};D.lq=function(){return D.tL};D.EI="undefined"!==typeof InstallTrigger;D.QE=function(a,b,c){return!D.EI&&!c.WorkaroundForceSVGEmptySizeWorkaround||c.WorkaroundDisableSVGEmptySizeWorkaround?!1:J.wq(b)&&void 0!==a.naturalWidth&&0===a.naturalWidth&&void 0!==a.naturalHeight&&0===a.naturalHeight}; +D.bE=function(a,b,c){try{D.rG(a,function(d){if(null===d)c("DoZeroWidthHeightWorkaround: svg xml not available");else{var e=D.wz(d.getAttribute("viewBox"));null===e?c("DoZeroWidthHeightWorkaround: no view box available"):(d.setAttribute("width",e.L),d.setAttribute("height",e.aa),d=(new XMLSerializer).serializeToString(d),b("data:image/svg+xml;base64,"+btoa(d)))}})}catch(d){c(d.toString())}}; +D.Qb=function(){return"onpointerdown"in window&&"PointerEvent"in window&&!Ka.kE("CFG_WorkaroundDisablePointerEvents",!1)};D.Cv=function(){var a=Ka.lE("CFG_WorkaroundFileTransferTimeout");return null!==a?a:D.lq()?400:0};D.tL=-1!==navigator.userAgent.indexOf("Safari")&&0>navigator.userAgent.indexOf("Chrome");var Ma="undefined"===typeof ArrayBuffer||"undefined"===typeof Uint8Array||"undefined"===typeof Int8Array,Oa,Ra;Ma||(Oa=new ArrayBuffer(4),Ra=new Int8Array(Oa,1,2),Ma=2!==Ra.byteLength);D.fA=Ma; +D.zH=function(){if(D.fA)return!1;var a="undefined"!==typeof DataView,b;if(/opera [56789]|opera\/[56789]/i.test(navigator.userAgent)||/MSIE (\d+\.\d+);/.test(navigator.userAgent))return!1;try{if(a){var c=new ArrayBuffer(8);var d=new Int8Array(c);for(b=0;8>b;++b)d[b]=b;var e=new DataView(c);if(a="function"===typeof e.getFloat64&&"function"===typeof e.getFloat32&&"function"===typeof e.getInt32&&"function"===typeof e.getUint32&&"function"===typeof e.getInt16&&"function"===typeof e.getUint16&&"function"=== +typeof e.getInt8&&"function"===typeof e.getInt8)e.getFloat64(0),e.getFloat32(0),e.getInt32(0),e.getUint32(0),e.getInt16(0),e.getUint16(0),e.getInt8(0),e.getInt8(0)}}catch(f){return!1}return a}();D.xb=function(a,b){return void 0!==a.includes?a.includes(b):0<=a.indexOf(b)};D.CF=function(a,b){return void 0!==a.startsWith?a.startsWith(b):0===a.lastIndexOf(b,0)}; +D.Av=function(){try{var a=void 0!==navigator.languages?navigator.languages.length?navigator.languages[0]:navigator.language:navigator.language;var b=a.split("-");b.length&&(a=b[0]);return a}catch(c){return""}};D.Vh=function(){return window.WindowZoomFactor?1E-4<=Math.abs(parseFloat(window.WindowZoomFactor)-1):!1};D.Yj=function(a){var b=D.Up();b&&a.Yl(1/b);return a};D.Up=function(){return parseFloat(window.WindowZoomFactor)};var Configuration; +Configuration=function(){this.PlcAddress="0101";this.UseLocalHost=!0;this.CommBufferSize=5E4;this.ErrorReconnectTime=1E4;this.Application="Application";this.UpdateRate=200;this.BestFitForDialogs=this.BestFit=!1;this.StartVisu="Visualization";this.StartVisuDefaultEncodingBase64="";this.XhrSendTimeout=0;this.LoginVisuDefLang=this.LoginVisuNamespace=this.LoginVisuErrorTexts=this.LoginVisuTexts=this.LoginVisu="";this.PollingRegistrationInterval=100;this.TimeMeasurements="";this.LogLevel="INFO";this.MaxUnusedImageAge= +2E4;this.MaxUndrawnImageAge=1E4;this.NumCachedImages=15;this.ChangeWindowTitle=!0;this.TooltipFont="";this.DefaultKeyActions=!0;this.KeysForWebVisu="Backspace,Tab";this.ANSIStringEncoding="iso-8859-1";this.CommitEditcontrolOnClickOut=!0;this.HandleTouchEvents=!1;this.FuzzyTransparencyColorEvaluation=!0;this.TouchHandlingActive=this.Benchmarking=this.HasKeyboard=this.LoadImagesById=!1;this.ClientName="";this.ScaleTypeIsotropic=this.IecSupportsCommonMiterLimit=this.SemiTransparencyActive=!1;this.GesturesFlickPanThresholdPxPerSecond= +1E3;this.GesturesPanFlickTimeThresholdMs=40;this.GesturesPanClickThresholdDistSquare=10;this.PostDataInHeader=0;this.vq=this.AutoFontReductionActive=!1;this.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application.";this.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";this.ConnectionInfoValidTimeMsForLeaveAfterError=1E3;this.WorkaroundDisableMouseUpDownAfterActiveTouch=!0;this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch= +500;this.WorkaroundForceSVGEmptySizeWorkaround=this.WorkaroundDisableSVGEmptySizeWorkaround=this.WorkaroundDisableSVGAspectRatioWorkaround=this.WorkaroundDisableResizeHandling=!1;this.ContentSecurityPolicyIncludeTrustedOrigins=this.RuntimeVersion=this.CasFactoryName="";this.DefaultConfigurationOnError=!1;this.MaxResizePixel=30;this.FillBackground=!1;this.tq=5E3;this.UseBrowserLanguage=this.ContextMenuDisabled=this.TouchContextMenuEnabled=this.DebugHTML5=this.DebugOnlyInputReactionExplCoord=this.DebugOnlyInputReactionOnUp= +this.DebugOnlyDiagnosisDisplay=this.DebugOnlyPrintTouchRectangles=this.DebugOnlyPrintGestures=this.DebugOnlyPrintRawTouches=this.DebugOnlyPrintPaintCommands=!1}; +Configuration.prototype={validate:function(){if("string"!==typeof this.PlcAddress)throw Error("Plc address must be of type string");if("boolean"!==typeof this.UseLocalHost)throw Error("UseLocalHost must be of type boolean");if("number"!==typeof this.CommBufferSize)throw Error("CommBufferSize must be of type number");if("number"!==typeof this.ErrorReconnectTime)throw Error("ErrorReconnectTime must be of type number");if("string"!==typeof this.Application)throw Error("Application must be of type string"); +if("number"!==typeof this.UpdateRate)throw Error("UpdateRate must be of type number");if("number"!==typeof this.MaxResizePixel)throw Error("MaxResizePixel must be of type number");void 0!==this.LoginMaxResizePixel&&30===this.MaxResizePixel&&(this.MaxResizePixel=this.LoginMaxResizePixel);if("boolean"!==typeof this.BestFit)throw Error("BestFit must be of type boolean");if("boolean"!==typeof this.BestFitForDialogs)throw Error("BestFitForDialogs must be of type boolean");if("string"!==typeof this.StartVisu)throw Error("StartVisu must be of type string"); +if("string"!==typeof this.LoginVisu)throw Error("LoginVisu must be of type string");if("string"!==typeof this.LoginVisuTexts)throw Error("LoginVisuTexts must be of type string");if("string"!==typeof this.LoginVisuErrorTexts)throw Error("LoginVisuErrorTexts must be of type string");if("string"!==typeof this.LoginVisuNamespace)throw Error("LoginVisuNamespace must be of type string");if("string"!==typeof this.LoginVisuDefLang)throw Error("LoginVisuDefLang must be of type string");if("number"!==typeof this.PollingRegistrationInterval)throw Error("PollingRegistrationInterval must be of type number"); +if("string"!==typeof this.TimeMeasurements)throw Error("TimeMeasurements must be of type string");if("string"!==typeof this.TooltipFont)throw Error("TooltipFont must be of type string");if("boolean"!==typeof this.DefaultKeyActions)throw Error("DefaultKeyActions must be of type boolean");if("string"!==typeof this.ANSIStringEncoding)throw Error("ANSIStringEncoding must be of type string");if("boolean"!==typeof this.FuzzyTransparencyColorEvaluation)throw Error("FuzzyTransparencyColorEvaluation must be of type boolean"); +if("boolean"!==typeof this.LoadImagesById)throw Error("LoadImagesById must be of type boolean");if("boolean"!==typeof this.Benchmarking)throw Error("Benchmarking must be of type boolean");if("boolean"!==typeof this.TouchHandlingActive)throw Error("TouchHandlingActive must be of type boolean");if("boolean"!==typeof this.HasKeyboard)throw Error("HasKeyboard must be of type boolean");if("boolean"!==typeof this.SemiTransparencyActive)throw Error("SemiTransparencyActive must be of type boolean");if("boolean"!== +typeof this.ScaleTypeIsotropic)throw Error("ScaleTypeIsotropic must be of type boolean");if("number"!==typeof this.GesturesFlickPanThresholdPxPerSecond||0>this.GesturesFlickPanThresholdPxPerSecond)throw Error("GesturesFlickPanThresholdPxPerSecond must be of type nonnegative number");if("number"!==typeof this.GesturesPanFlickTimeThresholdMs||0>this.GesturesPanFlickTimeThresholdMs)throw Error("GesturesPanFlickTimeThresholdMs must be of type nonnegative number");if("number"!==typeof this.GesturesPanClickThresholdDistSquare|| +0>this.GesturesPanClickThresholdDistSquare)throw Error("GesturesPanClickThresholdDistSquare must be of type nonnegative number");if("number"!==typeof this.PostDataInHeader||0>this.PostDataInHeader||2this.WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch)throw Error("WorkaroundSetIgnoreTimeMsForMouseUpDownAfterActiveTouch must be of type nonnegative number");if("string"!==typeof this.CasFactoryName)throw Error("CasFactoryName must be of type string");if("string"!==typeof this.RuntimeVersion)throw Error("RuntimeVersion must be of type string");if("string"!==typeof this.ContentSecurityPolicyIncludeTrustedOrigins)throw Error("ContentSecurityPolicyIncludeTrustedOrigins must be of type string"); +if("number"!==typeof this.tq)throw Error("TouchSanityInterval must be of type number");if("boolean"!==typeof this.ContextMenuDisabled)throw Error("ContextMenuDisabled must be of type boolean");if("boolean"!==typeof this.TouchContextMenuEnabled)throw Error("TouchContextMenuEnabled must be of type boolean");this.yg()},PB:function(){try{return new Sa(this.TooltipFont)}catch(a){return this.TooltipFont=""}},yg:function(){return new na(this.ANSIStringEncoding)},td:function(){return new oa(this.ANSIStringEncoding)}}; +var Ta;Ta=function(a,b,c,d,e){this.CommBufferSize=a;this.Fa=b;this.cf=c;this.$p=d;this.Th=Ua.xa;this.la=Ua.m;this.eq="";this.yF=e;this.Lp=!1;this.Gc=""};Ta.prototype={IQ:function(a){this.Gc=a}};var Va;Va=function(){};Va.Pp="";Va.RE="";Va.Qp="2";Va.cv="3";Va.bF="4";Va.PF="5";Va.xF="6";var Wa;Wa=function(){};Wa.h="NOSP";Wa.xa="---";Wa.m=1E3;Wa.J=1100;var $a;$a=function(){};$a.ProgrammingSystemModeErrorText="Some sort of error occurred during the Visualisation.";$a.ProgrammingSystemModeWaitingText="The online visualization is waiting for a connection. Please start the application."; +$a.h=1;$a.Ya=$a.h;$a.Pb=$a.h+1;$a.J=$a.h+2;$a.m=$a.h+3;$a.xa=$a.h+4;$a.Uc=$a.h+5;var ab;ab=function(a,b,c,d,e,f,g,k,l){this.xr=a;this.jb=d%360;this.MG=e;this.NG=f;this.ur=g;(0===this.ur||2===this.ur)&&180=b&&0<=l&&1>=l},aJ:function(a,b){var c=[];c[0]=this.Vm(new I(a.u,a.v),b);c[1]=this.Vm(new I(a.V,a.v),b);c[2]=this.Vm(new I(a.V,a.ca),b);c[3]=this.Vm(new I(a.u,a.ca),b);for(a=b=0;4>a;++a)b= +Math.max(b,c[a]);return Math.sqrt(b)},Vm:function(a,b){return(a.X-b.X)*(a.X-b.X)+(a.Y-b.Y)*(a.Y-b.Y)}};var bb;bb=function(a){this.g=a;this.Er()}; +bb.prototype={Er:function(){var a=this;window.document.addEventListener("keydown",function(b){a.tK(b)},!1);window.document.addEventListener("keypress",function(b){a.uK(b)},!1);window.document.addEventListener("keyup",function(b){a.vK(b)},!1)},uK:function(a){if(a.repeat)a.preventDefault();else{var b=this.g.A;a=this.sn(a);null!==b&&null!==a&&this.g.rd(Fa.Ya(b.la,a))}},tK:function(a){if(a.repeat)a.preventDefault();else{var b=this.Yx(a),c=this.g.A;this.lz("onKeyDown",b)||(this.Jw(a),null!==c&&null!== +b&&void 0!==b.key&&this.g.rd(Fa.J(128,c.la,b.key,b.flags)))}},vK:function(a){var b=this.Yx(a),c=this.g.A;this.lz("onKeyUp",b)||(this.Jw(a),null!==c&&null!==b&&void 0!==b.key&&this.g.rd(Fa.J(256,c.la,b.key,b.flags)))},lz:function(a,b){return this.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess[a]&&window.ProgrammingSystemAccess[a](b.key,b.flags)?!0:!1},Yx:function(a){var b=a.keyCode,c=0;if(16<=b&&18>=b)return null;a.shiftKey&&(c|=1);a.altKey&&(c|=2);a.ctrlKey&&(c|=4);return{key:b, +flags:c}},sn:function(a){var b=0;a.charCode?b=a.charCode:a.which&&(b=a.which);if(0===b||void 0!==a.altKey&&!0===a.altKey&&48<=b&&57>=b)return null;if(void 0!==a.ctrlKey&&a.ctrlKey||void 0!==a.altKey&&a.altKey)if(void 0===a.ctrlKey||!a.ctrlKey||void 0===a.altKey||!a.altKey)return null;return String.fromCharCode(b)},VK:function(a){var b;if(void 0===this.g.getConfiguration().KeysForWebVisu||""===this.g.getConfiguration().KeysForWebVisu)return!1;var c=this.g.getConfiguration().KeysForWebVisu.split(","); +for(b=0;bb.L||c.aa>b.aa)&&this.Hq(c.scale(a))}catch(d){N.warn("Exception during resizing canvasses: "+d),this.Hq((new Ja(window.innerWidth,window.innerHeight)).scale(a))}},aR:function(a,b,c){c?(this.oi.FR(),this.Cs=this.Zz(a,"cdsClip_before_canvas",b)):(this.oi.ER(),this.Bs=this.Zz(a,"cdsClip_after_canvas",b))},Zz:function(a,b,c){a=J.xa(a.O(),b); +if(null===a)return null;a=this.Bk(a);a=new tb(a);a.LS=c;a.HR();return a},PC:function(){this.oi.aQ()},wx:function(a,b){this.Rq&&(this.g.OA(),this.Rq=!1);var c,d=this;if(this.g.Tb.Rp){for(c=0;ca?this.ll[a]:null},OM:function(a,b){this.ll[a]=b},WP:function(a){this.ll.length>a&&(this.ll[a]=null)},lt:function(){return 0=b&&(b=0);this.Ns(b)},RQ:function(a){this.bn=a},ML:function(a){this.cd=a},U:function(){return this.gb},error:function(a,b){if(!this.Yh){this.Oc||N.error(a);var c=null!==this.lb?this.lb.ErrorReconnectTime:1E4;N.info("Will restart in "+c+"ms");null!==this.A&&(this.an=new vc(this.A,this.lb));this.Es();this.lL();if(this.Oc){var d=this.Vp.ProgrammingSystemModeErrorText;window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.errorOccurred(d,a)}else d="An error happened; will automatically restart"; +if("The maximum number of visualization clients is already connected. Please try again later."===a||"Not enough memory in the PLC to create the client."===a)d=a;this.nl(d,b);this.I(new wc(this),c)}},XO:function(){this.Uu("The webvisualization license expired.","License Expired")},Uu:function(a,b){this.Yh||(N.warn(a+" Webvisualization is stopped"),this.nl(b),this.Es(),this.ML(new wc(this)))},QQ:function(a){this.Bb=a},Ns:function(a){var b=this;this.nb=window.setTimeout(function(){b.Kx()},a)},rd:function(a){null!== +this.Bb&&(this.Bb.push(a),null!==this.cd&&this.cd.qt()&&(clearTimeout(this.nb),this.Ns(0)))},pE:function(){return""!==this.getConfiguration().LoginVisu.toLowerCase()},wK:function(){if(!this.Oc){var a=this.A;null===a&&null!==this.an&&this.an.iS()&&(a=this.an.ri);null!==a&&a.la!==Ua.m&&a.Th!==Ua.xa&&(new lb(this,a)).mQ()}},lL:function(){var a=this.gb.Hl(),b;for(b=0;20>b;++b)a.restore()},WG:function(){Ka.Tj(this.sg,"ProgrammingSystemMode",!1)?(this.Oc=!0,Ka.Tj(this.sg,"ProgrammingSystemModeCefSharp", +!1)&&CefSharp.BindObjectAsync("ProgrammingSystemAccess")):this.Oc=!1},changeUpdateRate:function(a){null!==this.lb&&(aa?2*a:Math.floor(1.3*a)},lo:function(a,b){this.Dd[a]=b},OC:function(a){a>this.ma.byteLength&&this.Oz(a)},yo:function(a){this.cb>=this.ma.byteLength&&this.mL();var b=this.cb;this.cb++;this.lo(b,a)},Bo:function(a,b,c){var d=new Uint8Array(a);this.OC(this.size()+c);if(200>4)+65)+String.fromCharCode((b&15)+65)}Ha=function(){this.ma="";this.cb=0};Ha.prototype={lo:function(b,c){var d=null,e=null;0G)throw Error("Invalid start offset");if(0===u||G+u>g.byteLength)throw Error("Valid data range exceeded");this.ha=k;this.Sf=u;this.ma=g;this.s=G;this.Dd=new Uint8Array(this.ma);this.oe=l;this.M=new xc(this,this.ha)};Mb.D=function(g,k,l,G,u){return D.ZD()?new yc(g,k,l,G,u):D.bk()?new zc(g,k,l,G,u):new Mb(g,k,l,G,u)};Mb.prototype= +{xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(g){this.oe=new na(g)},ja:function(g,k){var l=g*(k?2:1);if(0>g||this.s+l>this.ma.byteLength)throw Error("INDEX_SIZE_ERR: DOM Exception 1");g=this.M.HC(this.ma,this.s,g,l,k,this.oe);this.s+=l;return g},Xe:function(g){return this.M.Xe(g)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(g){this.s=g},size:function(){return this.Sf},m:function(){return this.M.bB()}, +h:function(){return this.M.aB()},xa:function(){return this.M.dB()},Mf:function(){return this.M.Gt()},J:function(){return this.M.cB()},Uc:function(){return this.M.Ft()},Pb:function(){return this.M.eB()},Ya:function(){return this.M.Xd()},Nf:function(){return this.M.Yd()},Da:function(g){return this.Dd[g]},getUint8:function(){var g=this.Da(this.s);this.s++;return g},oj:function(){return this.ma}};var d={Int8:1,Int16:2,Int32:4,Uint16:2,Uint32:4,Float32:4,Float64:8},e;for(e in d)if(d.hasOwnProperty(e)){c(this, +e,d[e]);var f="_getFloat64";Mb.prototype[f]=Mb.prototype.m;f="_getFloat32";Mb.prototype[f]=Mb.prototype.h;f="_getInt64";Mb.prototype[f]=Mb.prototype.Ya;f="_getUint64";Mb.prototype[f]=Mb.prototype.Nf;f="_getInt32";Mb.prototype[f]=Mb.prototype.xa;f="_getUint32";Mb.prototype[f]=Mb.prototype.Mf;f="_getInt16";Mb.prototype[f]=Mb.prototype.J;f="_getUint16";Mb.prototype[f]=Mb.prototype.Uc;f="_getInt8";Mb.prototype[f]=Mb.prototype.Pb}})();var Nb;Nb=function(a){this.M=a}; +Nb.prototype={xj:function(){return this.M.xj()},Mj:function(){return this.M.Mj()},Lj:function(a){this.M.Lj(a)},ja:function(a,b){return this.M.ja(a,b)},Xe:function(a){return this.M.Xe(a)},qj:function(){return this.M.qj()},If:function(){return this.M.If()},ga:function(){return this.M.ga()},seek:function(a){this.M.seek(a)},size:function(){return this.M.size()},getFloat64:function(){this.Ad(8);return this.M.getFloat64()},getFloat32:function(){this.Ad(4);return this.M.getFloat32()},getInt32:function(){this.Ad(4); +return this.M.getInt32()},getUint32:function(){this.Ad(4);return this.M.getUint32()},getInt16:function(){this.Ad(2);return this.M.getInt16()},getUint16:function(){this.Ad(2);return this.M.getUint16()},Yd:function(){this.Ad(8);return this.M.Yd()},Xd:function(){this.Ad(8);return this.M.Xd()},getInt8:function(){return this.M.getInt8()},getUint8:function(){return this.M.getUint8()},Da:function(a){return this.M.Da(a)},oj:function(){return this.M.oj()},Ad:function(a){if(8===a||4===a||2===a){var b=this.M.ga(); +0!==b%a&&this.M.seek(b+a-b%a)}}};var yc; +yc=function(a,b,c,d,e){if(!(a instanceof ArrayBuffer))throw new TypeError("BinaryReader_DataView requires an ArrayBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.byteLength);if(!(c instanceof na))throw new TypeError("BinaryReader_DataView requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.byteLength)throw Error("Valid data range exceeded");this.ha=b;this.Pd= +new DataView(a,0,e+d);this.Sf=e;this.ma=a;this.s=d;this.oe=c;this.M=new xc(this,this.ha)}; +yc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");a=this.M.HC(this.ma,this.s,a,c,b,this.oe);this.s+=c;return a},Xe:function(a){return this.M.Xe(a)},qj:function(){return String.fromCharCode(this.getUint8())},If:function(){return this.s>=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf}, +getFloat64:function(){var a=this.Pd.getFloat64(this.s,this.ha);this.s+=8;return a},getFloat32:function(){var a=this.Pd.getFloat32(this.s,this.ha);this.s+=4;return a},Xd:function(){if("function"===typeof this.Pd.Xd){var a=this.Pd.Xd(this.s,this.ha);this.s+=8}else a=this.M.Xd();return a},Yd:function(){if("function"===typeof this.Pd.Yd){var a=this.Pd.Yd(this.s,this.ha);this.s+=8}else a=this.M.Yd();return a},getInt32:function(){var a=this.Pd.getInt32(this.s,this.ha);this.s+=4;return a},getUint32:function(){var a= +this.Pd.getUint32(this.s,this.ha);this.s+=4;return a},getInt16:function(){var a=this.Pd.getInt16(this.s,this.ha);this.s+=2;return a},getUint16:function(){var a=this.Pd.getUint16(this.s,this.ha);this.s+=2;return a},getInt8:function(){var a=this.Pd.getInt8(this.s);this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.Pd.getUint8(a)},oj:function(){return this.ma}};var zc; +zc=function(a,b,c,d,e){if("string"!==typeof a)throw new TypeError("BinaryReader_StringBased expects a string");if(void 0===b)throw Error("Byteorder must be explicitly assigned");void 0===c&&(c=(new Configuration).yg());void 0===d&&(d=0);void 0===e&&(e=a.length/2);if(!(c instanceof na))throw new TypeError("BinaryReader requires a WebVisuTextDecoder");if(0>d)throw Error("Invalid start offset");if(0===e||d+e>a.length/2)throw Error("Valid data range exceeded");this.ha=b;this.Sf=e;this.ma=a;this.s=d;this.oe= +c;this.M=new xc(this,b)}; +zc.prototype={xj:function(){return this.ha},Mj:function(){return this.oe},Lj:function(a){this.oe=new na(a)},ja:function(a,b){var c=a*(b?2:1);if(0>a||2*(this.s+c)>this.ma.length)throw Error("INDEX_SIZE_ERR: DOM Exception 1");var d=Array(a);if(b){if(this.ha)for(b=0;b=this.Sf},ga:function(){return this.s},seek:function(a){this.s=a},size:function(){return this.Sf},getFloat64:function(){var a=this.M.bB();this.s+=8;return a},getFloat32:function(){var a=this.M.aB();this.s+=4;return a},Xd:function(){return this.M.Xd()},Yd:function(){return this.M.Yd()},getInt32:function(){var a=this.M.dB();this.s+=4;return a},getUint32:function(){var a= +this.M.Gt();this.s+=4;return a},getInt16:function(){var a=this.M.cB();this.s+=2;return a},getUint16:function(){var a=this.M.Ft();this.s+=2;return a},getInt8:function(){var a=this.M.eB();this.s++;return a},getUint8:function(){var a=this.Da(this.s);this.s++;return a},Da:function(a){return this.ma.charCodeAt(2*a)-65<<4|this.ma.charCodeAt(2*a+1)-65},oj:function(){return this.ma}};var xc;xc=function(a,b){this.va=a;this.ha=b}; +xc.prototype={Xe:function(a){var b=this.va.ga(),c=0;if(a)for(;0!==this.va.getUint16();)c++;else for(;0!==this.va.getUint8();)c++;this.va.seek(b);b=this.va.ja(c,a);a?this.va.getUint16():this.va.getUint8();return b},bB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,8)),c=this.va.Da(this.Sb(a,1,8)),d=this.va.Da(this.Sb(a,2,8)),e=this.va.Da(this.Sb(a,3,8)),f=this.va.Da(this.Sb(a,4,8)),g=this.va.Da(this.Sb(a,5,8)),k=this.va.Da(this.Sb(a,6,8)),l=this.va.Da(this.Sb(a,7,8));a=1-2*(b>>7);b=((b<<1& +255)<<3|c>>4)-(Math.pow(2,10)-1);c=(c&15)*Math.pow(2,48)+d*Math.pow(2,40)+e*Math.pow(2,32)+f*Math.pow(2,24)+g*Math.pow(2,16)+k*Math.pow(2,8)+l;return 1024===b?0!==c?NaN:Infinity*a:-1023===b?a*c*Math.pow(2,-1074):a*(1+c*Math.pow(2,-52))*Math.pow(2,b)},aB:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4)),e=this.va.Da(this.Sb(a,3,4));a=1-2*(b>>7);b=(b<<1&255|c>>7)-127;c=(c&127)<<16|d<<8|e;return 128===b?0!==c?NaN:Infinity*a:-127===b? +a*c*Math.pow(2,-149):a*(1+c*Math.pow(2,-23))*Math.pow(2,b)},dB:function(){var a=this.Gt();return a>Math.pow(2,31)-1?a-Math.pow(2,32):a},Gt:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,4)),c=this.va.Da(this.Sb(a,1,4)),d=this.va.Da(this.Sb(a,2,4));a=this.va.Da(this.Sb(a,3,4));return b*Math.pow(2,24)+(c<<16)+(d<<8)+a},cB:function(){var a=this.Ft();return a>Math.pow(2,15)-1?a-Math.pow(2,16):a},Ft:function(){var a=this.va.ga(),b=this.va.Da(this.Sb(a,0,2));a=this.va.Da(this.Sb(a,1,2));return(b<< +8)+a},eB:function(){var a=this.va.Da(this.va.ga());return a>Math.pow(2,7)-1?a-Math.pow(2,8):a},HC:function(a,b,c,d,e,f){var g=null;if(e){if(this.ha&&0===b%2)try{g=new Int16Array(a,b,c)}catch(k){}if(null===g)if(g=new Int16Array(Array(c)),b=new Uint8Array(a,b,d),this.ha)for(a=0;a>>0)+1;d=~b;4294967296<=a&&(a-=4294967296,d+=1);return-1*(a+Math.pow(2,32)*d)},Sb:function(a,b,c){return a+(this.ha?c-b-1:b)}};var Ac; +Ac=function(a,b,c){if(!(a instanceof Ga))throw new TypeError("BinaryWriter expects a BinaryBuffer");if(void 0===b)throw Error("Byteorder must be explicitly assigned");this.bh=a;this.ha=b;this.gd=-1;this.Us=c};Ac.D=function(a,b,c){null===c|void 0===c&&(c=(new Configuration).td());return D.bk()?new Bc(a,b,c):new Ac(a,b,c)}; +Ac.prototype={dM:function(a){var b=a.length/2,c;if(1!==b&&2!==b&&4!==b)throw Error("Unexpected size for swapping");for(c=0;ca){var d=~(-a&4294967295|0)+1|0;b[0]=d;b[1]=~(-a/4294967296|0)+!d|0}this.Eq(c,8)},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d=a.data(),e=0;ea&&(b=c=~(-a&4294967295|0)+1|0,c=~(-a/4294967296|0)+!c|0);this.Bd(this.Je(b,32,!1));this.Bd(this.Je(c,32,!1))},Ao:function(a){this.Bd(this.Gx(a,23,8))},ot:function(a){this.Bd(this.Gx(a,52,11))},vg:function(a){this.ek(a,!1)},hc:function(a){this.ek(a,!0)},hb:function(a,b){return new Cc(a,b,this.Us)},ek:function(a,b){for(var c,d= +a.data(),e=0;e(g=0!==k?0:g),ja=Math.floor(g=Math.abs(g)),va=g-ja,Xa;for(a=G;a;u[--a]=0);for(a=d+2;ja&&a;u[--a]=ja%2,ja=Math.floor(ja/2));for(a=d+1;0=e&&l<=d?a+1:d+1-(l=e- +1)))+1]){if(!(Xa=u[g]))for(va=g+2;!Xa&&vaa-2?-1:a-3;++a=e&&l<=d?++a:l>=1);va=g=0;a=(c=(ka?"1":"0")+c+u.slice(a,a+b).join("")).length;for(b=[];a;va=(va+1)% +8)g+=(1<-c-1||ae||0>a)this.tA("encodeInt::overflow"),a=0;for(0>a&&(a+=e);a;a=Math.floor(a/256))d[d.length]=String.fromCharCode(a%256);for(b=-(-b>>3)-d.length;b;b--)d[d.length]=String.fromCharCode(0);return(this.ha?d:d.reverse()).join("")}, +tA:function(a){throw Error(a);}};var Dc;Dc=function(a,b,c){this.M=Mb.D(a,b,c,void 0,void 0)};Dc.prototype={uj:function(){var a=0,b=0;do{var c=this.M.getUint8();a|=(c&127)<>=7;this.jf.Ra(d&127);if(0!==d>>7)throw Error("Value "+a+" cannot be written as an MBUI with "+b+" bytes");},HB:function(a){var b=0;do a>>=7,b++;while(0b&&(this.to=b-a.L,this.re.style.left=this.to+"px");this.uo+a.aa>c&&(this.uo=c-a.aa,this.re.style.top=this.uo+"px")},vH:function(a,b,c,d){var e=document.createElement("div");e.id="cdsTooltip";e.style.msUserSelect= +"none";e.style.WebkitUserSelect="none";e.style.MozUserSelect="none";e.style.userSelect="none";e.style.position="absolute";e.style.left=a+"px";e.style.top=b+"px";this.to=a;this.uo=b;e.innerHTML=c;e.style.borderStyle="solid";e.style.font=d;e.style.color=this.ej.yv;e.style.borderColor=this.ej.dv;e.style.borderWidth=this.ej.Pj+"px";e.style.padding="2px 3px 2px 3px";e.style.backgroundColor=this.ej.wv;e.style.zIndex=Va.PF;return e}};var Xc; +Xc=function(a,b,c,d){this.T=null;this.eh=this.jb=this.Ah=this.zh=this.Rd=this.Qd=this.ra=this.na=this.qd=this.pd=0;this.Ii="solid";this.Hi="";this.mc=null;this.up=this.tp=1;this.Ma=new ib(0);this.bc=a;c?(this.Z=window.document.createElement("div"),this.Z.id="cdsClip",this.Z.style.overflow="hidden",this.Z.style.position="relative",this.bc.appendChild(this.Z)):this.Z=this.bc;this.fa=b;this.fg=null;this.ta="";this.Zq=Va.Pp;this.Ub=d}; +Xc.prototype={initialize:function(){},MA:function(){},pb:function(){this.T&&this.O().parentNode===this.T?this.T.removeChild(this.O()):N.warn("Error when removing a client object. This node doesn't have a parent:"+this.O().id)},update:function(a,b,c,d,e,f,g,k,l,G,u){this.pd=a;this.qd=b;this.na=c;this.ra=d;this.Qd=e;this.Rd=f;this.zh=g;this.Ah=k;this.jb=l;this.fa.bD(G);this.rM(a,b,c,d,e,f,g,k,l,u)},lx:function(){},mx:function(a){var b=window.document.createElement("div");b.style.overflow="hidden";b.style.position= +"absolute";b.style.margin="";b.style.padding="";b.id=a;b.style.left="0px";b.style.top="0px";b.style.width=this.na+"px";b.style.height=this.ra+"px";a=J.eP(a+"_canvas",this.na,this.ra);b.appendChild(a);return b},IR:function(a){a?this.LR():this.JR()},aS:function(a,b){this.tp=a;this.up=b},O:function(){return this.bc},rM:function(a,b,c,d,e,f,g,k,l,G){var u=this;e=void 0===this.vl;void 0!==this.vl&&this.vl!==this.fa.gC()?window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G)}):(this.vl=!this.fa.gC())?(null!== +this.fg&&(this.O().removeEventListener("transitionend",this.fg,!1),this.fg=null),e?(window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,100)}),window.WebvisuInst.wo(function(){u.Xi()})):(this.Xi(),window.WebvisuInst.wo(function(){u.wi(a,b,c,d,g,k,l,G,100)}))):(e||""===G?window.WebvisuInst.wo(function(){u.Xi()}):(this.fg=function(){u.Xi()},this.O().addEventListener("transitionend",this.fg,!1)),window.WebvisuInst.yl(function(){u.wi(a,b,c,d,g,k,l,G,0)}))},wi:function(a,b,c,d,e,f,g,k,l){c=this.O(); +d=this.Z;g=1/this.tp;var G=1/this.up;this.We()&&this.lx();c.style.left=a+"px";c.style.top=b+"px";c.style.width=this.ag()+"px";c.style.height=this.$f()+"px";d.style.width=this.ag()+"px";d.style.height=this.$f()+"px";0d&&(e=c[d].O().nextSibling);null===e||void 0===e?this.Z.append(a.O()):this.Z.insertBefore(a.O(),e)}else for(d in c){if(bb||0>c||b>this.na||c>this.ra)throw Error("Illegal argument!");"mousedown"===a?this.mc(d.rc(),0,db.J,[],void 0):"mousemove"===a?this.mc(d.rc(),0,db.m,[],void 0):"mouseup"===a&&this.mc(d.rc(),0,db.h,[],void 0)}; +r.YM=function(a,b){if(this.Gd instanceof $c)this.fc.Sc(this,Vc.RD(a,b));else{a=a.split(".");var c=this.Gd;if(null!==c){for(var d=0;dk&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.xc().X,b=this.Wa.Ud().Y,d>k&&g>k&&(b=this.Wa.xc().Y-d)):(a=this.Wa.Ud().X,b=this.Wa.Ud().Y,a>ja&&(a=this.Wa.xc().X-c),b>va&&(b=this.Wa.xc().Y-d),a=Math.min(Math.max(0,ja),Math.max(0,a)),b=Math.min(Math.max(0,va),Math.max(0,b)))),g=this.Wa.Gl().X-a,k=this.Wa.Gl().Y-b);Oc.prototype.update.call(this, +a,b,c,d,e,f,g,k,l,G,u);this.O().style.opacity=1;this.Aa&&(this.Aa.style.transition=u,this.it&&(this.Aa.style.backgroundColor=ka),this.Aa.style.opacity=1)}};r.Mq=function(a){return this.s.zA?this.Wa.xc().X:this.s.nt?this.Wa.Ud().X-a:this.Wa.xc().X+(this.Wa.Ud().X-this.Wa.xc().X)/2-a/2};r.ae=function(a){this.Aa&&a.appendChild(this.Aa);Oc.prototype.ae.call(this,a)}; +r.close=function(a){if(this.lA)this.lB(a);else{var b=this;this.ld(this.O(),"transitionend",function(){b.lB(a)})}this.Aa&&(this.Aa.style.opacity=0);this.O().style.transform="scale(0)";this.O().style.opacity=0};r.lB=function(a){this.Aa&&this.T===this.Aa.parentNode&&this.T.removeChild(this.Aa);a()}; +r.bL=function(){var a=this,b=D.Qb();this.ld(this.Aa,b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointermove":"mousemove",function(c){a.Fd(c)});this.ld(this.Aa,b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.ld(this.Aa,"touchstart",function(c){a.Fd(c)}),this.ld(this.Aa,"touchmove",function(c){a.Fd(c)}),this.ld(this.Aa,"touchend",function(c){a.Fd(c)}))}; +r.pM=function(){var a=this,b=D.Qb();this.Aa.removeEventListener(b?"pointerdown":"mousedown",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointermove":"mousemove",function(c){a.Fd(c)});this.Aa.removeEventListener(b?"pointerup":"mouseup",function(c){a.Fd(c)});!b&&window.ontouchstart&&(this.Aa.removeEventListener("touchstart",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchmove",function(c){a.Fd(c)}),this.Aa.removeEventListener("touchend",function(c){a.Fd(c)}))}; +r.Fd=function(a){this.Aa&&a.target===this.Aa&&a.stopPropagation()};r.Ej=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.lp=function(a){var b=J.sm(a);this.ms(a,b,!1)};r.ku=function(a){if(null!==a.touches&&1<=a.touches.length){var b=J.sm(a.touches[0]);this.ms(a,b,!0)}}; +r.ms=function(a,b,c){switch(a.type){case "mouseout":case "pointerout":this.Vk?(a.preventDefault(),this.Fw(a,b)):this.Pz();break;case "mousedown":case "pointerdown":case "touchstart":a.preventDefault();this.zK(b,c);var d=this;this.g.Bi.tt(a,d,function(e){d.Ej(e)},function(e){d.Ej(e)});break;case "mousemove":case "pointermove":case "touchmove":a.preventDefault();this.ls(a,b,c);break;case "mouseup":case "pointerup":case "touchend":a.preventDefault(),this.AK(a,c)}}; +r.zK=function(a,b){b||(this.Yq=this.Z.style.cursor,this.Z.style.cursor="move");this.yc=J.Za().getBoundingClientRect();this.yc.x=0;this.yc.y=0;this.xz=this.yc.x+2;this.Zn=this.yc.x+this.yc.width-2;this.yz=this.yc.y+2;this.Yn=this.yc.y+this.yc.height-2;b=new I(parseInt(this.O().offsetLeft,10),parseInt(this.O().offsetTop,10));this.Is(a);this.bs=new I(b.X-a.X,b.Y-a.Y);this.Vk=!0};r.ls=function(a,b,c){this.Vk?this.Fw(a,b):c||this.Pz()};r.AK=function(a,b){this.Vk&&(this.bz(b),this.Vz(a))}; +r.Fw=function(a,b){this.Is(b);b.X<=this.xz||b.X>=this.Zn||b.Y<=this.yz||b.Y>=this.Yn?(this.bz(this),this.Vz(a)):(a=b.X+this.bs.X,b=b.Y+this.bs.Y,a<=this.yc.x&&(a=this.yc.x),a+this.na>=this.Zn&&(a=this.Zn-this.na),b<=this.yc.y&&(b=this.yc.y),b+this.ra>=this.Yn&&(b=this.Yn-this.ra),this.O().style.top=b+"px",this.O().style.left=a+"px")};r.bz=function(a){a||(this.Z.style.cursor=""!==this.Yq?this.Yq:"default");this.Vk=!1}; +r.Vz=function(a){if(null!==this.g.A){var b=new I(parseInt(this.O().style.left,10),parseInt(this.O().style.top,10));a=this.rj(a).Ld;this.Is(a);a=this.Hx(a);this.mc(b.rc(),0,537,[],a)}};r.Pz=function(){"move"===this.Z.style.cursor&&(this.Z.style.cursor="default")};r.Is=function(a){D.Vh()&&D.Yj(a)};var Rc;Rc=function(a,b,c){this.Ga=a;this.Vf=b;(this.Li=null!==b)&&this.Vf.appendChild(this.Ga.canvas);this.qy=c}; +Rc.prototype={O:function(){return this.Li?this.Vf:this.Ga.canvas},eR:function(a,b){this.Ga.canvas.id="cdsCanvas"+a+"_Layer_"+b.toString();this.Li&&(this.Vf.id="cdsClip"+a+"_Layer_"+b.toString())},vS:function(a,b,c,d,e,f,g,k,l,G,u){g.Qc()?(this.Ga.x=a,this.Ga.y=b,this.Ga.canvas.style.left=a+"px",this.Ga.canvas.style.top=b+"px"):this.gG(g);this.Ga.width=c;this.Ga.height=d;this.Ga.kQ=e;this.Ga.lQ=f;this.Ga.canvas.style.width=-1===this.Ga.width?"100%":c+"px";this.Ga.canvas.style.height=-1===this.Ga.height? +"100%":d+"px";this.Li&&(this.Vf.fT=u,this.Vf.style.left=k+"px",this.Vf.style.top=l+"px",this.Vf.style.width=G+"px",this.Vf.style.height=u+"px")},gG:function(a){a.right()&&(this.Ga.canvas.style.right="0px");a.left()&&(this.Ga.canvas.style.left="0px");a.top()&&(this.Ga.canvas.style.top="0px");a.bottom()&&(this.Ga.canvas.style.bottom="0px")},zu:function(){this.Ga.x=0;this.Ga.y=0;this.Ga.width=-1;this.Ga.height=-1}};var Jc; +Jc=function(a){this.T=null;this.sa=[];this.$b={};this.Qa=-1;this.mc=null;this.Gf=-1;this.kh=a;this.gr=this.Wi=null;this.ps=!1;this.ng=new cd;this.Ma=new ib(0);this.$q=null}; +Jc.prototype={uA:function(a,b){32767===a?(b.O().id="cdsDemoMode",b.O().style.zIndex=Va.cv,b.ae(J.Za()),this.$q=b):-1===this.Qa?(b.zj()||b.SB()?(b.Fg(a),this.Du(b,1),b.Gu(!0),this.ps=!0):(b.ua instanceof Jc?null===this.Wi&&(this.Wi=a):this.ps&&!this.kh?this.Du(b,a+1):this.Du(b,a),b.Gu(this.kh),b.Fg(a)),b.Kg(this.ix(a)),this.Yz(a,b)):(b.Fg(this.Qa),this.Me(this.Qa).JM(a,b))},Du:function(a,b){if(this.Ma.cm()&&!a.Ma.Qc()){var c=this.LB(a.Ma);a.KR(this.T,c,b)}else a.ae(this.T,b)},su:function(){if(-1=== +this.Qa)this.vx(),this.Ma.cm()&&this.T&&this.ng.clear(this.T),this.ps=!1;else{var a=this.Me(this.Qa);void 0!==a&&a.QP()}},tu:function(){this.vx();this.Qa=-1},Dh:function(a){for(var b=0;bb.byteLength?!0:!1:!1}};var Ua;Ua=function(){};Ua.xa=43981;Ua.m=0;Ua.Pb=1;Ua.Uc=129;Ua.h=0;Ua.J=0; +Ua.Ya=1;var id;id=function(a,b,c){this.Ks=a;this.Ls=b;this.Wz=c;this.ne=0};id.read=function(a){var b=a.getUint16(),c;if(52565!==b)throw Error("Unsupported protocol: "+b);this.Dk=a.getUint16();if(12>this.Dk)throw Error("Unsupported length of header: "+this.Dk);this.Ks=a.getUint16();this.Ls=a.getUint16();this.Wz=a.getUint32();this.ne=a.getUint32();b=this.Dk-12;16<=this.Dk&&(a.getUint16(),b-=2);for(c=0;ca.length)return"Unexpected format of service: 2";5<=a.length&&(b="true"===a[4]);return new Ta(parseInt(a[0],10),0===parseInt(a[1],10),parseInt(a[2],10),"true"!==a[3],b)}catch(c){return"Exception during readOpenConnectionResult: "+c}},JP:function(){var a=this.iA(),b;for(b=0;bb?b:4294967290===b?"Visualization is not allowed":4294967292===b?"No more memory on the plc":4294967293===b?"Connection to invalid application":4294967289===b?"Too many clients are registering at the same time":"Unknown error"}return 65410===a?"no rights":65407===a?"Visu not supported by the plc":"Unknown tag ID"}return"Unexpected format of service: 4"}catch(c){return"Exception during readVisuRegisterClientResult: "+ +c}},KP:function(){try{for(this.Md(4,3);!this.P.If();){var a=this.sh.uj();this.sh.uj();if(65407===a)return"Visu not supported by the plc";var b=this.P.getUint32();return 0===b||1===b?b:2===b?"Client registration failed":3===b?"Client registration failed due to an invalid external id":4===b?"The maximum number of visualization clients is already connected. Please try again later.":5===b?"Not enough memory in the PLC to create the client.":"Unknown error"}return"Unexpected format of service: 5"}catch(c){return"Exception during readVisuIsRegisteredClientResult: "+ +c}},MP:function(){try{return this.Md(4,2),0}catch(a){return"Exception during readVisuRemoveClientResult: "+a}},qu:function(a){var b=0===a.direction?5:2,c=132;a.status.Yb===kd.J&&(b=Ua.Pb,c=Ua.Uc);try{var d=this.Md(8,b);b={};b[c]=function(e,f){e.Gb(f,{2:function(g){a.bi.uS=g.P.getUint32();a.bi.xe=g.P.getUint32()},3:function(g){a.Bp=g.P.getUint32()},8:function(g){a.status.result=g.P.getUint16()}})};b[34]=function(e){e.P.getUint32()};b[65410]=function(e,f){e.Gb(f,{32:function(g){a.status.result=g.P.getUint16()}})}; +this.Gb(d.ne,b)}catch(e){return"Exception during readtFileAndSessionInfoResult: "+e}},FC:function(a){var b=0===a.direction?7:4,c=0;try{var d=this.Md(8,b),e=0===a.direction?a.bi.xe:a.Uh.xe,f={};0===a.direction?(f[6]=function(g){c=g.P.getUint32()},f[7]=function(g,k){a.status.se=!0;f[5](g,k)},f[5]=function(g,k){null===a.buffer&&(a.buffer=Ga.D(e));if(a.status.wd+c<=e&&c<=k){for(k=0;k=e):a.status.result=g};this.Gb(d.ne,f)}catch(g){return"Exception during readtFileAndSessionInfoResult: "+g}},GP:function(a){var b=0===a.direction?a.bi.xe:a.Uh.xe;b=a.status.result===Ua.h&&a.status.wd===b&&a.status.se?8:9;try{var c=this.Md(8,b);this.Gb(c.ne,{7:function(d){d.P.getUint16();a.status.se=!0}})}catch(d){return"Exception during readFinishFileTransferResult: "+d}},Gj:function(a){try{var b= +this.Md(4,4),c=0,d=a;this.Gb(b.ne,{132:function(e,f){e.Gb(f,{2:function(g){g.P.getUint32();var k=g.P.getUint32(),l=g.P.getUint32();g=g.P.getUint32();d=new hb(k,l,g)},4:function(){d.finish()},1:function(g){c=g.P.getUint32()},3:function(g,k){d.Wd().Bo(g.P.oj(),g.P.ga(),Math.min(k,d.aP()))}})}});return 0!==c?65535===c?"Client id not present or no longer valid":c.toString():null===d?"Unexpected format of service: 6":d}catch(e){return"Exception during readVisuGetPaintDataResult: "+e}},RL:function(a){this.P.seek(this.P.ga()+ +a)},Md:function(a,b){var c=id.read(this.P),d=4+c.Dk+c.ne;if(this.P.size()=c.HB(b.size())?2:6;c.G(b.size(),e);this.Fm(d,b)},BN:function(b){var c=this.Pc(1,2);this.yw(b,1);this.Ic(c)},yw:function(b,c){this.ea.G(34);this.ea.G(4,3);this.F.K(b);this.ea.G(37);this.ea.G(4,3);this.F.K(c)},CN:function(b,c){var d=this.Pc(1,2);b= +this.wH(b,c);this.yw(2,2);this.ea.G(129);this.Fq(b,this.ea,this.F);this.Ic(d)},It:function(b,c,d,e){if(void 0===b||null===b)b="";void 0===c&&(c=null);void 0===d&&(d=0);void 0===e&&(e=Ua.J);var f=this.Pc(1,2),g=null,k=null,l=new oa("utf-8");this.ea.G(34);this.ea.G(4,3);this.F.K(e);0!==d&&(this.ea.G(35),this.ea.G(4,3),this.F.K(d));null!==c&&(k=l.encode(c));b=l.encode(b);b=this.VI(b);null!==k&&0!==d&&e===Ua.Ya&&(g=this.UI(k,d));this.ea.G(129);this.ea.G(b.size()+(null!==g?g.size():0),2);this.Fm(this.F, +b);null!==g&&this.Fm(this.F,g);this.Ic(f)},DN:function(){var b=this.Pc(1,3);this.F.K(0);this.Ic(b)},GS:function(b,c,d,e){var f=this.Pc(4,1);b=this.F.hb(b,!1);var g=b.length()+4+1,k=this.bg(g,4,0),l=0,G=0,u=524288,ka=this.F.hb(c,!1),ja=this.F.hb(d,!1);c&&0d-b.status.wd&&(f=d-b.status.wd);d=this.bg(f,4,0);this.ea.G(6);this.ea.G(4,3);this.F.K(f);b.status.Rh=f;this.ea.G(5);this.ea.G(4+f+d,3);this.F.K(b.Bp);for(e=0;el&&(l=32);0!==l%4&&(l+=4-l%4);for(c=0;cMath.abs(a-d)&&2>Math.abs(b-e)&&2>Math.abs(c-f)}:function(a,b,c,d,e,f){return a===d&&b===e&&c===f}},FI:function(){N.m("Workaround for image "+this.hh+" without width/height activated");var a=this;D.bE(this.Oe,function(b){a.Rs(!1,b)},function(b){N.warn("Retrieving workaround image failed so going on as formerly, reason: "+b);a.Lm(3)})}};var vb; +vb=function(){this.yf={};this.hf=null;this.tm=""}; +vb.prototype={Ih:function(a){a=a.toLowerCase().split(".");var b=[],c;for(c=0;cb.length)return null;a=b[b.length-1];if(1===b.length)return this.Zi(this.kn(a));c=b[b.length-2];if(2===b.length){var d=this.yI(c);if(null!==d)return this.Zi(this.jr(a,d));d=this.lr(c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Zi(this.kn(a))}b=b.slice(0,b.length-2).join(".");d=this.lr(b);if(null!==d&&(d=this.kr(c,d),null!==d))return this.Zi(this.jr(a,d)); +d=this.lr(b+"."+c);return null!==d?(c=this.jn(a,d),null===c&&(c=this.kn(a)),this.Zi(c)):this.Ih(c+"."+a)},uQ:function(a){this.hf=a},Zi:function(a){return null!==a?a.path:null},lr:function(a){var b=this.Px(a);null===b&&(b=this.zI(a));return b},Px:function(a){a=this.yf[a];return void 0!==a?a:null},zI:function(a){if(null!==this.hf){a=a.toLowerCase();var b,c=null;for(b=0;bc.length)){var d=this.mK(J.Sh(c[1]));var e=J.Sh(c[0]).toLowerCase();var f=J.Sh(c[2]).toLowerCase();var g=J.Sh(c[3]);c=this.yf[d];if(void 0===c){c={Fj:{}};var k=this.kx(e);k.entries[f]=this.Vq(f,g);c.Fj[e]=k;this.yf[d]=c}else k=c.Fj[e],void 0===k?(k=this.kx(e),k.entries[f]=this.Vq(f, +g),c.Fj[e]=k):k.entries[f]=this.Vq(f,g)}}},mK:function(a){return null===a||""===a?this.tm:a.toLowerCase()},kx:function(a){return{name:a,entries:{}}},Vq:function(a,b){return{id:a,path:b}}};var Fb;Fb=function(){};Fb.prototype={j:function(a){if(a.g.pa){var b=a.g.ba().wa();if(null!==b&&!(b instanceof Gc)&&(b=b.hd,null!==b&&void 0!==b)){b.xl();return}}a=a.g.qa;null!==a&&a.xl()}};var nd;nd=function(a,b){this.l=R.ye(b)};nd.prototype={j:function(a){a.vt();a.g.rb.Tl(this.l)}};var od; +od=function(a,b){this.l=R.ye(b)};od.prototype={j:function(a){a.getContext().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B());a.g.rb.Tl(this.l)}};var pd;pd=function(a,b){this.l=R.ye(b)};pd.prototype={j:function(a){a=a.getContext();a.save();a.beginPath();a.rect(this.l.u,this.l.v,this.l.C()+1,this.l.B()+1);a.clip()}};var qd;qd=function(){};qd.prototype={j:function(a){(a=a.g.so)&&a.QA()}};var rd; +rd=function(a,b,c,d){this.l=R.di(b,!1);this.ao=0!==b.getInt8();this._type=b.getInt8();switch(this._type){case 2:case 4:this.Xm=b.getUint32();this.Ym=b.getUint32();this.xi=b.getUint32();break;case 1:case 3:this.Yw=b.getInt16(),this.Xm=b.getUint32()}d.Zd()&&(this.l=d.gi(this.l))}; +rd.prototype={j:function(a){var b=a.getContext(),c=this.l.u,d=this.l.v,e=this.l.C(),f=this.l.B(),g=b.lineWidth;b.save();this.ko=a.g.getConfiguration().SemiTransparencyActive;a.getState().zg()?a.getState().Co(this.l):b.fillStyle=!0===this.ko?R.$a(this.Xm):R.ib(this.Xm);b.lineWidth=1;c+=.5;d+=.5;switch(this._type){case 2:case 4:this.KK(b,c,d,e,f);break;case 1:case 3:this.JK(b,c,d,e,f)}b.lineWidth=g;a.getState().zg()&&a.getState().Xl();b.restore()},uc:function(){return this.l},eO:function(){return!0=== +this.ko?R.$a(this.Ym):R.ib(this.Ym)},VN:function(){return!0===this.ko?R.$a(this.xi):R.ib(this.xi)},KK:function(a,b,c,d,e){if(!0===this.ko){var f=this.ao?R.$a(this.xi):"#000000";var g=R.$a(this.Ym);var k=R.$a(this.xi)}else f=this.ao?R.ib(this.xi):"#000000",g=R.ib(this.Ym),k=R.ib(this.xi);this.ao?(a.strokeStyle=f,a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e)):(a.fillRect(b,c,d,e),a.strokeStyle=g,a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c),a.moveTo(b,c),a.lineTo(b,c+e),a.stroke(),a.closePath(),a.strokeStyle= +f,a.beginPath(),a.moveTo(b,c+e),a.lineTo(b+d,c+e),a.lineTo(b+d,c),a.stroke(),a.closePath(),a.strokeStyle=k,a.beginPath(),a.moveTo(b+1,c+e-1),a.lineTo(b+d-2,c+e-1),a.moveTo(b+d-1,c+1),a.lineTo(b+d-1,c+e-1),a.stroke(),a.closePath())},JK:function(a,b,c,d,e){var f=new sd(this.Xm,this.Yw);if(this.ao)a.strokeStyle=R.ib(f.yB(0)),a.strokeRect(b,c,d,e),a.fillRect(b,c,d,e);else{a.strokeStyle="#000000";a.fillRect(b,c,d,e);a.strokeRect(b,c,d,e);var g;for(g=0;g=b.ga()-a+16&&(this.wk= +!0,this.en=b.getFloat32(),this.fn=b.getFloat32(),d.Zd()&&(this.en=d.jo,this.fn=d.bj));this.Ea=null}; +Cb.prototype={j:function(a){a=a.getContext();var b=R.PE(this.l),c=this.l.clone(),d=this;this.OL(a,c,b);null!==this.Ea&&(this.Ea.loaded()?this.rk(a,this.Ea.Vo(),function(){return d.Ea.Wo()},c,!1):this.XH(a,this.l));this.QL&&(c=R.aq(a),a.strokeRect(this.l.u+c,this.l.v+c,this.l.C(),this.l.B()));this.YG(a,b)},iR:function(a){this.sf=a},YB:function(a,b){var c;this.vh&&null!==(c=b.Ih(this.sf))&&a.UP(c);if(null===this.Ea){if(a.pC())return b="ImageByImagePoolId?id="+this.sf,this.Ea=this.fj?a.tj(b,this.vh, +this.rg):a.tj(b,this.vh),this.Ea.Cg();c=b.Ih(this.sf);if(null!==c)return this.Ea=this.fj?a.tj(c,this.vh,this.rg):a.tj(c,this.vh),this.Ea.Cg();-1===this.sf.indexOf("VisuUserManagement.__VisualizationStyle.")&&N.warn("Imagepoolentry for "+this.sf+" not found");return!0}return this.Ea.Cg()},qv:function(){var a=this,b=this.l.clone();null!==this.Ea&&(this.rk(null,this.Ea.Vo(),function(){return a.Ea.Wo()},b,!0),this.Ea.bQ());return this.Jz},rk:function(a,b,c,d,e){if(this.mn&&this.wk){var f=c();f=new Ja(Math.round(this.en* +f.L),Math.round(this.fn*f.aa));d=J.fq(d,f,this);this.mn=!1;this.Em=!0}if(this.Em)e||a.drawImage(b,d.u,d.v,d.C(),d.B());else if(this.Lr){f=c();d.C()/f.L=c||0>=d||(b.save(),this.lG(b),a.getState().zg()&&a.getState().Co(this.cJ(g)),b.beginPath(),b.arc(0,0,g,this.aA,this.aA+this.eM,!1),this.uI&&(b.lineTo(0,0),b.closePath(),e&&b.fill()),b.restore(),f&&b.stroke(),a.getState().zg()&&a.getState().Xl())},cJ:function(a){return new Bb(-a,-a,a,a)},lG:function(a){var b=this.l.C(),c=this.l.B();null!==this.l.yd?this.l.yd.Do(a, +this.l):a.translate(this.l.u+.5,this.l.v+.5);a.translate(b/2,c/2);b>c?a.scale(b/c,1):a.scale(1,c/b)}};var ud;ud=function(a,b){this.ia=R.Pv(b)};ud.prototype={j:function(a){a=a.getContext();var b;for(b=0;bthis.ia.length)){a.getState().zg()&&a.getState().Co(this.cM());d&&this.UK(b);switch(this._type){case 0:this.YH(b,c,d);break;case 1:d&&this.ZH(b);break;case 2:d&&this.TH(b)}a.getState().zg()&&a.getState().Xl()}},UK:function(a){a=R.aq(a);var b;if(0!==a)for(b=0;bb&&(b=this.ia[e].X),this.ia[e].Y>d&&(d=this.ia[e].Y);return new Bb(a,c,b,d)}};var wd;wd=function(a,b,c,d){this._type=b.getUint16();switch(a){case 1:this.l=R.di(b,!0);break;case 45:this.l=R.ye(b);break;case 60:this.l=R.jF(b);break;case 61:this.l=R.iF(b)}d.Zd()&&(this.l=d.gi(this.l));this.Ek=!1;this.xM=new xd(this._type,this.l)}; +wd.prototype={j:function(a){this.Ek||(this.xM.mj(a),a.g.rb.eN())},uc:function(){return this.l},Fu:function(a){this.Ek=a}};var yd;yd=function(a,b){this._type=b.getUint16();a=b.getUint16();var c=b.getUint16();this.cj=new Ja(a,c);a=b.getUint16();c=b.getUint16();this.Ps=new Ja(a,c);b=b.getUint32();this.uM=0!==(b&1);this.vM=0!==(b&2);this.et=0!==(b&4)}; +yd.prototype={j:function(a){var b=a.getState().ys;var c=new I(b.X+this.Ps.L,b.Y+this.Ps.aa);if(this.et){var d=a.getState().ts;var e=c.X;c.X=d.X+this.Ps.L;d=e-c.X}else d=this.cj.L;c=new Bb(c.X,c.Y,c.X+d,c.Y+this.cj.aa);(new xd(this._type,c)).mj(a);this.uM&&(b.X+=this.cj.L);this.vM&&(b.Y+=this.cj.aa)}};var xd;xd=function(a,b){this._type=a;this.l=b.gP()}; +xd.prototype={UH:function(a,b,c,d,e,f,g){a.beginPath();if("function"===typeof a.ellipse){var k=d/2;e/=2;a.ellipse(b+k,c+e,k,e,0,0,2*Math.PI)}else{k=d/2*.5522848;var l=e/2*.5522848,G=b+d,u=c+e;d=b+d/2;e=c+e/2;a.moveTo(b,e);a.bezierCurveTo(b,e-l,d-k,c,d,c);a.bezierCurveTo(d+k,c,G,e-l,G,e);a.bezierCurveTo(G,e+l,d+k,u,d,u);a.bezierCurveTo(d-k,u,b,e+l,b,e);a.closePath()}f&&a.fill();g&&a.stroke()},$H:function(a,b,c,d,e,f,g){f&&a.fillRect(b,c,d,e);g&&a.strokeRect(b,c,d,e)},WH:function(a,b,c,d,e){a.beginPath(); +a.moveTo(b,c+e);a.lineTo(b+d,c);a.stroke()},mj:function(a){this.wg=a.getContext();this.Hg=a;this.x=this.l.u;this.y=this.l.v;this.w=this.l.C();this.Ec=this.l.B();this.radiusX=a.getState().ky;this.radiusY=a.getState().ly;this.fill=!a.getState().Yt();this.stroke=!a.getState().Oi;this.CC=this.l.yd;0>this.w||0>this.Ec||(this.Hg.getState().zg()&&this.Hg.getState().Co(this.l),this.NH())},NH:function(){var a=this.wg,b=this.x,c=this.y,d=this.w,e=this.Ec,f=this.radiusX,g=this.radiusY,k=this.fill,l=this.stroke, +G=this.CC;null!==G&&(a.save(),this.l.yd.Do(a,this.l));if(this.stroke&&null===this.CC){var u=R.aq(a);b+=u;c+=u}switch(this._type){case 0:this.$H(a,b,c,d,e,k,l);break;case 1:R.cE(a,b,c,d,e,k,l,f,g);break;case 2:this.UH(a,b,c,d,e,k,l);break;case 3:l&&this.WH(a,b,c,d,e);break;case 4:l&&(a.beginPath(),a.moveTo(b,c),a.lineTo(b+d,c+e),a.stroke())}null!==G&&a.restore();this.Hg.getState().zg()&&this.Hg.getState().Xl()}};var Ad; +Ad=function(a,b,c,d){if(3===a||11===a)var e=R.Nv(b);else if(46===a||47===a)e=R.lF(b);c=b.getUint32();this.dc=this.rJ(c);this.Jb=this.zM(c);this.Bw=0!==(c&16);this.BG=0!==(c&32);this.dL=0!==(c&64);this.vL=0!==(c&1024);this.et=0!==(c&2048);this.po=0!==(c&256);this.ql=0!==(c&512);this.l=R.ov(e,0!==(c&128));d.Zd()&&(this.l=d.gi(this.l));d=b.getUint16();this.ka=b.ja(d,11===a||47===a);this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka;this.Ek=!1}; +Ad.prototype={j:function(a){if(!this.Ek){this.Hg=a;this.wg=a.getContext();this.state=a.getState();if(this.dL){var b=this.state.ys;if(this.et){b=this.state.ts;var c=b.X;b=b.Y}else c=b.X,b=b.Y;a.Zd()&&(c=a.wm(c),b=a.xm(b));this.l=new Bb(c,b,c+this.l.C(),b+this.l.B())}this.OH()}},Ob:function(a){this.ka=a;this.Ui=R.Yp(this.ka);this.Ws=R.Jv(this.ka);this.Ef=this.ka},uc:function(){return this.l},Qt:function(){switch(this.dc){case 1:return"LEFT";case 2:return"RIGHT";default:return"HCENTER"}},Vt:function(){switch(this.Jb){case 1:return"TOP"; +case 2:return"BOTTOM";default:return"VCENTER"}},Fu:function(a){this.Ek=a},OH:function(){var a=this.wg,b=this.state,c=this.Hg;a.save();null!==this.l.yd&&this.l.yd.Do(a,this.l);a.beginPath();a.rect(this.l.u-.5,this.l.v-.5,this.l.C()+1,this.l.B()+1);a.clip();a.fillStyle=b.hA;a.font=b.sj();var d=!1;var e=b.Gi;var f=a.font;!c.g.Yh&&(this.eG(a,c),!0===c.g.getConfiguration().AutoFontReductionActive&&this.ql||!1===c.g.getConfiguration().AutoFontReductionActive&&(this.po||this.ql))&&(d=this.iL(a,c));!1=== +d&&(this.Ui?this.As(a,c):this.Mz(a));if(this.BG){d=b.ys;var g=b.ts;d.X=this.l.u;d.Y=this.l.v;this.vL&&(g.X=d.X+1,g.Y=d.Y);d.X=this.l.u+this.hM(a)}c.g.Yh||!0!==c.g.getConfiguration().AutoFontReductionActive||!1!==this.ql||(b.cD(e),b.Lg(f));a.restore()},eG:function(a,b){var c=b.getState(),d,e;if(!0===b.g.getConfiguration().AutoFontReductionActive&&!this.ql){var f=a.font;var g=c.Gi;var k=this.l.C()+1;var l=this.l.B()+1;for(d=!0;(k>this.l.C()||l>this.l.B())&&1g&&(f=!0,d=this.BM(a,d,g,e),!1===c?(this.ka=d,this.As(a,b)):this.Ef=d);return f},BM:function(a,b,c,d){var e=!1,f="",g=!1,k=1;do{if(1===b.length)break;for(;this.Ys(a, +b.slice(0,k))g?(d=f,g=!1):(e=f,g=!0)}return!0===g?0"),this.dz?d.pP(u.u,u.v,this.ka,g.Sp):d.$M(this.ka,l,document.getElementById("background").width, +document.getElementById("background").height)):(c.save(),this.VH(c,f,u,g,G,e,k.lineHeight),this.dz&&(a=new Bb(0,0,0,0)),null!==a&&u.No(a)||this.EL(b.g,u),a=u,c.restore())},EL:function(b,c){var d=new Fa(513,b.A.la,0,0),e=Ga.D(8),f=Ac.D(e,!0);f.Dc(Math.floor(c.u));f.Dc(Math.floor(c.v));f.Dc(Math.ceil(c.V));f.Dc(Math.ceil(c.ca));d.Nb(e);b.Bb.push(d)},CG:function(b,c,d){var e=new Ja(0,0),f=b.font,g,k=0;b.font=c.Sp;for(g=0;g=b.C()?f=this.s.X-20-d.L-c.L:f=this.s.X+20,this.s.Y+20+c.aa>=b.B()?g=this.s.Y-20- +c.aa:g=this.s.Y+20;0>f&&(f=c.Lg&&(g=c.aa=b.ga()-d+10?(a=b.getUint16(),this.Xw=b.ja(a,!1)):this.Xw=""}; +Dd.prototype={j:function(){switch(this.cH){case 0:N.warn("The functionality start process is not possible in the webvisualization.");break;case 1:case 2:case 3:N.warn("The functionality printing is not possible in the webvisualization.");break;case 4:this.iK()}},iK:function(){"replace"===this.Xw?window.location.href=this.Ww:window.open(this.Ww)}};var Ed;Ed=function(a,b){this.pk=b.getUint8();this.pk=0===this.pk?2:3;this.gn=new Fd(b)}; +Ed.prototype={j:function(a){var b=new Gd(0,this.pk,this.gn.jh,null,this.gn);a.g.Kj(b)}};var Hd;Hd=function(a,b,c,d){a=d.g.i;c=0;this.Jc=b.getUint32();d=b.getUint16();this.gt=b.ja(d,!1);d=b.getUint32();null===a.buffer&&(a.buffer=Ga.D(d));for(;c=b.ga()-a+12&&(this.Qq=0===(b.getUint32()&1))}; +Kb.prototype={j:function(a){a.on.mt(this.l);this.Qq&&(a.xg().clearRect(this.l.u,this.l.v,this.l.C(),this.l.B()),J.UO(a,this.l));a.g.rb.Tl(this.l)}};var Nd; +Nd=function(a,b){var c;this.Bx=b.getUint32();this.fI=b.getUint32();a=b.getUint16();this.Zy=b.ja(a,!1);a=b.getUint32();var d=b.getUint16();this.Id=[];this.sz=!1;try{for(c=0;c=c&&c-8192>4&15]+a[d&15]};var c=function(d){return d&255};R=function(){};R.ii=50;R.pv=0;R.em=1;R.Qj=2;R.dm=3;R.ei=function(d){var e=d.getInt16();d=d.getInt16();return new I(e,d)};R.jq=function(d){var e=d.getFloat32();d=d.getFloat32();return new I(e,d)};R.sw=function(d,e){var f=[],g;for(g=0;4>g;++g)f[g]=e(d);return f};R.Nv=function(d){return R.sw(d,R.ei)};R.kF=function(d){return R.sw(d,R.jq)};R.lF=function(d){var e=[];e[0]=R.ei(d);e[2]= +R.ei(d);e[1]=new I(e[2].X,e[0].Y);e[3]=new I(e[0].X,e[2].Y);return e};R.eF=function(d){return d[1].Y!==d[0].Y||d[2].X!==d[1].X||d[3].Y>16)+b(d>>8)+b(d)};R.$a=function(d){var e=d>>24&255;if(255===e)return"#"+b(d>>16)+b(d>>8)+b(d);e/=255;return"rgba("+ +c(d>>16)+", "+c(d>>8)+", "+c(d)+", "+e+")"};R.aq=function(d){return 1===d.lineWidth%2?.5:0};R.Yp=function(d){return 0<=d.indexOf("\n")||0<=d.indexOf("\r")};R.Nh=function(d,e,f){return e>d.length-1?d:d.substr(0,e)+f+d.substr(e+1)};R.fF=function(d){var e,f;var g=d.length;var k=e=0;for(f=R.pv;ef&&0!==(g&256)){var G=1,u=0,ka=0,ja=0,va=-1;for(g=0;g=va?(u+=Xa," "===l&&(ja=u,va=g)):(++G,ka=Math.max(u,ja),u=u-ja+Xa))}ka=Math.max(u,ka);return new I(ka,G*J.Pb(d))}return new I(l, +J.Pb(d))};R.pq=function(d,e){e=R.zF(e);var f=[],g;for(g=0;gu||0>ka?ja=Math.max(1,Math.min(g,k)/8):ja=u;d.beginPath();d.moveTo(e+ja,f);d.lineTo(e+g-ja,f);d.quadraticCurveTo(e+g,f,e+g,f+ja);d.lineTo(e+g,f+k-ja+.5);d.quadraticCurveTo(e+g,f+k,e+g-ja,f+k);d.lineTo(e+ja+.5,f+k); +d.quadraticCurveTo(e,f+k,e,f+k-ja+.5);d.lineTo(e,f+ja);d.quadraticCurveTo(e,f,e+ja+.5,f);d.closePath();l&&d.fill();G&&d.stroke()}})();var jf;jf=function(a,b,c,d){a=b.getUint32();!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(a):this.kb=R.ib(a)};jf.prototype={j:function(){J.Za().style.backgroundColor=this.kb}};var Oe;Oe=function(a,b){this.cK=b.getUint16();this.dK=b.getUint16();a=b.getUint16();this.ka=b.ja(a,!1)}; +Oe.prototype={j:function(){var a=J.h("Message ID: {0} Message description: {1}",this.dK,this.ka);switch(this.cK){case 0:break;case 1:N.info(a);break;case 2:N.warn(a);break;case 4:case 8:N.error(a);break;case 16:N.m(a);break;default:N.h("Unknown log level")}}};var Ve;Ve=function(a,b){this.gK=1===b.getUint16()?"copy":"source-over"};Ve.prototype={j:function(a){a.getContext().globalCompositeOperation=this.gK}};var qe; +qe=function(a,b){this.gA=b.getUint16();this.tg=b.getUint32();this.Uv=8;this.gA===this.Uv&&this.tg&&b.Lj("utf-8")}; +qe.prototype={j:function(a){switch(this.gA){case 1:a=a.g.qg;null!==a&&a.VR(this.tg/100);break;case 2:a=a.g.qg;null!==a&&a.NQ(this.tg/100);break;case 3:a=a.g.qg;null!==a&&a.SR(!!this.tg);break;case 4:a.g.getConfiguration().AutoFontReductionActive=!0;break;case 6:mc.prototype.hS(0!==this.tg);break;case 7:a.g.getConfiguration().XhrSendTimeout=this.tg;break;case this.Uv:a.g.getConfiguration().vq=!!this.tg,this.tg&&(a.g.getConfiguration().ANSIStringEncoding="utf-8")}}};var $d; +$d=function(a,b){switch(b.getUint16()){case 0:this.kc="pointer";break;case 1:this.kc="default";break;case 2:this.kc="pointer";break;case 3:this.kc="wait";break;case 4:this.kc="text";break;case 5:this.kc="crosshair";break;case 6:this.kc="help";break;case 7:this.kc="col-resize";break;case 8:this.kc="row-resize";break;case 9:this.kc="nw-resize";break;case 10:this.kc="ne-resize";break;case 11:this.kc="w-resize";break;case 12:this.kc="s-resize";break;case 13:this.kc="pointer";break;default:this.kc="default"}}; +$d.prototype={j:function(a){a.g.pa?(a=a.g.ba().wa(),null!==a&&(a=a.Z,null!==a&&(a.style.cursor=this.kc))):a.Hl().canvas.style.cursor=this.kc}};var Td;Td=function(a,b,c,d){a=b.getUint32();b=b.getUint32();this.xr=1===(a&1);!0===d.g.getConfiguration().SemiTransparencyActive?this.kb=R.$a(b):this.kb=R.ib(b)};Td.prototype={j:function(a){a.getState().Eu(this.kb,this.xr)},Ro:function(){return this.kb}};var Vd;Vd=function(a,b,c,d){this.od=R.Ov(b,d)}; +Vd.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var cf;cf=function(a,b,c,d){this.od=R.oF(b,d)};cf.prototype={j:function(a){a.getState().oD(this.od.Font,this.od.Size,this.od.Color)},Fh:function(){return this.od.Name},Gh:function(){return this.od.Size},Eh:function(){return this.od.Color}};var ae; +ae=function(a,b,c,d){c=1===b.getUint32();var e=b.getUint32(),f=b.getUint32();if(30===a){var g=b.getUint32();var k=b.getUint32()/100;var l=b.getUint32()/100;var G=b.getUint32();var u=0===b.getUint32();b.getUint32();b=b.getUint32()}else g=b.getUint16(),k=b.getUint8()/100,l=b.getUint8()/100,G=b.getUint8(),u=!0,b=0;!0===d.g.getConfiguration().SemiTransparencyActive?(e=R.$a(e),f=R.$a(f),30===a&&(b=R.$a(b))):(e=R.ib(e),f=R.ib(f),30===a&&(b=R.ib(b)));this.iJ=new ab(c,e,f,g,k,l,G,u,b)};ae.prototype={j:function(a){a.getState().dR(this.iJ)}}; +var fe;fe=function(a,b,c,d){this.mb=b.getUint32();d.g.getConfiguration().SemiTransparencyActive=2===(this.mb&2);d.g.getConfiguration().IecSupportsCommonMiterLimit=8===(this.mb&8)};fe.prototype={j:function(a){a=a.g.qa;null!==a&&(a.g.N.dD(1===(this.mb&1)),a.xp(0!==(this.mb&4)))}};var Me; +Me=function(a,b,c){a=b.ga();var d=b.getUint16();var e=b.ja(d,!1);d=b.getUint16();d=b.ja(d,!1);""!==e&&(d=e+"."+d);this.sf=d;this.l=R.di(b,!0);this.l.normalize();e=b.getUint32();this.Lr=0!==(e&1);this.Em=0!==(e&2);this.mn=0!==(e&4);this.vr=0!==(e&128);this.Hs=0!==(e&256);this.ft=0!==(e&1024);this.Lq=0!==(e&2048);this.vh=0!==(e&4096);this.wk=!1;c>=b.ga()-a+16&&(this.wk=!0,this.en=b.getFloat32(),this.fn=b.getFloat32());this.Ea=null}; +Me.prototype={j:function(a){var b=a.g.ba().wa(),c=this;this.Hg=a;window.WebvisuInst.yl(function(){var d=c.sH(c.Hg);b.hR(d,c)})},uc:function(){return this.l.clone()},sH:function(a){var b=new Image;var c=a.cg.Ih(this.sf);null===c?b.src="#":b.src=c;c=b.src;this.vh&&(b.src+="?"+J.m());J.wq(c)&&(D.lq()?this.KM():a.g.getConfiguration().WorkaroundDisableSVGAspectRatioWorkaround||(b.src+="#svgView(preserveAspectRatio(none))"));b.style.position="absolute";b.style.msUserSelect="none";b.style.WebkitUserSelect= +"none";b.style.MozUserSelect="none";b.style.userSelect="none";return b},KM:function(){N.warn("Anisotropic scaling of Svg images in Safari is not supported because of known bugs in WebKit. The default (isotropic) scaling is used instead.")}};var he; +he=function(a,b,c,d){var e;a=b.getUint16();var f=[];for(c=0;c=b.ga()-e+11?(c=b.getUint16(),this.ff=k[0],0!==(c&0)&&(this.ff=k[0]),0!==(c&1)&&(this.ff=k[1]),0!==(c&2)&&(this.ff=k[2]),c=b.getUint16(),this.gf=l[0],0!==(c&0)&&(this.gf=l[0]),0!==(c&1)&&(this.gf=l[1]),0!==(c&2)&&(this.gf=l[2]),b=b.getUint16(),d.g.getConfiguration().IecSupportsCommonMiterLimit? +this.Of=b/2:this.Of=1===b?1.7*a:2*b):(this.ff=k[0],this.gf=l[0],d.g.getConfiguration().IecSupportsCommonMiterLimit?this.Of=1.5:this.Of=1.7*a)};Ud.prototype={j:function(a){a.getState().Hu(this.na,this.kb,this.wf,this.ff,this.gf,this.Of)},C:function(){return this.na},Ro:function(){return this.kb}};var ge; +ge=function(a,b,c){this.ya=[];var d=null;a=b.ga();for(var e,f;b.ga()-a>16,f=b.ga()+f,this.aL(b,d,e),b.seek(f))}; +ge.prototype={j:function(a){var b=a.g.qa;if(a.g.pa){var c=a.g.ba().wa();if(null!==c&&!(c instanceof Gc)){var d=c.hd;null!==d?d.Lu(this.ya):c.kR(a.g,Xb.QD(this.ya,a.g));b.uu(c);for(d=0;d {1}",J.Uc(b.info().scroll().Sa().Bc),J.Uc(b.info().scroll().Sa().Ac)));b.$(Uc.ow)&&N.m(J.h(" Zoomlimits: {0} -> {1}",b.info().zoom().Sa().Bc,b.info().zoom().Sa().Ac))}}};var Xd;Xd=function(a,b){this.uG=1===b.getUint16()};Xd.prototype={j:function(a){this.uG?a.NC():a.XP()}};var te;te=function(a,b){this.VB=b.getInt16();this.WB=b.getInt16()}; +te.prototype={j:function(a){a.getState().NR(this.VB,this.WB)}};var df;df=function(a,b){a=b.getUint16();this.Ke=b.ja(a,!1);this.zk=b.getUint32();this.Ak=b.getUint16();this.wG=b.getUint32();this.hk=b.getUint32();this.Fi=b.getUint32()};df.prototype={j:function(a){var b=a.g.so;a=new Qb(this.Ke,this.Ak,this.zk,this.hk,this.wG,this.Fi);null!==b&&b.YR(a)}};var ee;ee=function(a,b){a=b.getUint16();this.ka=b.ja(a,!1)}; +ee.prototype={j:function(a){a.g.getConfiguration().ChangeWindowTitle&&(window.document.title=this.ka);a.g.Oc&&window.ProgrammingSystemAccess&&window.ProgrammingSystemAccess.setVisualizationName(this.ka)}};var Wd;Wd=function(a,b){this.l=R.ye(b)};Wd.prototype={j:function(a){a.getContext().restore();a.getState().apply()}};var gf;gf=function(a,b){this.ec=b.getUint32()};gf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.yQ(this.ec))}};var hf;hf=function(a,b){this.uJ=b.getUint16()}; +hf.prototype={j:function(a){a.g.pa&&(a=a.g.ba().wa(),a instanceof Oc&&a.zQ(this.uJ))}};var Re;Re=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Re.prototype={j:function(a){var b=this.wn.length-1,c=a.g.ba();for(a=0;a<=b;++a)c.Lh()}};var xe;xe=function(a,b){this.ta=b.getInt16()};xe.prototype={j:function(a){a.g.ba().Lh()}};var ue; +ue=function(a,b){this.ta=b.getInt16();a=b.getUint32();this.pJ=0!==(a&1);this.GJ=0!==(a&2);this.nJ=0!==(a&4);this.oJ=0!==(a&16);this.lM=0!==(a&8);this.vG=0!==(a&32);this.aH=0===(a&64);this.ik=0===(a&128);this.$i=0!==(a&1024);this.Ma=new ib(a);this.En=this.Ma.cm()}; +ue.prototype={j:function(a){this.kL(a);var b=Xb.SD(a.g,this.nJ,this.oJ,this.pJ,this.GJ,this.lM,this.vG,this.aH);b.$Q(this.Ma);a.g.ba().uA(this.ta,b);b instanceof Oc&&(b.WC(this.ik),b.kD(this.$i));b.initialize()},kL:function(a){this.Ma.Qc()||a.PC()}};var Ce;Ce=function(a,b){this.zc=b.getInt16()};Ce.prototype={j:function(a){a.g.ba().wa().KN()}};var ze;ze=function(a,b,c){this.zc=b.getInt16();this.Li=2=b.ga()-a+9?(this.Tw=b.getInt16(),this.Uw=b.getInt16(),this.Sw=b.getInt16(),this.Rw=b.getInt16()):(this.Uw=this.Tw=0,this.Rw=this.Sw=-1)};Ae.prototype={j:function(a){a.g.ba().wa().yS(this.pd,this.qd,this.na,this.ra,this.zL,this.AL,this.iG,this.Tw,this.Uw,this.Sw,this.Rw)}};var Se;Se=function(a,b){this.si=b.getInt16()}; +Se.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).SQ(this.si)}};var Ne;Ne=function(a,b){this.Gf=b.getUint8()};Ne.prototype={j:function(a){var b=a.g.ba().wa();(null!==b?b.ba():a.g.ba()).Ou(this.Gf)}};var Te;Te=function(a,b){this.wL=b.getFloat32();this.xL=b.getFloat32()};Te.prototype={j:function(a){a.g.ba().wa().aS(this.wL,this.xL)}};var Ee; +Ee=function(a,b){this.eh=b.getInt16();a=b.getInt16();switch(a){case 0:case 5:this.Ii="solid";break;case 1:this.Ii="dashed";break;case 2:case 3:case 4:this.Ii="dotted"}this.IJ=5===a;this.Hi=b.getUint32()};Ee.prototype={j:function(a){var b=this.IJ?R.$a(this.Hi&16777215):!0===a.g.getConfiguration().SemiTransparencyActive?R.$a(this.Hi):R.ib(this.Hi);a.g.ba().wa().ZQ(this.eh,this.Ii,b)}};var De; +De=function(a,b){this.Tk=b.getInt32();this.Uk=b.getInt32();this.Qk=b.getInt32();this.Rk=b.getInt32();this.lf=b.getInt32();this.mf=b.getInt32()};De.prototype={j:function(a){a.g.ba().wa().Mu(this.Tk,this.Uk,this.Qk,this.Rk,this.lf,this.mf)}};var ye;ye=function(){};ye.prototype={j:function(a){a.g.ba().su();var b=a.getContext(),c=a.g.ba().wa();b.save();b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,b.canvas.width,b.canvas.height);b.restore();null!==c&&c.MA();a.g.rb.Tl(this.l)}};var Qe; +Qe=function(a,b){a=b.getInt16();this.wn=J.XB(b,a)};Qe.prototype={j:function(a){var b,c=this.wn.length-1;for(b=0;b<=c;b++)a.g.ba().Ql(this.wn[b])}};var we;we=function(a,b){this.ta=b.getInt16()};we.prototype={j:function(a){a.g.ba().Ql(this.ta)}};var ve;ve=function(a,b){this.pd=b.getInt16();this.qd=b.getInt16();this.na=b.getInt16();this.ra=b.getInt16();this.Qd=b.getInt16();this.Rd=b.getInt16();this.zh=b.getInt16();this.Ah=b.getInt16();this.jb=b.getInt16();this.nd=b.getInt16();this.Te=b.getUint32()}; +ve.prototype={j:function(a){this.nd||(this.nd=0);var b=a.g.ba().wa(),c="",d=this;0b?this.nc.push(a):this.nc[b]=a},Ev:function(a){a=this.tn(a);return 0>a?null:this.nc[a]},tF:function(){this.Gn=-1},tn:function(a){for(var b=0;b=d.LowerBorder&&b<=d.UpperBorder?!0:!1:this.By(b,a)?!0:this.SJ(b,a)?!0:!1}}catch(f){return!1}},Mw:function(a,b){return null===a||void 0===a||a.length>b-1?!1:!0},By:function(a,b){switch(b){case Af.EF:case Af.DF:return this.AO(a); +case Af.FF:case Af.NF:return this.OO(a);case Af.OF:case Af.MF:return this.MO(a);case Af.HF:case Af.LF:case Af.ew:case Af.Vv:case Af.Wv:case Af.fw:return this.LO(a);case Af.dw:case Af.gw:case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.NO(a);case Af.KF:return this.JO(a);case Af.JF:return this.CO(a);case Af.GF:return this.BO(a);case Af.$v:return this.EO(a);case Af.sq:return this.HO(a);case Af.aw:return this.FO(a);default:return!1}},SJ:function(a,b){return(b=this.$s.we(b))&&b instanceof Ff?this.By(a, +b.sd()):!1},AO:function(a){return 0===a||1===a},OO:function(a){return a>=Bf.ME&&a<=Bf.LE},MO:function(a){return a>=Bf.IE&&a<=Bf.HE},LO:function(a){return a>=Bf.GE&&a<=Bf.FE},NO:function(a){var b=BigInt(Cf.KE),c=BigInt(Cf.JE);var d=a;"bigint"!==typeof a&&(d=BigInt(a));return d>=b&&d<=c},JO:function(a){return a>=Bf.EE&&a<=Bf.DE},CO:function(a){return a>=Bf.wE&&a<=Bf.vE},BO:function(a){return a>=Bf.uE&&a<=Bf.tE},EO:function(a){var b=BigInt(Cf.yE),c=BigInt(Cf.xE);var d=a;"bigint"!==typeof a&&(d=BigInt(a)); +return d>=b&&d<=c},HO:function(a){return a>=Bf.CE&&a<=Bf.BE},FO:function(a){return a>=Bf.AE&&a<=Bf.zE},yA:function(a,b){switch(a){case Af.ew:case Af.fw:return Number(b.valueOf());case Af.Vv:case Af.Wv:return this.QM(b.valueOf());case Af.bw:case Af.Yv:case Af.Zv:case Af.cw:return this.RM(BigInt(b.valueOf()))}return b},QM:function(a){return Math.floor(Number(a)/1E3)},RM:function(a){return BigInt(a)*BigInt(1E6)}}; +Af={EF:0,DF:1,FF:2,OF:3,HF:4,dw:5,KF:6,JF:7,GF:8,$v:9,NF:10,MF:11,LF:12,gw:13,sq:14,aw:15,ji:16,Qg:17,ew:18,Vv:19,Wv:20,fw:21,bw:37,Yv:46,Zv:47,cw:48};Bf={ME:0,LE:255,IE:0,HE:65535,GE:0,FE:4294967295,EE:-128,DE:127,wE:-32768,vE:32767,uE:-2147483648,tE:2147483647,CE:-3.402823466E38,BE:3.402823466E38,AE:-1.7976931348623157E308,zE:1.7976931348623157E308};Cf={KE:"0",JE:"0xffffffffffffffff",yE:"-9223372036854775808",xE:"9223372036854775807"};var $c; +$c=function(a,b,c,d,e){this.Ci=a;this.Fn=b;this.Xq=c;this.bG=d;this.Um=e;void 0===this.Um&&(this.Um=!1);this.Um||this.Fn.push("webvisu-support.js")}; +$c.prototype={Ct:function(a,b,c,d,e){b='